ZGlmZiAtLWdpdCBhL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvYWNjZGV0X2h3LmggYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL2FjY2RldF9ody5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBjYmRjYzgKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL2FjY2RldF9ody5oCkBAIC0wLDAgKzEsMTA1IEBACisjaWYgMAorLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworI2lmbmRlZiBBQ0NERVRfSFdfSAorLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworI2VuZGlmIC8vQUNDREVUX0hXX0gKKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9hY2NkZXRfc3cuaCBiL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvYWNjZGV0X3N3LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjZhOWEyNgotLS0gL2Rldi9udWxsCisrKyBiL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvYWNjZGV0X3N3LmgKQEAgLTAsMCArMSwxNTggQEAKKyNpZiAwCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisjaWZuZGVmIEFDQ0RFVF9TV19ICisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisjaWYgZGVmaW5lZChfX0RSVl9DT01NX1JFR19EQkdfXykgJiYgZGVmaW5lZChfX0RSVl9BQ0NERVRfUkVHX0RCR19fKQorLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworI2Vsc2UKKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKyNlbmRpZiAvLyNpZiBkZWZpbmVkKF9fRFJWX0NPTU1fUkVHX0RCR19fKSAmJiBkZWZpbmVkKF9fRFJWX0FDQ0RFVF9SRUdfREJHX18pCisjZW5kaWYvLyNkZWZpbmUgQUNDREVUX1NXX0gKKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKyNlbmRpZi8vI2RlZmluZSBBQ0NERVRfU1dfSApkaWZmIC0tZ2l0IGEvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9hZGNfaHcuaCBiL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvYWRjX2h3LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWE4MWI2NAotLS0gL2Rldi9udWxsCisrKyBiL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvYWRjX2h3LmgKQEAgLTAsMCArMSw0MjAgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAwNQorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLiAKKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGaWxlbmFtZToKKyAqIC0tLS0tLS0tLQorICogICAgYWRjX2h3LmgKKyAqCisgKiBQcm9qZWN0OgorICogLS0tLS0tLS0KKyAqICAgTWF1aV9Tb2Z0d2FyZQorICoKKyAqIERlc2NyaXB0aW9uOgorICogLS0tLS0tLS0tLS0tCisgKiAgIFRoaXMgZmlsZSBpcyBpbnRlbmRzIGZvciBhZGMgZHJpdmVyLgorICoKKyAqIEF1dGhvcjoKKyAqIC0tLS0tLS0KKyAqIC0tLS0tLS0KKyAqCisgKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqICAgICAgICAgICAgIEhJU1RPUlkKKyAqIEJlbG93IHRoaXMgbGluZSwgdGhpcyBwYXJ0IGlzIGNvbnRyb2xsZWQgYnkgUFZDUyBWTS4gRE8gTk9UIE1PRElGWSEhCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogVXBwZXIgdGhpcyBsaW5lLCB0aGlzIHBhcnQgaXMgY29udHJvbGxlZCBieSBQVkNTIFZNLiBETyBOT1QgTU9ESUZZISEKKyAqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIF9BRENfSFdfSAorI2RlZmluZSBfQURDX0hXX0ggCisjaW5jbHVkZSAiZHJ2X2ZlYXR1cmVzX2FkYy5oIgorI2luY2x1ZGUgImRydnBkbi5oIgorCisjaWYgZGVmaW5lZChEUlZfQURDXzYyMzZfU0VSSUVTKQorLyoKK01UNjIzNiBCQVNFPTB4ODAxY18wMDAwCitDaGVjayBiaXQgb2YgQURDICgxYikgICAgICooQkFTRSsweDAwMjApWzEzXT1bMzMzXQorQURDX0IgKDZiKSAgICAgICAgICAgICAqKEJBU0UrMHgwMDIwKVsxMjo3XT1bMzMyOjMyN10KK0FEQ19BICg3YikgICAgICAgICAgICAgKihCQVNFKzB4MDAyMClbNjowXT1bMzI2OjMyMF0KKyovCisjZGVmaW5lIEVGVVNFX0FEQ19CQVNFIDB4ODAxYzAwMjAKKyNkZWZpbmUgRUZVU0VfQURDX0EgMHg4MDFjMDAyMAorI2RlZmluZSBFRlVTRV9BRENfQiAweDgwMWMwMDIwCisjZGVmaW5lIEVGVVNFX0FEQ19FTkFCTEUgMHgyMDAwCisjZGVmaW5lIEVGVVNFX0FEQ19BX01BU0sgMHg3RgorI2RlZmluZSBFRlVTRV9BRENfQl9NQVNLIDB4MUY4MAorI2RlZmluZSBFRlVTRV9BRENfQV9TSElGVCAwCisjZGVmaW5lIEVGVVNFX0FEQ19CX1NISUZUIDcKKworI2VsaWYgZGVmaW5lZChEUlZfQURDXzYyNTJfU0VSSUVTKQorLyoKK01UNjI1MiBCQVNFPTB4ODAwMF8wMDAwCitDaGVjayBiaXQgb2YgQURDICgxYiksICooQkFTRSsweDAwMjApWzEzXT1bMzMzXQorQURDX0IgKDZiKSwgKihCQVNFKzB4MDAyMClbMTI6N109WzMzMjozMjddCitBRENfQSAoN2IpLCAqKEJBU0UrMHgwMDIwKVs2OjBdPVszMjY6MzIwXQorKi8KKyNkZWZpbmUgRUZVU0VfQURDX0JBU0UgMHg4MDAwMDAyMAorI2RlZmluZSBFRlVTRV9BRENfQSAweDgwMDAwMDIwCisjZGVmaW5lIEVGVVNFX0FEQ19CIDB4ODAwMDAwMjAKKyNkZWZpbmUgRUZVU0VfQURDX0VOQUJMRSAweDIwMDAKKyNkZWZpbmUgRUZVU0VfQURDX0FfTUFTSyAweDdGCisjZGVmaW5lIEVGVVNFX0FEQ19CX01BU0sgMHgxRjgwCisjZGVmaW5lIEVGVVNFX0FEQ19BX1NISUZUIDAKKyNkZWZpbmUgRUZVU0VfQURDX0JfU0hJRlQgNworCisjZWxpZiBkZWZpbmVkKERSVl9BRENfNjI1MV9TRVJJRVMpCisKKyNkZWZpbmUgRUZVU0VfQURDX0JBU0UgMHg4MDAwMDEwMAorI2RlZmluZSBFRlVTRV9BRENfQSAweDgwMDAwMTAwCisjZGVmaW5lIEVGVVNFX0FEQ19CIDB4ODAwMDAxMDAKKyNkZWZpbmUgRUZVU0VfQURDX0VOQUJMRSAweDAwMDIKKyNkZWZpbmUgRUZVU0VfQURDX0FfTUFTSyAweDdGQzAwCisjZGVmaW5lIEVGVVNFX0FEQ19CX01BU0sgMHgzRkMKKyNkZWZpbmUgRUZVU0VfQURDX0FfU0hJRlQgMTAKKyNkZWZpbmUgRUZVU0VfQURDX0JfU0hJRlQgMgorCisjZWxpZiBkZWZpbmVkKERSVl9BRENfNjI1Nl9TRVJJRVMpCisKKyNkZWZpbmUgRUZVU0VfQURDX0JBU0UgMHg4MDAwMDEwMAorI2RlZmluZSBFRlVTRV9BRENfQSAweDgwMDAwMTAwCisjZGVmaW5lIEVGVVNFX0FEQ19CIDB4ODAwMDAxMDAKKyNkZWZpbmUgRUZVU0VfQURDX0VOQUJMRSAweDAwMDIKKyNkZWZpbmUgRUZVU0VfQURDX0FfTUFTSyAweDdGQzAwCisjZGVmaW5lIEVGVVNFX0FEQ19CX01BU0sgMHgzRkMKKyNkZWZpbmUgRUZVU0VfQURDX0FfU0hJRlQgMTAKKyNkZWZpbmUgRUZVU0VfQURDX0JfU0hJRlQgIDIKKworI2VsaWYgZGVmaW5lZChEUlZfQURDXzY1NzVfU0VSSUVTKQorCisjZGVmaW5lIEVGVVNFX0FEQ19CQVNFIDB4QzEwMTkwNDAKKyNkZWZpbmUgRUZVU0VfQURDX0VOQUJMRSAweDAKKyNkZWZpbmUgRUZVU0VfT19WQkcgMHhDMTAxOTA0MAorI2RlZmluZSBFRlVTRV9PX1ZCR19NQVNLCTB4MUZGMDAKKyNkZWZpbmUgRUZVU0VfT19WQkdfU0hJRlQJMHg4CisjZGVmaW5lIEVGVVNFX0FEQ19PRSAgICAweEMxMDE5MDQ0CisjZGVmaW5lIEVGVVNFX0FEQ19PRV9NQVNLCTB4RkYKKyNkZWZpbmUgRUZVU0VfQURDX09FX1NISUZUICAwCisjZGVmaW5lIEVGVVNFX0FEQ19HRSAgICAweEMxMDE5MDQ4CisjZGVmaW5lIEVGVVNFX0FEQ19HRV9NQVNLICAgIDB4RkYKKyNkZWZpbmUgRUZVU0VfQURDX0dFX1NISUZUICAgMAorCisjZGVmaW5lIFRTX0NPTjEgICAgIDB4QzAwMDc4MDQKKyNkZWZpbmUgVFNfQ09OMiAgICAgMHhDMDAwNzgwOAorCisjZWxpZiBkZWZpbmVkKERSVl9BRENfNjI1MF9TRVJJRVMpCS8vIDEwIGJpdHMgQURDCisKKyNkZWZpbmUgRUZVU0VfQURDX0JBU0UgMHhBMDFDMDIwMAorI2RlZmluZSBFRlVTRV9BRENfQSAweEEwMUMwMjAwCisjZGVmaW5lIEVGVVNFX0FEQ19CIDB4QTAxQzAyMDAKKyNkZWZpbmUgRUZVU0VfQURDX0VOQUJMRSAweDAwMDIKKyNkZWZpbmUgRUZVU0VfQURDX0FfTUFTSyAweDFGQzAwCS8vIDcgYml0cworI2RlZmluZSBFRlVTRV9BRENfQl9NQVNLIDB4RkMJLy8gNiBiaXRzCisjZGVmaW5lIEVGVVNFX0FEQ19BX1NISUZUIDEwCisjZGVmaW5lIEVGVVNFX0FEQ19CX1NISUZUICAyCisKKworI2Vsc2UKKy8qCisxLiBDaGVjayBiaXQgb2YgQURDICgxYiksICooMHg4MDAwMDAyMClbMThdPVsyMTBdCisyLiBBRENfQiAoNmIpLCAqKDB4ODAwMDAwMjApWzE3OjEyXT1bMjA5OjIwNF0KKzMuIEFEQ19BICg3YiksICooMHg4MDAwMDAyMClbMTE6NV09WzIwMzoxOTddCisqLworI2RlZmluZSBFRlVTRV9BRENfQkFTRSAweDgwMDAwMDIwCisjZGVmaW5lIEVGVVNFX0FEQ19BIDB4ODAwMDAwMjAKKyNkZWZpbmUgRUZVU0VfQURDX0IgMHg4MDAwMDAyMAorI2RlZmluZSBFRlVTRV9BRENfRU5BQkxFIDB4NDAwMDAKKyNkZWZpbmUgRUZVU0VfQURDX0FfTUFTSyAweEZFMAorI2RlZmluZSBFRlVTRV9BRENfQl9NQVNLIDB4M0YwMDAKKyNkZWZpbmUgRUZVU0VfQURDX0FfU0hJRlQgNQorI2RlZmluZSBFRlVTRV9BRENfQl9TSElGVCAxMgorCisjZW5kaWYKKworI2lmIGRlZmluZWQoRFJWX0FEQ19MSU1JVF9SRUcpIHx8IGRlZmluZWQoRlBHQSkKKyNpZiAhZGVmaW5lZChEUlZfQURDX09GRikKKyAgIC8qKioqKioqKioqKioqKioqKioqCisgICAgKiBHUEFEQyBSZWdpc3RlcnMgKgorICAgICoqKioqKioqKioqKioqKioqKiovCisgICAjZGVmaW5lIEFVWEFEQ19EQVRBICAoQVVYQURDX2Jhc2UrMHgwMDAwKQkvKiBTYW1wbGVkIGRhdGEgICAgICAgICAgICAgKi8KKyAgICNkZWZpbmUgQVVYQURDX0NUUkwgIChBVVhBRENfYmFzZSsweDAwMDQpCS8qIENvbnRyb2wgb2YgQS9EIENvbnZlcnRlciAqLworICAgI2RlZmluZSBBVVhBRENfU1RBVCAgKEFVWEFEQ19iYXNlKzB4MDAwOCkJLyogQS9EIFN0YXR1cy4ucmVnPTAsaWYgd3JpdGUgQVVYQURDX0NUUkwgcmVnKi8KKyAgICNkZWZpbmUgQVVYQURDX0NUUkwyIChBVVhBRENfYmFzZSsweDAwMGMpCS8qIFNwZWNpYWwgQ29udHJvbCBvZiBBL0QgQ29udmVydGVyICovCisgICAKKyAgICNkZWZpbmUgQVVYQURDX1NUQVRfUkRZICAgICAgICAgICAgIDB4MDAwMSAgICAgIC8qQURDIHJlYWR5Ki8KKyAgIAorICAgI2RlZmluZSBBVVhBRENfQ1RSTDJfQ0FMSSAgICAgICAgICAgMHgwMDAxICAgICAgLypBREMgQ2FsaWJyYXRpb24qLworICAgI2RlZmluZSBBVVhBRENfQ1RSTDJfTU9OICAgICAgICAgICAgMHgwMDIwICAgICAgLypEQUNNT04qLworICAgI2RlZmluZSBBVVhBRENfQ1RSTDJfQllQICAgICAgICAgICAgMHgwMDQwICAgICAgLypEQUNCWVAqLworI2VuZGlmIC8vICNpZiAhZGVmaW5lZChEUlZfQURDX09GRikKKyAgIAorICAgLypBREMgcGluIHNlbGVjdGlvbiwgQURDIHBoeS4gY2hhbm5lbCovCisgIAorICAgI2RlZmluZSBBRENfTUFYX0NIQU5ORUwgIDUKKyAgICNkZWZpbmUgQURDX0VSUl9DSEFOTkVMX05PICAgICAgIDUwCisjZW5kaWYgICAvKihEUlZfQURDX0xJTUlUX1JFRyxGUEdBKSovCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZiBkZWZpbmVkKERSVl9BRENfQkFTSUNfUkVHKQorI2lmICFkZWZpbmVkKERSVl9BRENfT0ZGKQorICAgI2RlZmluZSBBVVhBRENfU1lOQyAgICAgICAgICAgICAgICAgICAgKEFVWEFEQ19iYXNlKzB4MDAwMCkKKyAgICNkZWZpbmUgQVVYQURDX0lNTSAgICAgICAgICAgICAgICAgICAgIChBVVhBRENfYmFzZSsweDAwMDQpCisjaWYgZGVmaW5lZChEUlZfQURDXzY1NzVfU0VSSUVTKSAgIAorICAgI2RlZmluZSBBVVhBRENfQ09OMV9TRVQgICAgICAgICAgIAkgIChBVVhBRENfYmFzZSsweDAwMDgpIAorICAgI2RlZmluZSBBVVhBRENfQ09OMV9DTFIgICAgICAgICAgIAkgIChBVVhBRENfYmFzZSsweDAwMEMpIAorICAgI2RlZmluZSBBVVhBRENfU1lOICAgICAgICAgICAgICAgICAgICAgKEFVWEFEQ19iYXNlKzB4MDAxMCkKKyAgICNkZWZpbmUgQVVYQURDX0NPTiAgICAgICAgICAgICAgICAgICAgIChBVVhBRENfYmFzZSsweDAwMTQpCisgICAjZGVmaW5lIEFVWEFEQ19EQVQoX2xpbmUpICAgICAgICAgICAgICAoQVVYQURDX2Jhc2UrMHgwMDE4Kyg0Kl9saW5lKSkKKyNlbHNlCisJI2RlZmluZSBBVVhBRENfU1lOCQkJCQkgICAoQVVYQURDX2Jhc2UrMHgwMDA4KQorCSNkZWZpbmUgQVVYQURDX0NPTgkJCQkJICAgKEFVWEFEQ19iYXNlKzB4MDAwYykKKwkjZGVmaW5lIEFVWEFEQ19EQVQoX2xpbmUpCQkJICAgKEFVWEFEQ19iYXNlKzB4MDAxMCsoNCpfbGluZSkpCisjZW5kaWYKKworI2lmIGRlZmluZWQoRFJWX0FEQ182MjU2X1NFUklFUykgICAKKwkjZGVmaW5lIEFVWF9DT04yCQkJCQkJKFBMTF9iYXNlKzB4MTcwOCkKKyNlbHNlCisJI2RlZmluZSBBVVhfQ09OMgkJCQkJCShBQkJTWVNfYmFzZSsweDg3MDgpCisjZW5kaWYKKworI2lmIGRlZmluZWQoRFJWX0FEQ182MjUwX1NFUklFUykgCisKKwkjZGVmaW5lIEFCQkFfV1JfUEFUSDAgICAgICAgICAgICAgICAgICAgKEFCQlNZU19iYXNlICsgMHgwKQorCSNkZWZpbmUgQUJCX1dSX1BBVEgwCQkJCQkoQUJCX0RfYmFzZSArIDB4MDAxMCkKKwkjZGVmaW5lIEFCQl9BVVhfQ09OMAkJCQkJKEFCQl9EX2Jhc2UgKyAweDAwMjgpCisJI2RlZmluZSBBQkJfUlNWX0NPTjEJCQkJCShBQkJfRF9iYXNlICsgMHgwMDA0KQorCSNkZWZpbmUgQVVYQURDX1RTX0NPTgkJCQkJCShBVVhBRENfYmFzZSArIDB4MDA1OCkKKworCisJI2RlZmluZSBBQkJBX0FVWF9QV0RCICAgICAgICAgICAgICAgICAgICAweDAxMDAKKyAgICAjZGVmaW5lIEYyNk1fQ0xLX0VOICAgICAgICAgICAgICAgICAJIDB4ODAwMAorICAgICNkZWZpbmUgQVVYX1BXREIgICAgICAgICAgICAgICAgICAgICAJIDB4MDEwMAorICAgICNkZWZpbmUgQVVYX0ZJRk9fQ0xLX0VOCQkJICAJCSAweDgwMDAKKyAgICAjZGVmaW5lIEFVWF9GSUZPX0VOCQkJCSAgICAgICAgIDB4MDA4MAorCSNkZWZpbmUgQVVYQURDX0ZTTV9DVFJMCQkJCQkgMHgwMDQwCisJI2RlZmluZSBBVVhBRENfMjZNX0NMS19DVFJMCQkJCSAweDAwMDQKKwkjZGVmaW5lIEFVWEFEQ19UUF9TUEwgICAgICAgICAgICAgICAgICAgIDB4MDAwMQorI2VuZGlmCisKKyAgIC8qQVVYQURDX1NZTkMqLworICAgI2RlZmluZSBBVVhBRENfU1lOQ19DSEFOKF9saW5lKSAgICAgICAgKDB4MDAwMTw8X2xpbmUpICAgLypUaW1lIGV2ZW50IDEqLworICAgCisgICAvKkFVWEFEQ19JTU0qLworICAgI2RlZmluZSBBVVhBRENfSU1NX0NIQU4oX2xpbmUpICAgICAgICAgKDB4MDAwMTw8X2xpbmUpCisgICAKKyAgIC8qQVVYQURDX1NZTiovCisgICAjZGVmaW5lIEFVWEFEQ19TWU5fQklUICAgICAgICAgICAgICAgICAoMHgwMDAxKSAgICAgICAgICAvKlRpbWUgZXZlbnQgMCovCisgICAKKyAgIC8qQVVYQURDX0NPTiovCisgICAjZGVmaW5lIEFVWEFEQ19DT05fUlVOICAgICAgICAgICAgICAgICAoMHgwMDAxKQorI2lmbmRlZiBEUlZfQURDX05PX1RFU1RfREFDTU9OCisgICAjZGVmaW5lIEFVWEFEQ19DT05fQ0FMSV9NQVNLICAgICAgICAgICAoMHgwMDdjKQorICAgI2RlZmluZSBBVVhBRENfQ09OX1RFU1REQUNNT04gICAgICAgICAgKDB4MDA4MCkKKyNlbmRpZiAvLyAjaWZuZGVmIERSVl9BRENfTk9fVEVTVF9EQUNNT04KKyNpZiBkZWZpbmVkKERSVl9BRENfU1dfUkVTRVQpCisgICAjZGVmaW5lIEFVWEFEQ19DT05fU1dfUkVTRVQgICAgICAgICAgICAoMHgwMDgwKQorI2VuZGlmIC8vICNpZiBkZWZpbmVkKERSVl9BRENfU1dfUkVTRVQpCisgICAjZGVmaW5lIEFVWEFEQ19DT05fQVVUT0NMUjAgICAgICAgICAgICAoMHgwMTAwKQorICAgI2RlZmluZSBBVVhBRENfQ09OX0FVVE9DTFIxICAgICAgICAgICAgKDB4MDIwMCkKKyAgICNkZWZpbmUgQVVYQURDX0NPTl9QVVdBSVRfRU4gICAgICAgICAgICgweDA4MDApCisgICAjZGVmaW5lIEFVWEFEQ19DT05fQVVUT1NFVCAgICAgICAgICAgICAoMHg4MDAwKQorI2VuZGlmIC8vICNpZiAhZGVmaW5lZChEUlZfQURDX09GRikKKworCisgICAjZGVmaW5lIEFEQ19FUlJfQ0hBTk5FTF9OTyAgICAgICA1MAorI2VuZGlmICAgLyooTVQ2MjA1QixNVDYyMTgpKi8KKworI2lmICggZGVmaW5lZChEUlZfQURDX0JBU0lDX1JFRykgfHwgZGVmaW5lZChEUlZfQURDX1RETUFfVElNRSkgKQorI2lmICFkZWZpbmVkKERSVl9BRENfT0ZGKQorICAgI2lmIGRlZmluZWQoRFJWX0FEQ19URE1BX0VWRU5UX1JFR19QT1MxKQorICAgI2RlZmluZSBBVVhBRENfVERNQV9FVkVOVDAgICAgICAgICAgICAgKFRETUFfYmFzZSsweDFjMCkKKyAgICNkZWZpbmUgQVVYQURDX1RETUFfRVZFTlQxICAgICAgICAgICAgIChURE1BX2Jhc2UrMHgxYzQpICAgCisgICAjZWxpZiBkZWZpbmVkKERSVl9BRENfVERNQV9FVkVOVF9SRUdfUE9TMikKKyAgICNkZWZpbmUgQVVYQURDX1RETUFfRVZFTlQwICAgICAgICAgICAgIChURE1BX2Jhc2UrMHg0MDApCisgICAKKyAgICNpZiBkZWZpbmVkKE1UNjIyOV9TMDApCisgICAjZGVmaW5lIEFVWEFEQ19URE1BX0VWRU5UMSAgICAgICAgICAgICAoVERNQV9iYXNlKzB4NDAwKS8qSFcgYnVnKi8KKyAgICNlbHNlCisgICAjZGVmaW5lIEFVWEFEQ19URE1BX0VWRU5UMSAgICAgICAgICAgICAoVERNQV9iYXNlKzB4NDA0KS8qKi8gICAKKyAgICNlbmRpZgorICAgCisgICAjZWxzZQorICAgI2RlZmluZSBBVVhBRENfVERNQV9FVkVOVDAgICAgICAgICAgICAgKFRETUFfYmFzZSsweDFiMCkKKyAgICNkZWZpbmUgQVVYQURDX1RETUFfRVZFTlQxICAgICAgICAgICAgIChURE1BX2Jhc2UrMHgxYjQpCisgICAjZW5kaWYKKyAgIAorICAgI2lmIGRlZmluZWQoRFJWX0FEQ19URE1BX0VOX1JFR19QT1MxKQorICAgI2RlZmluZSBBVVhBRENfVERNQV9FTiAgICAgICAgICAgICAgICAgKFRETUFfYmFzZSsweDE2QykKKyAgICNlbHNlCisgICAjZGVmaW5lIEFVWEFEQ19URE1BX0VOICAgICAgICAgICAgICAgICAoVERNQV9iYXNlKzB4MTY0KQorICAgI2VuZGlmCisgICAvKkFVWEFEQ19URE1BX0VOKi8KKyAgICNkZWZpbmUgQVVYQURDX1RETUFfRU5fRVZUMCAgICAgICAgICAgICgweDAwMDEpCisgICAjZGVmaW5lIEFVWEFEQ19URE1BX0VOX0VWVDEgICAgICAgICAgICAoMHgwMDAyKQorI2VuZGlmIC8vICNpZiAhZGVmaW5lZChEUlZfQURDX09GRikKKyNlbmRpZiAvLyAjaWYgKCBkZWZpbmVkKERSVl9BRENfQkFTSUNfUkVHKSB8fCBkZWZpbmVkKERSVl9BRENfVERNQV9USU1FKSApCisKKworI2lmIGRlZmluZWQoX19PTERfUEROX0FSQ0hfXykKKyNpZiBkZWZpbmVkKEFEQ19DR19QRE5fQ09OMCkKKyAgI2lmIGRlZmluZWQoX19PTERfUEROX0RFRklORV9fKQorICAgICNkZWZpbmUgQURDX0NHX1BETl9DT05fQUREUgkJKERSVlBETl9DT04wKQorICAgICNkZWZpbmUgQURDX0NHX1BETl9DT05fQklUCQkoRFJWUEROX0NPTjBfQVVYQURDKQorICAjZWxpZiBkZWZpbmVkKF9fQ0xLR19ERUZJTkVfXykgLy8gI2lmIGRlZmluZWQoX19PTERfUEROX0RFRklORV9fKQorICAgICNkZWZpbmUgQURDX0NHX1BETl9DT05fQUREUgkJKENHX0NPTjApCisgICAgI2RlZmluZSBBRENfQ0dfUEROX0NPTl9CSVQJCShDR19DT04wX0FVWEFEQykKKyAgI2VuZGlmIC8vICNpZiBkZWZpbmVkKF9fT0xEX1BETl9ERUZJTkVfXykKKyAgCisjZWxpZiBkZWZpbmVkKEFEQ19DR19QRE5fQ09OMSkgLy8gI2lmIGRlZmluZWQoQURDX0NHX1BETl9DT04wKQorICAjaWYgZGVmaW5lZChfX09MRF9QRE5fREVGSU5FX18pCisgICAgI2RlZmluZSBBRENfQ0dfUEROX0NPTl9BRERSCQkoRFJWUEROX0NPTjEpCisgICAgI2RlZmluZSBBRENfQ0dfUEROX0NPTl9CSVQJCShEUlZQRE5fQ09OMV9BVVhBREMpCisgICNlbGlmIGRlZmluZWQoX19DTEtHX0RFRklORV9fKSAvLyAjaWYgZGVmaW5lZChfX09MRF9QRE5fREVGSU5FX18pCisgICAgI2RlZmluZSBBRENfQ0dfUEROX0NPTl9BRERSCQkoQ0dfQ09OMSkKKyAgICAjZGVmaW5lIEFEQ19DR19QRE5fQ09OX0JJVAkJKENHX0NPTjFfQVVYQURDKQorICAjZW5kaWYgLy8gI2lmIGRlZmluZWQoX19PTERfUEROX0RFRklORV9fKQorI2VsaWYgZGVmaW5lZChBRENfQ0dfUEROX0NPTjMpIC8vICNpZiBkZWZpbmVkKEFEQ19DR19QRE5fQ09OMCkKKyAgI2lmIGRlZmluZWQoX19PTERfUEROX0RFRklORV9fKQorICAgICNkZWZpbmUgQURDX0NHX1BETl9DT05fQUREUgkJKERSVlBETl9DT04zKQorICAgICNkZWZpbmUgQURDX0NHX1BETl9DT05fQklUCQkoRFJWUEROX0NPTjNfQVVYQURDKQorICAjZWxpZiBkZWZpbmVkKF9fQ0xLR19ERUZJTkVfXykgLy8gI2lmIGRlZmluZWQoX19PTERfUEROX0RFRklORV9fKQorICAgICNkZWZpbmUgQURDX0NHX1BETl9DT05fQUREUgkJKENHX0NPTjMpCisgICAgI2RlZmluZSBBRENfQ0dfUEROX0NPTl9CSVQJCShDR19DT04zX0FVWEFEQykKKyAgI2VuZGlmIC8vICNpZiBkZWZpbmVkKF9fT0xEX1BETl9ERUZJTkVfXykKKyNlbHNlIC8vICNpZiBkZWZpbmVkKEFEQ19DR19QRE5fQ09OMCkKKyAgI2lmIGRlZmluZWQoX19PTERfUEROX0RFRklORV9fKQorICAgICNkZWZpbmUgQURDX0NHX1BETl9DT05fQUREUgkJKERSVlBETl9DT04yKQorICAgICNkZWZpbmUgQURDX0NHX1BETl9DT05fQklUCQkoRFJWUEROX0NPTjJfQVVYQURDKQorICAjZWxpZiBkZWZpbmVkKF9fQ0xLR19ERUZJTkVfXykgLy8gI2lmIGRlZmluZWQoX19PTERfUEROX0RFRklORV9fKQorICAgICNkZWZpbmUgQURDX0NHX1BETl9DT05fQUREUgkJKENHX0NPTjIpCisgICAgI2RlZmluZSBBRENfQ0dfUEROX0NPTl9CSVQJCShDR19DT04yX0FVWEFEQykKKyAgI2VuZGlmIC8vICNpZiBkZWZpbmVkKF9fT0xEX1BETl9ERUZJTkVfXykKKyNlbmRpZiAvLyAjaWYgZGVmaW5lZChBRENfQ0dfUEROX0NPTjApCisjZW5kaWYgLy8gI2lmIGRlZmluZWQoX19PTERfUEROX0FSQ0hfXykKKworCisjaWYgZGVmaW5lZChEUlZfQURDX05PVF9FWElTVCkKKyAgICNkZWZpbmUgQURDX0VSUl9DSEFOTkVMX05PICAgICAgIDUwCisjZW5kaWYgLy8gI2lmIGRlZmluZWQoRFJWX0FEQ19OT1RfRVhJU1QpCisKKyNpZiAhZGVmaW5lZChEUlZfQURDX09GRikKKyNpZiAhZGVmaW5lZChBRENfTUFYX0NIQU5ORUwpCisgICAjZGVmaW5lIEFEQ19NQVhfQ0hBTk5FTCAgMQorICAgI2RlZmluZSBBRENfRVJSX0NIQU5ORUxfTk8gICAgICAgNTAKKyNlbmRpZiAvLyAjaWYgZGVmaW5lZChEUlZfQURDX05PVF9FWElTVCkKKyNlbmRpZiAvLyAjaWYgIWRlZmluZWQoRFJWX0FEQ19PRkYpCisKKyNlbmRpZiAgIC8qX0FEQ19IV19IKi8KKwpkaWZmIC0tZ2l0IGEvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9hZGNfc3cuaCBiL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvYWRjX3N3LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjgwMTNiYwotLS0gL2Rldi9udWxsCisrKyBiL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvYWRjX3N3LmgKQEAgLTAsMCArMSwyMzQgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAwNQorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLiAKKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGaWxlbmFtZToKKyAqIC0tLS0tLS0tLQorICogICAgYWRjX3N3LmgKKyAqCisgKiBQcm9qZWN0OgorICogLS0tLS0tLS0KKyAqICAgTWF1aV9Tb2Z0d2FyZQorICoKKyAqIERlc2NyaXB0aW9uOgorICogLS0tLS0tLS0tLS0tCisgKiAgIFRoaXMgZmlsZSBpcyBpbnRlbmRzIGZvciBhZGMgZHJpdmVyLgorICoKKyAqIEF1dGhvcjoKKyAqIC0tLS0tLS0KKyAqIC0tLS0tLS0KKyAqCisgKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqICAgICAgICAgICAgIEhJU1RPUlkKKyAqIEJlbG93IHRoaXMgbGluZSwgdGhpcyBwYXJ0IGlzIGNvbnRyb2xsZWQgYnkgUFZDUyBWTS4gRE8gTk9UIE1PRElGWSEhCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiBVcHBlciB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZm5kZWYgX0FEQ19TV19ICisjZGVmaW5lIF9BRENfU1dfSCAKKworI2luY2x1ZGUgImRydl9mZWF0dXJlc19hZGMuaCIKKyNpbmNsdWRlICJhZGNfaHcuaCIKKyNpbmNsdWRlICJhZGNfY2FsaS5oIgorCit0eXBlZGVmIHN0cnVjdCB7CisJZG91YmxlICBBRENfSVNFTlNFX1JFU0lTVEFOQ0VfRkFDVE9SOyAgICAgICAgLyoxLzAuNCovCisJQURDX0NBTElEQVRBIGFkY19jYWxpX3BhcmFtOyAgICAgICAgICAgICAgLypyYXRpbyA9IGFkY192b2x0X2ZhY3Rvci8xMDAqLworCWthbF91aW50MTYgYWRjX3ZvbHRfZmFjdG9yW0FEQ19NQVhfQ0hBTk5FTF07ICAgCit9YWRjX2N1c3RvbWl6ZWRfc3RydWN0OworCit0eXBlZGVmIHN0cnVjdCB7CisgICBrYWxfaW50MzIgIFRFTVBWMjsKKyAgIGthbF9pbnQzMiAgVEVNUEExMjsgICAKKyAgIGthbF9pbnQzMiAgVEVNUEEyMzsgIAorICAga2FsX2ludDMyICBURU1QTTEyOworICAga2FsX2ludDMyICBURU1QTTIzOworICAga2FsX2ludDMyICBURU1QU0NBTEU7Cit9IFZvbFRvVGVtcFN0cnVjdDsKKwordHlwZWRlZiBlbnVtIHsKKyAgIHZiYXRfYWRjX2NoYW5uZWw9MCwKKyAgIHZpc2Vuc2VfYWRjX2NoYW5uZWwsCisgICB2YmF0dG1wX2FkY19jaGFubmVsLAorICAgYmF0dHlwZV9hZGNfY2hhbm5lbCwKKyAgIHZjaGFyZ2VyX2FkY19jaGFubmVsLAorICAgcGNidG1wX2FkY19jaGFubmVsLAorICAgYXV4X2FkY19jaGFubmVsLAorICAgY2hyX3VzYl9hZGNfY2hhbm5lbCwKKyAgIG90Z192YnVzX2FkY19jaGFubmVsLAorICAgcmZ0bXBfYWRjX2NoYW5uZWwKK30gYWRjX2NoYW5uZWxfdHlwZTsKKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZiBkZWZpbmVkKERSVl9NSVNDX0FEQ19NRUFTVVJFX1JFTU9WRV9JUlFNQVNLKQorLy8gRGVmaW5lIHRvIHBlcmZvcm0gQURDIHJhY2UgY29uZGl0aW9uIGNoZWNrIHdoZW4gcHJvY2Vzc2luZyBjcml0aWNhbCBkYXRhIHByb2Nlc3MKKyNkZWZpbmUgQURDX1JBQ0VfQ09ORElUSU9OX0NIRUNLCisvLyBEZWZpbmUgdG8gcmVtb3ZlIElSUSBtYXNrL3Jlc3RvcmUgZm9yIEFEQyBtZWFzdXJlbWVudAorI2RlZmluZSBBRENfUkVNT1ZFX0lSUU1BU0sKKyNlbmRpZiAvLyAjaWYgZGVmaW5lZChEUlZfTUlTQ19BRENfTUVBU1VSRV9SRU1PVkVfSVJRTUFTSykKKworI2lmIGRlZmluZWQoQURDX1JBQ0VfQ09ORElUSU9OX0NIRUNLKQorZXh0ZXJuIGthbF9ib29sIGdBRENfUkNfQ2hlY2s7CisvLyBNb0RJUyBwYXJzZXIgc2tpcCBzdGFydAorLy8gVGhlIGZvbGxvd2luZyB0d28gQVBJcyBhcmUgcHJpdmF0ZSBBUElzLCBOT1QgZXhwb3J0ZWQgYXMgcHVibGljIEFQSXMKK2V4dGVybiB2b2lkIEFEQ1JDQ2hlY2tBbmRMb2NrKHZvaWQpOworZXh0ZXJuIHZvaWQgQURDUkNSZWxlYXNlKHZvaWQpOworLy8gTW9ESVMgcGFyc2VyIHNraXAgZW5kCisjZW5kaWYgLy8gI2lmIGRlZmluZWQoQURDX1JBQ0VfQ09ORElUSU9OX0NIRUNLKQorCisjaWYgZGVmaW5lZChBRENfUkVNT1ZFX0lSUU1BU0spCisjZGVmaW5lIEFEQ1NBVkVBTkRTRVRJUlFNQVNLKG1hc2spCXt9CisjZGVmaW5lIEFEQ1JFU1RPUkVJUlFNQVNLKG1hc2spCQl7fQorI2Vsc2UgLy8gI2lmIGRlZmluZWQoQURDX1JFTU9WRV9JUlFNQVNLKQorI2RlZmluZSBBRENTQVZFQU5EU0VUSVJRTUFTSyhtYXNrKQl7bWFzayA9IFNhdmVBbmRTZXRJUlFNYXNrKCk7fQorI2RlZmluZSBBRENSRVNUT1JFSVJRTUFTSyhtYXNrKQkJUmVzdG9yZUlSUU1hc2sobWFzaykKKyNlbmRpZiAvLyAjaWYgZGVmaW5lZChBRENfUkVNT1ZFX0lSUU1BU0spCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLy8gTW9ESVMgcGFyc2VyIHNraXAgc3RhcnQKKy8vIFRoZSBmb2xsb3dpbmcgQVBJcyBhcmUgcHJpdmF0ZSBBUElzCitleHRlcm4ga2FsX3VpbnQxNiBBRENfR2V0RGF0YShrYWxfdWludDggc2VsKTsKKy8vIGFkYy5jCitleHRlcm4ga2FsX3VpbnQxNiBBRENfSU1NX0RhdGEoa2FsX3VpbnQxNiBjaGFubmVsKTsKK2V4dGVybiBrYWxfdWludDE2IEFEQ19TWU5DX0RhdGEoa2FsX3VpbnQxNiBjaGFubmVsKTsKK2V4dGVybiB2b2lkIEFEQ19Jbml0KHZvaWQpOworZXh0ZXJuIHZvaWQgYWRjX3B3cmRvd25fZW5hYmxlKHZvaWQpOworZXh0ZXJuIHZvaWQgYWRjX3B3cmRvd25fZGlzYWJsZSh2b2lkKTsKK2V4dGVybiBrYWxfdWludDMyIEFEQ19HZXREYXRhMk1ldGEoa2FsX3VpbnQ4IHNlbCwga2FsX3VpbnQxNiBtZWFjb3VudCk7CitleHRlcm4ga2FsX3VpbnQzMiBBRENfR2V0TWVhRGF0YShrYWxfdWludDggc2VsLCBrYWxfdWludDE2IG1lYWNvdW50KTsKK2V4dGVybiB2b2lkIEFEQ19JTU1fRGF0YV9vbl9Cb290aW5nKGthbF91aW50MzIgY2hhbm5lbCwga2FsX3VpbnQzMiBjb3VudHMsIGthbF91aW50MTYgKiBkYXRhKTsKKy8vIE1vRElTIHBhcnNlciBza2lwIGVuZAorCisjaWYgIWRlZmluZWQoRFJWX0FEQ19PRkYpCisjaWYgZGVmaW5lZChfX0RSVl9DT01NX1JFR19EQkdfXykgJiYgZGVmaW5lZChfX0RSVl9BRENfUkVHX0RCR19fKQorI2RlZmluZSBEUlZfQURDX1dyaXRlUmVnKGFkZHIsZGF0YSkgICAgICAgICAgICAgIERSVl9EQkdfV3JpdGVSZWcoYWRkcixkYXRhKQorI2RlZmluZSBEUlZfQURDX1JlZyhhZGRyKSAgICAgICAgICAgICAgICAgICAgICAgIERSVl9EQkdfUmVnKGFkZHIpICAgICAgICAgICAgICAgICAgICAgIAorI2RlZmluZSBEUlZfQURDX1dyaXRlUmVnMzIoYWRkcixkYXRhKSAgICAgICAgICAgIERSVl9EQkdfV3JpdGVSZWczMihhZGRyLGRhdGEpICAgICAgICAgIAorI2RlZmluZSBEUlZfQURDX1JlZzMyKGFkZHIpICAgICAgICAgICAgICAgICAgICAgIERSVl9EQkdfUmVnMzIoYWRkcikgICAgICAgICAgICAgICAgICAgIAorI2RlZmluZSBEUlZfQURDX1dyaXRlUmVnOChhZGRyLGRhdGEpICAgICAgICAgICAgIERSVl9EQkdfV3JpdGVSZWc4KGFkZHIsZGF0YSkgICAgICAgICAgIAorI2RlZmluZSBEUlZfQURDX1JlZzgoYWRkcikgICAgICAgICAgICAgICAgICAgICAgIERSVl9EQkdfUmVnOChhZGRyKSAgICAgICAgICAgICAgICAgICAgIAorI2RlZmluZSBEUlZfQURDX0NsZWFyQml0cyhhZGRyLGRhdGEpICAgICAgICAgICAgIERSVl9EQkdfQ2xlYXJCaXRzKGFkZHIsZGF0YSkgICAgICAgICAgIAorI2RlZmluZSBEUlZfQURDX1NldEJpdHMoYWRkcixkYXRhKSAgICAgICAgICAgICAgIERSVl9EQkdfU2V0Qml0cyhhZGRyLGRhdGEpICAgICAgICAgICAgIAorI2RlZmluZSBEUlZfQURDX1NldERhdGEoYWRkciwgYml0bWFzaywgdmFsdWUpICAgIERSVl9EQkdfU2V0RGF0YShhZGRyLCBiaXRtYXNrLCB2YWx1ZSkgIAorI2RlZmluZSBEUlZfQURDX0NsZWFyQml0czMyKGFkZHIsZGF0YSkgICAgICAgICAgIERSVl9EQkdfQ2xlYXJCaXRzMzIoYWRkcixkYXRhKSAgICAgICAgIAorI2RlZmluZSBEUlZfQURDX1NldEJpdHMzMihhZGRyLGRhdGEpICAgICAgICAgICAgIERSVl9EQkdfU2V0Qml0czMyKGFkZHIsZGF0YSkgICAgICAgICAgIAorI2RlZmluZSBEUlZfQURDX1NldERhdGEzMihhZGRyLCBiaXRtYXNrLCB2YWx1ZSkgIERSVl9EQkdfU2V0RGF0YTMyKGFkZHIsIGJpdG1hc2ssIHZhbHVlKQorI2RlZmluZSBEUlZfQURDX0NsZWFyQml0czgoYWRkcixkYXRhKSAgICAgICAgICAgIERSVl9EQkdfQ2xlYXJCaXRzOChhZGRyLGRhdGEpICAgICAgICAgIAorI2RlZmluZSBEUlZfQURDX1NldEJpdHM4KGFkZHIsZGF0YSkgICAgICAgICAgICAgIERSVl9EQkdfU2V0Qml0czgoYWRkcixkYXRhKSAgICAgICAgICAgIAorI2RlZmluZSBEUlZfQURDX1NldERhdGE4KGFkZHIsIGJpdG1hc2ssIHZhbHVlKSAgIERSVl9EQkdfU2V0RGF0YTgoYWRkciwgYml0bWFzaywgdmFsdWUpIAorI2Vsc2UKKyNkZWZpbmUgRFJWX0FEQ19Xcml0ZVJlZyhhZGRyLGRhdGEpICAgICAgICAgICAgICBEUlZfV3JpdGVSZWcoYWRkcixkYXRhKQorI2RlZmluZSBEUlZfQURDX1JlZyhhZGRyKSAgICAgICAgICAgICAgICAgICAgICAgIERSVl9SZWcoYWRkcikgICAgICAgICAgICAgICAgICAgICAgCisjZGVmaW5lIERSVl9BRENfV3JpdGVSZWczMihhZGRyLGRhdGEpICAgICAgICAgICAgRFJWX1dyaXRlUmVnMzIoYWRkcixkYXRhKSAgICAgICAgICAKKyNkZWZpbmUgRFJWX0FEQ19SZWczMihhZGRyKSAgICAgICAgICAgICAgICAgICAgICBEUlZfUmVnMzIoYWRkcikgICAgICAgICAgICAgICAgICAgIAorI2RlZmluZSBEUlZfQURDX1dyaXRlUmVnOChhZGRyLGRhdGEpICAgICAgICAgICAgIERSVl9Xcml0ZVJlZzgoYWRkcixkYXRhKSAgICAgICAgICAgCisjZGVmaW5lIERSVl9BRENfUmVnOChhZGRyKSAgICAgICAgICAgICAgICAgICAgICAgRFJWX1JlZzgoYWRkcikgICAgICAgICAgICAgICAgICAgICAKKyNkZWZpbmUgRFJWX0FEQ19DbGVhckJpdHMoYWRkcixkYXRhKSAgICAgICAgICAgICBEUlZfQ2xlYXJCaXRzKGFkZHIsZGF0YSkgICAgICAgICAgIAorI2RlZmluZSBEUlZfQURDX1NldEJpdHMoYWRkcixkYXRhKSAgICAgICAgICAgICAgIERSVl9TZXRCaXRzKGFkZHIsZGF0YSkgICAgICAgICAgICAgCisjZGVmaW5lIERSVl9BRENfU2V0RGF0YShhZGRyLCBiaXRtYXNrLCB2YWx1ZSkgICAgRFJWX1NldERhdGEoYWRkciwgYml0bWFzaywgdmFsdWUpICAKKyNkZWZpbmUgRFJWX0FEQ19DbGVhckJpdHMzMihhZGRyLGRhdGEpICAgICAgICAgICBEUlZfQ2xlYXJCaXRzMzIoYWRkcixkYXRhKSAgICAgICAgIAorI2RlZmluZSBEUlZfQURDX1NldEJpdHMzMihhZGRyLGRhdGEpICAgICAgICAgICAgIERSVl9TZXRCaXRzMzIoYWRkcixkYXRhKSAgICAgICAgICAgCisjZGVmaW5lIERSVl9BRENfU2V0RGF0YTMyKGFkZHIsIGJpdG1hc2ssIHZhbHVlKSAgRFJWX1NldERhdGEzMihhZGRyLCBiaXRtYXNrLCB2YWx1ZSkKKyNkZWZpbmUgRFJWX0FEQ19DbGVhckJpdHM4KGFkZHIsZGF0YSkgICAgICAgICAgICBEUlZfQ2xlYXJCaXRzOChhZGRyLGRhdGEpICAgICAgICAgIAorI2RlZmluZSBEUlZfQURDX1NldEJpdHM4KGFkZHIsZGF0YSkgICAgICAgICAgICAgIERSVl9TZXRCaXRzOChhZGRyLGRhdGEpICAgICAgICAgICAgCisjZGVmaW5lIERSVl9BRENfU2V0RGF0YTgoYWRkciwgYml0bWFzaywgdmFsdWUpICAgRFJWX1NldERhdGE4KGFkZHIsIGJpdG1hc2ssIHZhbHVlKSAKKyNlbmRpZiAvLyNpZiBkZWZpbmVkKF9fRFJWX0NPTU1fUkVHX0RCR19fKSAmJiBkZWZpbmVkKF9fRFJWX0FEQ19SRUdfREJHX18pCisKKyNlbHNlIC8vIWRlZmluZWQoRFJWX0FEQ19PRkYpCisKKyNkZWZpbmUgRFJWX0FEQ19Xcml0ZVJlZyhhZGRyLGRhdGEpICAgICAgICAgICAgICAKKyNkZWZpbmUgRFJWX0FEQ19SZWcoYWRkcikgICAgICAgICAgICAgICAgICAgICAgICBkcnZfZHVtbXlfcmV0dXJuKCkKKyNkZWZpbmUgRFJWX0FEQ19Xcml0ZVJlZzMyKGFkZHIsZGF0YSkgICAgICAgICAgICAKKyNkZWZpbmUgRFJWX0FEQ19SZWczMihhZGRyKSAgICAgICAgICAgICAgICAgICAgICBkcnZfZHVtbXlfcmV0dXJuKCkKKyNkZWZpbmUgRFJWX0FEQ19Xcml0ZVJlZzgoYWRkcixkYXRhKSAgICAgICAgICAgICAKKyNkZWZpbmUgRFJWX0FEQ19SZWc4KGFkZHIpICAgICAgICAgICAgICAgICAgICAgICBkcnZfZHVtbXlfcmV0dXJuKCkKKyNkZWZpbmUgRFJWX0FEQ19DbGVhckJpdHMoYWRkcixkYXRhKSAgICAgICAgICAgICAKKyNkZWZpbmUgRFJWX0FEQ19TZXRCaXRzKGFkZHIsZGF0YSkgICAgICAgICAgICAgICAKKyNkZWZpbmUgRFJWX0FEQ19TZXREYXRhKGFkZHIsIGJpdG1hc2ssIHZhbHVlKSAgICAKKyNkZWZpbmUgRFJWX0FEQ19DbGVhckJpdHMzMihhZGRyLGRhdGEpICAgICAgICAgICAKKyNkZWZpbmUgRFJWX0FEQ19TZXRCaXRzMzIoYWRkcixkYXRhKSAgICAgICAgICAgICAKKyNkZWZpbmUgRFJWX0FEQ19TZXREYXRhMzIoYWRkciwgYml0bWFzaywgdmFsdWUpICAKKyNkZWZpbmUgRFJWX0FEQ19DbGVhckJpdHM4KGFkZHIsZGF0YSkgICAgICAgICAgICAKKyNkZWZpbmUgRFJWX0FEQ19TZXRCaXRzOChhZGRyLGRhdGEpICAgICAgICAgICAgICAKKyNkZWZpbmUgRFJWX0FEQ19TZXREYXRhOChhZGRyLCBiaXRtYXNrLCB2YWx1ZSkgICAKKworI2VuZGlmIC8vIWRlZmluZWQoRFJWX0FEQ19PRkYpCisKKyNlbmRpZiAgIC8qX0FEQ19TV19IKi8KKwpkaWZmIC0tZ2l0IGEvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9hZGNzY2hlLmggYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL2FkY3NjaGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYzY5Mzg3Ci0tLSAvZGV2L251bGwKKysrIGIvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9hZGNzY2hlLmgKQEAgLTAsMCArMSwxODcgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAwNQorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLiAKKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGaWxlbmFtZToKKyAqIC0tLS0tLS0tLQorICogICAgYWRjc2NoZS5oCisgKgorICogUHJvamVjdDoKKyAqIC0tLS0tLS0tCisgKiAgIE1hdWlfU29mdHdhcmUKKyAqCisgKiBEZXNjcmlwdGlvbjoKKyAqIC0tLS0tLS0tLS0tLQorICogICBUaGlzIGZpbGUgaXMgaW50ZW5kcyBmb3IgQURDIHNjaGVkdWxlcgorICoKKyAqIEF1dGhvcjoKKyAqIC0tLS0tLS0KKyAqIC0tLS0tLS0KKyAqCisgKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqICAgICAgICAgICAgIEhJU1RPUlkKKyAqIEJlbG93IHRoaXMgbGluZSwgdGhpcyBwYXJ0IGlzIGNvbnRyb2xsZWQgYnkgUFZDUyBWTS4gRE8gTk9UIE1PRElGWSEhCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIFVwcGVyIHRoaXMgbGluZSwgdGhpcyBwYXJ0IGlzIGNvbnRyb2xsZWQgYnkgUFZDUyBWTS4gRE8gTk9UIE1PRElGWSEhCisgKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmbmRlZiBfQURDU0NIRV9ICisjZGVmaW5lIF9BRENTQ0hFX0gKKworI2luY2x1ZGUgImFkY19ody5oIgorI2luY2x1ZGUgImRjbC5oIgorCisjZGVmaW5lIEFEQ19TQ0hFX01BWF9DSEFOTkVMICAoQURDX01BWF9DSEFOTkVMKjIrNCkgLyplbmdpbmVlcmluZyBtb2RlLCBjaGFyZ2VpbmcgbW9kZSwgYW5kIE1NSSBtb2RlKi8KKworLy90eXBlZGVmIHZvaWQgKCogQURDX0ZVTkMpKGthbF9pbnQzMiBoYW5kbGUsIGthbF9pbnQzMiB2b2x0X3Jlc3VsdCwgZG91YmxlIGFkY19yZXN1bHQpOworCisKKy8qYWRjc2NoZS5oKi8KK3R5cGVkZWYgc3RydWN0eworICAgbW9kdWxlX3R5cGUgICAgb3duZXJpZDsKKyAgc2FwX3R5cGUgICAgICAgc2FwaWQ7CisJa2FsX3VpbnQzMiAgICAgcGVyaW9kOworCWthbF91aW50OCAgICAgIGFkY19waHlfaWQ7CisJa2FsX3VpbnQ4ICAgICAgYWRjX2xvZ2ljX2lkOworCWthbF91aW50OAkJZXZhbHVhdGVfY291bnQ7CS8qaG93IG1hbnkgdG8gYXZlcmFnZSovCisJa2FsX2ludDMyICAgICAgIHNlbmRfcHJpbWl0aXZlOworCWthbF9ib29sICAgICAgIGNvbnRpX21lYXN1cmU7CisJZXZlbnRpZCAgICAgICAgYWRjX3NjaGVfZXZlbnRfaWQ7CisJdm9pZCAoKmNvbXBsZXRlKShzaWduZWQgbG9uZyBhZGNfaGFuZGxlLCBzaWduZWQgbG9uZyB2b2x0X3Jlc3VsdCwgZG91YmxlIGFkY19yZXN1bHQpOy8qY2FsbGJhY2sgZm9yIHVwcGVyIGxheWVyKi8KK31BRENTY2hlTWVhc1BhcmFtZXRlcjsKKwordHlwZWRlZiBzdHJ1Y3R7CisJa2FsX3VpbnQ4ICAgICAgKm11bHRpX2FkY19waHlfaWQ7CisJa2FsX3VpbnQ4CQltYXhfbXVsdGlfY2hhbm5lbF9udW1iZXI7CisJdm9pZCAoKm11bHRpX2NvbXBsZXRlKShzaWduZWQgbG9uZyBhZGNfaGFuZGxlLCBzaWduZWQgbG9uZyAqdm9sdF9yZXN1bHQsIGRvdWJsZSAqYWRjX3Jlc3VsdCk7LypjYWxsYmFjayBmb3IgdXBwZXIgbGF5ZXIqLworfUFEQ011bHRpQ2hhblBhcmFtZXRlcjsKKworCisvLyBUaGUgY29yZSBmdW5jdGlvbnMgZm9yIEFEQworLy8gYWRjc2NoZS5jCitleHRlcm4ga2FsX3VpbnQzMiBhZGNfc2NoZV9jcmVhdGVfb2JqZWN0KEFEQ19DVFJMX0NSRUFURV9PQkpFQ1RfVCAqcHJDcmVhdGVPYmopOworZXh0ZXJuIHZvaWQgYWRjX3NjaGVfbW9kaWZ5X3BhcmFtZXRlcnMoa2FsX3VpbnQzMiBhZGNfc2NoZV9pZCwga2FsX3VpbnQzMiBwZXJpb2QsIGthbF91aW50OCBldmFsdWF0ZV9jb3VudCk7CitleHRlcm4gdm9pZCBhZGNfc2NoZV9hZGRfaXRlbShrYWxfdWludDMyIGFkY19zY2hlX2lkLCB2b2lkICgqbWVhX2NvbXBsZXRlKShzaWduZWQgbG9uZyBoYW5kbGUsIHNpZ25lZCBsb25nIHZvbHRfcmVzdWx0LCBkb3VibGUgYWRjX3Jlc3VsdCksIGthbF90aW1lcl9mdW5jX3B0ciBtZWFfQ2FsbGJhY2spOworZXh0ZXJuIHZvaWQgYWRjX3NjaGVfcmVtb3ZlX2l0ZW0oa2FsX3VpbnQzMiBhZGNfc2NoZV9pZCk7CitleHRlcm4gdm9pZCBhZGNfc2NoZV9pbml0KHZvaWQpOworZXh0ZXJuIHZvaWQgYWRjX3NjaGVfbWVhc3VyZSh2b2lkKiBtc2dfcHRyKTsKK2V4dGVybiB2b2lkIGFkY19zY2hlX2dldF9wYXJhbWV0ZXIoa2FsX3VpbnQzMiBhZGNfc2NoZV9pZCwgQURDU2NoZU1lYXNQYXJhbWV0ZXIgKipwYXJhKTsKK2V4dGVybiB2b2lkIGFkY19wd3Jkb3duX2Rpc2FibGUodm9pZCk7CitleHRlcm4gdm9pZCBhZGNfcHdyZG93bl9lbmFibGUodm9pZCk7CitleHRlcm4ga2FsX3VpbnQ4IGFkY19zY2hlX2dldF9jaGFubmVsKGFkY19jaGFubmVsX3R5cGUgdHlwZSk7CitleHRlcm4gdm9pZCBhZGNzY2hlX2FkY19tZWFzdXJlX2VuKGthbF9ib29sIGFkY19tZWFzdXJlX2VuYWJsZSk7CitleHRlcm4gdm9pZCBhZGNfbXVsdGlfY2hhbm5lbF9zZXQoRENMX1VJTlQzMiBhZGNfc2NoZV9pZCwgRENMX01VTFRJX0NIQU5ORUxfUEFSQV9UKiBwTXVsdGlDaGFubmVsUGFyYSk7CisKKy8vIGFkY21lYXN1cmUuYworI2lmIGRlZmluZWQoRFJWX0FEQ19GVUxMX0ZVTkMpCitleHRlcm4gdm9pZCBhZGNfdGRtYV90aW1lX3NldHVwKGthbF91aW50MTYgaWRsZV90aW1lLCBrYWxfdWludDE2IHRyeF90aW1lKTsKKyNlbmRpZiAvLyAjaWYgZGVmaW5lZChEUlZfQURDX0ZVTExfRlVOQykKK2V4dGVybiB2b2lkIGFkY19tZWFzdXJlX3BhcmFtZXRlcl9pbml0KHZvaWQpOworZXh0ZXJuIHZvaWQgYWRjX3NjaGVfc3RvcF90aW1lcihrYWxfdWludDggYWRjX3NjaGVfaWQpOworZXh0ZXJuIHZvaWQgYWRjX3NjaGVfc2V0X3RpbWVyKGthbF91aW50OCBhZGNfc2NoZV9pZCwga2FsX3VpbnQzMiB0aWNrLCBrYWxfdGltZXJfZnVuY19wdHIgY2FsbF9mdW5jKTsKK2V4dGVybiB2b2lkIGFkY19yZWFkX2VmdXNlX2RhdGEoZG91YmxlICpzbG9wZSwgZG91YmxlICpvZmZzZXQpOworZXh0ZXJuIHZvaWQgYWRjX3JlYWRfY2FsaWJyYXRpb25fZGF0YV9pbmZvcm0odm9pZCk7CitleHRlcm4gdm9pZCBhZGNfc2V0X2FkY19jYWxpYnJhdGlvbl9kYXRhKGlsbV9zdHJ1Y3QgKmxpbV9wdHIpOworZXh0ZXJuIGthbF9pbnQzMiBhZGNfYWRjMnZvbChrYWxfdWludDggY2hhbm4sZG91YmxlIGFkY1ZvbHRhZ2UpOworZXh0ZXJuIGthbF9pbnQzMiB2b2x0MnRlbXAoa2FsX2ludDMyIF92b2x0KTsKK2V4dGVybiBrYWxfaW50MzIgdm9sdDJpc2Vuc2Uoa2FsX2ludDMyIF92b2x0KTsKKworI2VuZGlmCS8qX0FEQ1NDSEVfSCovCisKZGlmZiAtLWdpdCBhL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvYWxlcnRlcl9ody5oIGIvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9hbGVydGVyX2h3LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2MyOWZiMgotLS0gL2Rldi9udWxsCisrKyBiL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvYWxlcnRlcl9ody5oCkBAIC0wLDAgKzEsMTI3IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMDUKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4gCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRmlsZW5hbWU6CisgKiAtLS0tLS0tLS0KKyAqICAgIGFsZXJ0ZXJfaHcuaAorICoKKyAqIFByb2plY3Q6CisgKiAtLS0tLS0tLQorICogICBNYXVpX1NvZnR3YXJlCisgKgorICogRGVzY3JpcHRpb246CisgKiAtLS0tLS0tLS0tLS0KKyAqICAgVGhpcyBmaWxlIGlzIGludGVuZGVkIGZvciBhbGVydGVyIGRyaXZlci4KKyAqCisgKiBBdXRob3I6CisgKiAtLS0tLS0tCisgKiAtLS0tLS0tCisgKgorICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKiAgICAgICAgICAgICBISVNUT1JZCisgKiBCZWxvdyB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIFVwcGVyIHRoaXMgbGluZSwgdGhpcyBwYXJ0IGlzIGNvbnRyb2xsZWQgYnkgUFZDUyBWTS4gRE8gTk9UIE1PRElGWSEhCisgKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmbmRlZiBBTEVSVEVSX0hXX0gKKyNkZWZpbmUgQUxFUlRFUl9IV19ICisKKyNpbmNsdWRlICJyZWdfYmFzZS5oIgorCisjaWYgIWRlZmluZWQoRFJWX0FMRVJURVJfTk9UX0VYSVNUKQorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQXVkaW8gQWxlcnRlciBSZWdpc3RlcnMgKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgQUxFUlRFUl9DTlQxICAoQUxFUlRFUl9iYXNlKzB4MDAwMCkgLypBbGVydGVyIHZhbCBjb3VudGVyIDEqLworI2RlZmluZSBBTEVSVEVSX1RIUkVTIChBTEVSVEVSX2Jhc2UrMHgwMDA0KSAvKkFsZXJ0ZXIgdGhyZXNob2xkIHZhbCovCisjZGVmaW5lIEFMRVJURVJfQ05UMiAgKEFMRVJURVJfYmFzZSsweDAwMDgpIC8qQWxlcnRlciB2YWwgY291bnRlciAyKi8KKyNkZWZpbmUgQUxFUlRFUl9DVFJMICAoQUxFUlRFUl9iYXNlKzB4MDAwQykgLypBbGVydGVyIGNvbnRyb2wgICAgICAqLworCisjZGVmaW5lIEFMRVJURVJfQ1RSTF9NT0RFTUFTSwkweDAwMTgKKyNkZWZpbmUgQUxFUlRFUl9DVFJMX01PREUxCTB4MDAwMAorI2RlZmluZSBBTEVSVEVSX0NUUkxfTU9ERTIJMHgwMDA4CisjZGVmaW5lIEFMRVJURVJfQ1RSTF9NT0RFMwkweDAwMTAKKyNkZWZpbmUgQUxFUlRFUl9QV1IJCSgweDgwMDAwMDAwKzB4MDMwNCkKKyNkZWZpbmUgQUxFUlRFUl9QV1JfT0ZGCQkweDAwNDAKKyNkZWZpbmUgQUxFUlRFUl9DVFJMX1BETU9VVFBVVAkweDAxMDAKKworI2RlZmluZSAgQUxFUlRFUl9DVFJMX0VOCQkgICAweDgwMDAKKyNkZWZpbmUJQUxFUlRFUl9DVFJMX0NMS18xCQkweDAwMDAKKyNkZWZpbmUgIEFMRVJURVJfQ1RSTF9DTEtfMgkJMHgwMDAxCisjZGVmaW5lICBBTEVSVEVSX0NUUkxfQ0xLXzQJCTB4MDAwMgorI2RlZmluZSAgQUxFUlRFUl9DVFJMX0NMS184CQkweDAwMDMKKworLyo9PT09PT09PT09PT09PT09PT1NYWNybz09PT09PT09PT09PT09PT09PT09Ki8KKyNkZWZpbmUgQUxFUlRFUl9zZXRDTlQxKGNudDEpCSoodm9sYXRpbGUga2FsX3VpbnQxNiAqKUFMRVJURVJfQ05UMSA9IGNudDEKKyNkZWZpbmUgQUxFUlRFUl9zZXRDTlQyKGNudDIpCSoodm9sYXRpbGUga2FsX3VpbnQxNiAqKUFMRVJURVJfQ05UMiA9IGNudDIKKyNkZWZpbmUgQUxFUlRFUl9zZXRUSFJFUyh0aHJlcykgKih2b2xhdGlsZSBrYWxfdWludDE2ICopQUxFUlRFUl9USFJFUyA9IHRocmVzCisKKyNlbmRpZiAvKiFkZWZpbmVkKERSVl9BTEVSVEVSX05PVF9FWElTVCkqLworCisjZW5kaWYKKwpkaWZmIC0tZ2l0IGEvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9iMnBzaV9ody5oIGIvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9iMnBzaV9ody5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY5ZjNiODYKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL2IycHNpX2h3LmgKQEAgLTAsMCArMSw4MSBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDA1CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuIAorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZpbGVuYW1lOgorICogLS0tLS0tLS0tCisgKiAgICBiMnBzaS5jCisgKgorICogUHJvamVjdDoKKyAqIC0tLS0tLS0tCisgKiAgIE1hdWlfU29mdHdhcmUKKyAqCisgKiBEZXNjcmlwdGlvbjoKKyAqIC0tLS0tLS0tLS0tLQorICogICBUaGlzIGZpbGUgaXMgaW50ZW5kZWQgZm9yIGIycHNpIGRyaXZlci4KKyAqCisgKiBBdXRob3I6CisgKiAtLS0tLS0tCisgKiAtLS0tLS0tCisgKgorICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKiAgICAgICAgICAgICBISVNUT1JZCisgKiBCZWxvdyB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiBVcHBlciB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZm5kZWYgX0IyUFNJX0hXX0gKKyNkZWZpbmUgX0IyUFNJX0hXX0gKKworLypyZWdpc3RlciovCisjZGVmaW5lIEIyUFNJX0RBVEEgICAgIChCMlBTSV9iYXNlKzB4MDAwMCkKKyNkZWZpbmUgQjJQU0lfRElWICAgICAgKEIyUFNJX2Jhc2UrMHgwMDA4KQorI2RlZmluZSBCMlBTSV9TVEFUICAgICAoQjJQU0lfYmFzZSsweDAwMTApCisjZGVmaW5lIEIyUFNJX1RJTUUgICAgIChCMlBTSV9iYXNlKzB4MDAxNCkKKworLypkYXRhIGtleSovCisjZGVmaW5lIEIyUFNJX0RBVEFfS0VZICAweDgyMTYKKy8qcmVhZC9Xcml0ZSBtYXNrKi8KKyNkZWZpbmUgIEIyUFNJX1dSSVRFX01BU0sgIDB4ODAwCisjZGVmaW5lICBCMlBTSV9SRUFEX01BU0sgICAweDAKKy8qcmVhZC93cml0ZSBzdGF0dXMqLworI2RlZmluZSBCMlBTSV9SRUFEX1JEWSAgICAweDEgCisjZGVmaW5lIEIyUFNJX1dSSVRFX1JEWSAgIDB4MgorCisjZW5kaWYKKwpkaWZmIC0tZ2l0IGEvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9ibXRfc3cuaCBiL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvYm10X3N3LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzcyODcwOQotLS0gL2Rldi9udWxsCisrKyBiL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvYm10X3N3LmgKQEAgLTAsMCArMSw0MjkgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxMAorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLiAKKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGaWxlbmFtZToKKyAqIC0tLS0tLS0tLQorICogICAgYm10X3N3LmgKKyAqCisgKiBQcm9qZWN0OgorICogLS0tLS0tLS0KKyAqICAgTWF1aV9Tb2Z0d2FyZQorICoKKyAqIERlc2NyaXB0aW9uOgorICogLS0tLS0tLS0tLS0tCisgKiAgIFRoaXMgZmlsZSBpcyBpbnRlbmRzIGZvciBCTVQgZHJpdmVyIGFuZCBhZGFwdGlvbi4KKyAqCisgKiBBdXRob3I6CisgKiAtLS0tLS0tCisgKiAtLS0tLS0tCisgKgorICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKiAgICAgICAgICAgICBISVNUT1JZCisgKiBCZWxvdyB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIFVwcGVyIHRoaXMgbGluZSwgdGhpcyBwYXJ0IGlzIGNvbnRyb2xsZWQgYnkgUFZDUyBWTS4gRE8gTk9UIE1PRElGWSEhCisgKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmbmRlZiBfQk1UX1NXX0gKKyNkZWZpbmUgX0JNVF9TV19ICisKKyNpbmNsdWRlICJkcnZfZmVhdHVyZXMuaCIKKyNpbmNsdWRlICJjaHJfcGFyYW1ldGVyLmgiCisjaW5jbHVkZSAiZGNsLmgiCisKKy8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAvLworLy8gRGVmaW5pdGlvbnMgZm9yIEJNVCBNb2R1bGUgT25seQorLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC8vCisjaWYgZGVmaW5lZChfX0VWQl9fKQorI2lmICFkZWZpbmVkKERSVl9NSVNDX0FEQ19GSVhFRF9WQkFUX1dBKQorI2RlZmluZSBEUlZfTUlTQ19BRENfRklYRURfVkJBVF9XQQorI2VuZGlmCisjZW5kaWYKKworI2lmKENIUl9CQVRURVJZX1RZUEUgPT0gTElfSU9OX0JBVFRFUlkpCisjZGVmaW5lIENIUl9XSVRIX0xJX0lPTl9CQVRURVJZCisjZWxzZQorI2RlZmluZSBDSFJfV0lUSF9OSV9NSF9CQVRURVJZCisjZW5kaWYKKworLyogQmF0dGVyeSBTdGF0ZSAqLworI2RlZmluZSBDSFJfUFJFCQkJCQkJCQkwCisjZGVmaW5lIENIUl9GQVNUCQkJCQkJCTEKKyNkZWZpbmUgQ0hSX1RPUE9GRiAgICAgICAgICAgICAgICAgICAgICAgCTIKKyNkZWZpbmUgQ0hSX0JBVEZVTEwgICAgICAgICAgICAgICAgICAgICAgCTMKKyNkZWZpbmUgQ0hSX0VSUk9SICAgICAgICAgICAgICAgICAgICAgICAgCTQKKyNkZWZpbmUgQ0hSX0hPTEQgICAgICAgICAgICAgICAgICAgICAgICAgCTUKKyNkZWZpbmUgQ0hSX1BPU1RGVUxMICAgICAgICAgICAgICAgICAgICAgCTYKKyNkZWZpbmUgQ0hSX1BSRV9GVUxMX0NIRUNLICAgICAgICAgICAgICAgCTcKKworLyogVE9OLCBUT0ZGICovCisjZGVmaW5lIENIUlRPTiAgICAgICAgICAgICAgICAgICAgICAgICAgIAkwCisjZGVmaW5lIENIUlRPRkYgICAgICAgICAgICAgICAgICAgICAgICAgIAkxCisKKy8qIFNhZmV0eSBUaW1lciBDb25maWd1cmF0aW9uICovCisjZGVmaW5lIEJNVF9TQUZFVFlfVElNRVJfT04gIAkJCSAgCTEKKyNkZWZpbmUgQk1UX1NBRkVUWV9USU1FUl9PRkYJCQkJMCAKKworLyogQ291bnRzIG9mIEFEQyBNZWFzdXJlbWVudCAqLworI2RlZmluZSBCTVRfRVZBTFVBVEVfVkFMVUUJCQkJCTEwCisKKy8qIF9fVEMwMV9fIENvbmZpZ3VyYXRpb24gKi8KKyNpZiBkZWZpbmVkKF9fVEMwMV9fKQorI2RlZmluZSBfX0RSVl9CTVRfQUxXQVlTX1BVTFNFX0NIQVJHSU5HX18gLy8gVEMwMSByZXF1ZXN0IHB1bHNlIGNoYXJnaW5nIGluIENWCisjZGVmaW5lIF9fRFJWX0JNVF9FU1RJTUFUSVZFX1RJTUVSX09OX1RPUE9GRl9fCisjZGVmaW5lIF9fRFJWX0JNVF9ESVNBQkxFX1NUT1BfVElNRVJfXworI2RlZmluZSBfX0RSVl9CTVRfQ0hBUkdJTkdfQ09NUExFVEVfTVNHX18KKyNkZWZpbmUgX19EUlZfQk1UX1JFUE9SVF9WQkFUX0lOX0JPT1RJTkdfXworCisjaWYgKCghZGVmaW5lZChMNF9OT1RfUFJFU0VOVCkpICYmICghZGVmaW5lZChfX01BVUlfQkFTSUNfXykpICkKKyNkZWZpbmUgX19EUlZfQkFUVEVSWV9FWElTVF9ERVRFQ1RJT05fXworLy8gI2RlZmluZSBCQVRURVJZX0VYSVNUX0RFVEVDVElPTl9TV19QT0xMSU5HX1BFUklPRF9JTl9USUNLICAgICAoMzI1MCkgIC8vIDE1IHNlYyA9ICgxMDAwLzQuNjE1KSAqIDE1CisjZW5kaWYgLy8gI2lmICggKCFkZWZpbmVkKEw0X05PVF9QUkVTRU5UKSkgJiYgKCFkZWZpbmVkKF9fTUFVSV9CQVNJQ19fKSkgKQorCisjZGVmaW5lIF9fQk1UX0NIQVJHRV9HVUFSRF9USU1FX18KKwkjZGVmaW5lIEJNVF9UT1RBTF9DSEFSR0VfVElNRQkoNiAqIDYwKSAvLyA2IGhvdXJzID0gMzYwIG1pbnMKKyAgIAkjaWZkZWYgX19CTVRfQ0hBUkdFX0dVQVJEX1RJTUVfXworICAgIAkjZGVmaW5lIEJNVF9DSEFSR0VfR1VBUkRfVElNRV9QRVJJT0QJKDIgKiA2MCArIDUwKSAvLyAyIGhvdXJzIGFuZCA1MCBtaW5zID0gMTcwIG1pbnMgIAorICAgICAgCSNpZiAoQk1UX0NIQVJHRV9HVUFSRF9USU1FX1BFUklPRCA+IEJNVF9UT1RBTF9DSEFSR0VfVElNRSkKKyAgICAgIAkjZXJyb3IgIltCTVRdRXJyb3IhISBCTVRfVE9UQUxfQ0hBUkdFX1RJTUUgc2hvdWxkID49IEJNVF9DSEFSR0VfR1VBUkRfVElNRV9QRVJJT0QhISIKKyAgICAgCSNlbmRpZgorICAgCSNlbmRpZiAvLyBfX0JNVF9DSEFSR0VfR1VBUkRfVElNRV9fCisgICAJCisjaWYgZGVmaW5lZChfX0dFTkVSQUxfRVhURVJOQUxfQ0hBUkdFUl9fKQorCisvLyBEZWJ1ZyBtb2RlLCB0YWtlIEZhYy5VQVJUIGNhYmxlIGFzIGNoYXJnZXIKKy8vI2RlZmluZSBERUJVR19UUkVBVF9GQUNfVUFSVF9DQUJMRV9BU19DSEFSR0VSCisKKyNlbmRpZiAvLyAjaWYgZGVmaW5lZChfX0dFTkVSQUxfRVhURVJOQUxfQ0hBUkdFUl9fKQorICAgCQorICAgCQorI2Vsc2UgLy8gRWxzZSBvZiAjaWYgZGVmaW5lZChfX1RDMDFfXykKKworI2RlZmluZSBfX0JNVF9QQVVTRV9DSEFSR0VfU1RPUF9TQUZFVFlfVElNRVJfXworCisjaWYgZGVmaW5lZChfX0RSVl9CTVRfQkFUVEVSWV9MQVJHRVJfMTYwME1BX18pCisgICAJI2RlZmluZSBCTVRfVE9UQUxfQ0hBUkdFX1RJTUUJKDEyICogNjApIC8vIDEyIGhvdXJzID0gNzIwIG1pbnMKKyNlbGlmIGRlZmluZWQoX19EUlZfQk1UX1VMVFJBX0xPV19DT1NUX0NIQVJHRVJfXykKKyAgIAkjZGVmaW5lIEJNVF9UT1RBTF9DSEFSR0VfVElNRQkoOCAqIDYwKSAvLyA4IGhvdXJzID0gNDgwIG1pbnMKKyNlbHNlCisgICAJI2RlZmluZSBCTVRfVE9UQUxfQ0hBUkdFX1RJTUUJKDYgKiA2MCkgLy8gNiBob3VycyA9IDM2MCBtaW5zCisjZW5kaWYgLy8jaWYgZGVmaW5lZChfX0RSVl9CTVRfVUxUUkFfTE9XX0NPU1RfQ0hBUkdFUl9fKQorCisjZW5kaWYgLy8gRW5kIG9mICNpZiBkZWZpbmVkKF9fVEMwMV9fKQorCisvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLy8KKy8vIFVzZWxlc3MgRGVmaW5pdGlvbnMKKy8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAvLworLyogUG93ZXIga2V5IHBvc2l0aW9uICovCisjaWYgMAorI2lmbmRlZiBDQU5OT04KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKyNlbHNlCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisjZW5kaWYKKyNlbmRpZiAKKworLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC8vCisvLyBEYXRhIHN0cnVjdHVyZXMgZm9yIEJNVCBNb2R1bGUgT25seQorLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC8vCit0eXBlZGVmIHZvaWQgKCogQ0hSX0ZVTkMpKHZvaWQpOworCit0eXBlZGVmIHN0cnVjdCB7CisgICBrYWxfdWludDggICAgVE9OOy8qc2VjKi8KKyAgIGthbF91aW50OCAgICBUT0ZGOy8qc2VjKi8KK30gQ0hSVFN0cnVjdDsKKworLyogQ3VzdG9taXplIENoYXJnaW5nIFBhcmFtZXRlcnMgKi8KK3R5cGVkZWYgc3RydWN0IHsKKyAgIGthbF9pbnQzMiBUWVBJQ0FMX0xJX0JBVFRZUEU7CisgICBrYWxfaW50MzIgVFlQSUNBTF9OSV9CQVRUWVBFOworICAga2FsX3VpbnQzMiBCQVRUX0VYSVNUX0FEQ19USFJFU0hPTEQ7CisgICBrYWxfaW50MzIgVkNIQVJHRVJfSElHSDsKKyAgIGthbF9pbnQzMiBWQ0hBUkdFUl9MT1c7CisgICBrYWxfaW50MzIgQkFUVE1QX01JTlVTXzQwQzsKKyAgIGthbF9pbnQzMiBCQVRUTVBfMEM7CisgICBrYWxfaW50MzIgQkFUVE1QXzQ1QzsKKyAgIGthbF9pbnQzMiBJQ0hBUkdFX09OX0hJR0g7CisgICBrYWxfaW50MzIgSUNIQVJHRV9PTl9MT1c7CisgICBrYWxfaW50MzIgSUNIQVJHRV9PRkZfSElHSDsKKworICAga2FsX2ludDMyIFZfUFJFMkZBU1RfVEhSRVM7ICAgCisgICBrYWxfaW50MzIgRkFTVF9JQ0hBUkdFX0hJR0hMRVZFTDsgLyogNjAwbWEsZm9yIHRhYmxlIHNlYXJjaCAqLworICAga2FsX2ludDMyIEZBU1RfSUNIQVJHRV9MT1dMRVZFTDsgIC8qIDQwMG1hLGZvciB0YWJsZSBzZWFyY2ggKi8KKyAgIGthbF9pbnQzMiBJX1RPUE9GRjJGQVNUX1RIUkVTOyAvKiAyNTBtYSxUT1BPRkYtPkZBU1QgKi8KKyAgIGthbF9pbnQzMiBJX1RPUE9GRjJGVUxMX1RIUkVTOyAgLyogMTIwbWEsVE9QT0ZGLT5CQVRGVUxMICovCisgICAKKyNpZiBkZWZpbmVkKENIUl9XSVRIX0xJX0lPTl9CQVRURVJZKSAgIAorICAga2FsX2ludDMyIFZfRkFTVDJUT1BPRkZfVEhSRVM7CisgICBrYWxfaW50MzIgVl9GVUxMMkZBU1RfVEhSRVM7IC8qIEJBVEZVTEwtPkZBU1QgKi8KKyAgIGthbF9pbnQzMiBNQVhfVkJBVF9MSTsKKyAgIGthbF9pbnQzMiBWX1BST1RFQ1RfSElHSF9MSTsKKyAgIGthbF9pbnQzMiBWX1BST1RFQ1RfTE9XX0xJOworI2VuZGlmCisKKyNpZiBkZWZpbmVkKENIUl9XSVRIX05JX01IX0JBVFRFUlkpCisgICBrYWxfaW50MzIgVl9URU1QX0ZBU1QyRlVMTF9USFJFU19OSTsgLyogNTBvQyxGQVNULT5CQVRGVUxMICovCisgICBrYWxfaW50MzIgVl9GVUxMMkZBU1RfVEhSRVNfTkk7CisgICBrYWxfaW50MzIgTUFYX1ZCQVRfTkk7CisjZW5kaWYKKworICAgLypUaW1lIGRlbGF5Ki8KKyAgIC8qIFBSRSBDSEFSR0UgLHNlYXJjaCB0YWJsZSovCisgICAvKlRPTiA9IDNzLFRPRkY9MnMqLworICAga2FsX3VpbnQzMiBQUkVfVE9OOworICAga2FsX3VpbnQzMiBQUkVfVE9GRjsKKworLyogRkFTVCBDSEFSR0UgLHNlYXJjaCB0YWJsZSovCisvKlRPTiA9IDNzLFRPRkY9MHMqLworICAga2FsX3VpbnQzMiBUT1BPRkZfVE9OOworICAga2FsX3VpbnQzMiBUT1BPRkZfVE9GRjsKKyNpZiBkZWZpbmVkKERSVl9CTVRfUFVMU0VfQ0hBUkdJTkcpCisgICBrYWxfdWludDMyIEJBVFBPU1RGVUxMX1RXQUlUX0xJOworICAga2FsX3VpbnQzMiBCQVRQT1NURlVMTF9UT05fTEk7CisgICBrYWxfdWludDMyIEJBVFBPU1RGVUxMX1RPRkZfTEk7CisjZW5kaWYgLy8jaWYgZGVmaW5lZChEUlZfQk1UX1BVTFNFX0NIQVJHSU5HKQorCisjaWYgZGVmaW5lZChDSFJfV0lUSF9MSV9JT05fQkFUVEVSWSkgICAKKyAgIGthbF91aW50MzIgQkFURlVMTF9UT05fTEk7ICAvKnVuaXQgOiBzZWNvbmQqLworICAga2FsX3VpbnQzMiBCQVRGVUxMX1RPRkZfTEk7CisjZWxzZSAgIAorICAga2FsX3VpbnQzMiBCQVRGVUxMX1RPTl9OSTsgIC8qdW5pdCA6IHNlY29uZCovCisgICBrYWxfdWludDMyIEJBVEZVTExfVE9GRl9OSTsKKyNlbmRpZiAgIAorICAga2FsX3VpbnQzMiBCQVRGVUxMX1RPRkY7CisgICBrYWxfdWludDMyIEJBVEhPTERfT0ZGOyAgIAorICAga2FsX3VpbnQzMiBibXRfbWVhc3VyZV9kaXNjYXJkX3RpbWU7IC8qMjQgdGlja3MqLworCisgICBrYWxfaW50MzIgQ3Vyck9mZnNldFszXTsKKy8qR1BJTyBjb250cm9sKi8gICAKKyNpZm5kZWYgIF9fQ1VTVF9ORVdfXworICAga2FsX3VpbnQ4IEdQSU9fQ0hSQ1RSTDsKKyAgIGthbF91aW50OCBHUElPX0JBVERFVDsKKyAgIGthbF91aW50OCBHUElPX1ZJQlJBVE9SOworI2VuZGlmICAvKiBfX0NVU1RfTkVXX18gKi8gICAKKyAgIGthbF91aW50OCBUT05PRkZUQUJMRVs2XVsyXTsKKyAgIGthbF9ib29sCSBibXRfY2hlY2tfYmF0dGVyeTsgICAKKyAgIGthbF9ib29sCSBibXRfY2hlY2tfY2hhcmdlcjsgIAorICAga2FsX2Jvb2wgIGJtdF9jaGVja190ZW1wOworICAga2FsX2Jvb2wgIGJtdF9iYXR0ZXJ5X3R5cGU7ICAgCit9IGJtdF9jdXN0b21pemVkX3N0cnVjdDsKKworLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC8vCisvLyBVc2VsZXNzIERhdGEgc3RydWN0dXJlcworLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC8vCit0eXBlZGVmIHN0cnVjdHsKKwl2b2lkICgqbWVhc3VyZV9mdW5jKShrYWxfdWludDgpOworCXZvaWQgKCpyZWFkX2JhY2spKGthbF91aW50OCk7IAorfUJNVF9NZWFzRnVuY3M7CisKKy8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAvLworLy8gRW51bWVyYXRpb24gZm9yIEJNVCBNb2R1bGUgT25seQorLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC8vCit0eXBlZGVmIGVudW17CQorCVVTQl9JTl9TVEFURSwKKwlVU0IxMDBfU1RBVEUsCisJVVNCNTAwX1NUQVRFLAorCVVTQl9PVVRfU1RBVEUsCisJQUNfSU5fU1RBVEUsCisJQUNfT1VUX1NUQVRFLAorCVVTQl9JTklUX1NUQVRFCit9Ym10X3VzYl9zdGF0ZV9lbnVtOworCit0eXBlZGVmIGVudW17CisJQk1UX0FDX0lOLAorCUJNVF9VU0JfSU4JCit9Ym10X3VzYl9jaGFyZ2VyX2VudW07CisKKy8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAvLworLy8gVXNlbGVzcyBFbnVtZXJhdGlvbgorLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC8vCisvLyBDaGFyZ2luZyBzdGF0dXMgZW51bQordHlwZWRlZiBlbnVtCit7CisgIEJNVF9DSFJfU1RBVFVTX05PTkUgICAgICAgICAgICAgICAgICAgICAgICA9IDB4MDAwMDAwMDAsCisgIEJNVF9DSFJfU1RBVFVTX0NIQVJHRV9DVVJSRU5UX1RPT19ISUdIICAgICA9IDB4MDAwMDAwMDEsICAvLyBCSVQwMAorICBCTVRfQ0hSX1NUQVRVU19DSEFSR0VfQ1VSUkVOVF9UT09fTE9XICAgICAgPSAweDAwMDAwMDAyLCAgLy8gQklUMDEKKyAgQk1UX0NIUl9TVEFUVVNfRElTQ0hBUkdFX0NVUlJFTlRfVE9PX0hJR0ggID0gMHgwMDAwMDAwNCwgIC8vIEJJVDAyCisgIEJNVF9DSFJfU1RBVFVTX0NIQVJHRV9WQkFUVEVNUF9UT09fSElHSCAgICA9IDB4MDAwMDAwMDgsICAvLyBCSVQwMworICBCTVRfQ0hSX1NUQVRVU19DSEFSR0VfVkJBVFRFTVBfVE9PX0xPVyAgICAgPSAweDAwMDAwMDEwLCAgLy8gQklUMDQKKyAgQk1UX0NIUl9TVEFUVVNfQ0hBUkdFX1ZCQVRfVE9PX0hJR0ggICAgICAgID0gMHgwMDAwMDAyMCwgIC8vIEJJVDA1CisgIEJNVF9DSFJfU1RBVFVTX0NIQVJHRV9WQ0hBUkdFUl9UT09fSElHSCAgICA9IDB4MDAwMDAwNDAsICAvLyBCSVQwNgorICBCTVRfQ0hSX1NUQVRVU19DSEFSR0VfVkNIQVJHRVJfVE9PX0xPVyAgICAgPSAweDAwMDAwMDgwLCAgLy8gQklUMDcKKyAgQk1UX0NIUl9TVEFUVVNfQ0hBUkdFX0ZVTEwgICAgICAgICAgICAgICAgID0gMHgwMDAwMDEwMCwgIC8vIEJJVDA4CisgIEJNVF9DSFJfU1RBVFVTX0JBVFRfQkFEX0NPTlRBQ1QgICAgICAgICAgICA9IDB4MDAwMDAyMDAsICAvLyBCSVQwOQorICBCTVRfQ0hSX1NUQVRVU19UQUxLX0hPTEQgICAgICAgICAgICAgICAgICAgPSAweDAwMDAwNDAwLCAgLy8gQklUMTAKKworICBCTVRfQ0hSX1NUQVRVU19NQVggICAgICAgICAgICAgICAgICAgICAgICAgPSAweDEwMDAwMDAwICAgLy8gQklUMzEKK31ibXRfY2hyX3N0YXR1c19lbnVtOworCisKKy8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLy8gRXhwb3J0ZWQgQVBJcyAoT25seSBmb3IgQk1UIE1vZHVsZSkKKworLyogRm9yIEFEQyBzY2hlZHVsZSAmIG1lYXN1cmUqLworZXh0ZXJuIGthbF9pbnQzMiBhZGNfbWVhc3VyZVZvbHRhZ2Uoa2FsX3VpbnQ4IGNoYW5uLCBkb3VibGUgKmFkY192YWx1ZSk7CisKKyNpZmRlZiBfX0JNVF9DSEFSR0VfR1VBUkRfVElNRV9fCitleHRlcm4gdm9pZCBibXRfc2V0X2d1YXJkdGltZXIoa2FsX3VpbnQzMiB0aWNrKTsKK2V4dGVybiB2b2lkIGJtdF9zdG9wX2d1YXJkdGltZXIodm9pZCk7CisjZW5kaWYgLy8gI2lmZGVmIF9fQk1UX0NIQVJHRV9HVUFSRF9USU1FX18KKyNpZiBkZWZpbmVkKF9fRFJWX0JNVF9FU1RJTUFUSVZFX1RJTUVSX09OX1RPUE9GRl9fKQorZXh0ZXJuIHZvaWQgYm10X3NldF9lc3RpbWF0aXZldGltZXIoa2FsX3VpbnQzMiB0aWNrKTsKK2V4dGVybiB2b2lkIGJtdF9zdG9wX2VzdGltYXRpdmV0aW1lcih2b2lkKTsKKyNlbmRpZiAvLyAjaWYgZGVmaW5lZChfX0RSVl9CTVRfRVNUSU1BVElWRV9USU1FUl9PTl9UT1BPRkZfXykKKworZXh0ZXJuIHZvaWQgYm10X3N0b3Bfc3RvcHRpbWVyKHZvaWQpOworZXh0ZXJuIHZvaWQgQk1UX0NoYXJnZShrYWxfYm9vbCBkYXRhKTsgIC8qIGluIGRydiBkaXJlY3RvcnkgKi8KK2V4dGVybiB2b2lkIGJtdF9pbml0aWFsaXplKHZvaWQpOworZXh0ZXJuIHZvaWQgYm10X3NldF9jaHJfY3VycmVudCh2b2lkKTsKK2V4dGVybiB2b2lkIGJtdF9Nb2RpZnlfUG93ZXJPbl9UeXBlKGthbF91aW50OCBwb3dlcl90eXBlKTsKK2V4dGVybiB2b2lkIGJtdF9maW5kX2FuZF9zZXRfdGhlX25lYXJlc3RfY3VycmVudChQTVVfQ0hSX0NVUlJFTlRfRU5VTSBTZXRDdXJyZW50KTsKK2V4dGVybiB2b2lkIGJtdF9maW5kX2FuZF9zZXRfdGhlX25lYXJlc3RfY2hhcmdlcl9oaWdoX3ZvbHRhZ2UoRENMX1VJTlQzMiB2b2x0YWdlKTsKK2V4dGVybiBrYWxfdWludDggYm10X0dldF9Qb3dlck9uX1R5cGUodm9pZCk7CitleHRlcm4ga2FsX2Jvb2wgYm10X2ZyZXF1ZW50bHlfY2hlY2tfb25fc3RhdGUodm9pZCk7CisjaWYgZGVmaW5lZChEUlZfQk1UX0hXX1BSRUNDX1dPUktBUk9VTkQpCitleHRlcm4ga2FsX2Jvb2wgYm10X2ZyZXF1ZW50bHlfY2hlY2tfb2ZmX3N0YXRlKHZvaWQpOworI2VuZGlmCitleHRlcm4ga2FsX2Jvb2wgQk1UX1ZCYXRWb2x0YWdlSXNGdWxsKGthbF91aW50MzIgdm9sdGFnZSk7CitleHRlcm4ga2FsX2Jvb2wgQk1UX0N1cnJlbnRfVm9sdGFnZShEQ0xfQURDX0NIQU5ORUxfVFlQRV9FTlVNIGNoLCBrYWxfdWludDMyICp2b2x0YWdlLCBkb3VibGUgKmFkY192YWx1ZSk7CitleHRlcm4ga2FsX2Jvb2wgYm10X2NoZWNrX2lmX2JhdF9vbih2b2lkKTsKK2V4dGVybiBibXRfdXNiX2NoYXJnZXJfZW51bSBibXRfSXNVU0JvckNoYXJnZXIodm9pZCk7CisKKyNpZiBkZWZpbmVkKF9fRFJWX0JBVFRFUllfRVhJU1RfREVURUNUSU9OX18pCitleHRlcm4ga2FsX3VpbnQzMiBibXRfZ2V0X2JhdHRfZXhpc3RfZGV0X3BlcmlvZCh2b2lkKTsKKyNlbmRpZiAvLyAjaWYgZGVmaW5lZChfX0RSVl9CQVRURVJZX0VYSVNUX0RFVEVDVElPTl9fKQorZXh0ZXJuIERDTF9TVEFUVVMgYm10X2dldF9jdXN0b21pemVkX3BhcmEoQk1UX0NUUkxfR0VUX0NVU1RPTUlaRURfUEFSQV9UICpHZXRDdXN0b21pemVkUGFyYSk7CisKKy8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLy8gRXh0ZXJuYWwgVmFyaWFibGVzCitleHRlcm4gYm10X2N1c3RvbWl6ZWRfc3RydWN0ICpibXRfY2hhcmdpbmdfcGFyYTsgCitleHRlcm4gYm10X2N1c3RvbWl6ZWRfc3RydWN0IGJtdF9jdXN0b21fY2hyX2RlZjsKKyNpZiBkZWZpbmVkKERSVl9CTVRfSFdfUFJFQ0NfV09SS0FST1VORCkKK2V4dGVybiBrYWxfYm9vbCBTV19Xb3JrYXJvdW5kX0ZsYWc7CitleHRlcm4ga2FsX2Jvb2wgTWFudWFsX0Rpc2FibGVfQ2hhcmdlX0ZsYWc7CitleHRlcm4ga2FsX3VpbnQ4IEhXX1BsdWdfU3RhdHVzOworI2VuZGlmCisKKy8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLy8gTW9ESVMgcGFyc2VyIHNraXAgc3RhcnQKKy8vIEV4cG9ydGVkIGZ1bmN0aW9ucywgdXNlZCBieSBkcml2ZXIgbGV2ZWwgZnVuY3Rpb25zCisKKy8vIE1vRElTIHBhcnNlciBza2lwIGVuZAorCisvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy8vIE1vRElTIHBhcnNlciBza2lwIHN0YXJ0CisvLyBVbmtub3duIGZ1bmN0aW9ucywgbWF5YmUgcHJldmlvdXMgb3duZXIgZm9yZ290IHRvIGRlbGV0ZQorCisvLyBNb0RJUyBwYXJzZXIgc2tpcCBlbmQKKworI2lmICFkZWZpbmVkKERSVl9CTVRfT0ZGKQorCisjZWxzZSAvLyAhZGVmaW5lZChEUlZfQk1UX09GRikKKworI2VuZGlmIC8vICFkZWZpbmVkKERSVl9CTVRfT0ZGKQorCisjZW5kaWYgLy8gRW5kIG9mICNpZm5kZWYgX0JNVF9TV19ICisKZGlmZiAtLWdpdCBhL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvYm10X3RyYy5oIGIvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9ibXRfdHJjLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmVhY2I3MwotLS0gL2Rldi9udWxsCisrKyBiL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvYm10X3RyYy5oCkBAIC0wLDAgKzEsMjA4IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMDUKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4gCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBGaWxlbmFtZToKKyAqIC0tLS0tLS0tLQorICogICBibXRfdHJjLmgKKyAqCisgKiBQcm9qZWN0OgorICogLS0tLS0tLS0KKyAqICAgTUFVSQorICoKKyAqIERlc2NyaXB0aW9uOgorICogLS0tLS0tLS0tLS0tCisgKiAgIFRoaXMgaXMgdHJhY2UgbWFwIGRlZmluaXRpb24gZm9yIEJNVC4KKyAqCisgKiBBdXRob3I6CisgKiAtLS0tLS0tCisgKiAtLS0tLS0tCisgKgorICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKiAgICAgICAgICAgICBISVNUT1JZCisgKiBCZWxvdyB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiBVcHBlciB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZm5kZWYgX0JNVF9UUkNfSAorI2RlZmluZSBfQk1UX1RSQ19ICisjaWZuZGVmIEdFTl9GT1JfUEMKKyAgICNpZm5kZWYgX1NUQUNLX0NPTkZJR19ICisgICAjZXJyb3IgInN0YWNrX2NvbmZpZy5oIHNob3VsZCBiZSBpbmNsdWRlZCBiZWZvcmUgdHN0X2NvbmZpZy5oIgorICAgI2VuZGlmCisjZWxzZQorICAgI2luY2x1ZGUgImthbF90cmFjZS5oIgorI2VuZGlmIC8qIEdFTl9GT1JfUEMgKi8KKy8vIEZvciBSSFIgQUREIFVzYWdlCisjaW5jbHVkZSAic3RhY2tfY29uZmlnLmgiCisjaW5jbHVkZSAia2FsX3RyYWNlLmgiCisjaWZuZGVmIF9LQUxfVFJBQ0VfSAorICAgI2Vycm9yICJrYWxfdHJhY2UuaCBzaG91bGQgYmUgaW5jbHVkZWQgYmVmb3JlIHRzdF90cmFjZS5oIgorI2VuZGlmCisjaWYgIWRlZmluZWQoR0VOX0ZPUl9QQykKKyNpZiBkZWZpbmVkKF9fVFNUX01PRFVMRV9fKSB8fCBkZWZpbmVkKF9fQ1VTVE9NX1JFTEVBU0VfXykKKyNlbmRpZiAvKiBUU1QgVHJhY2UgRGVmaW50aW9uICovCisjZW5kaWYKKyNpZiAhZGVmaW5lZChHRU5fRk9SX1BDKQorI2luY2x1ZGUiYm10X3RyY19tb2RfYm10X3V0bWQuaCIKKyNlbmRpZgorI2VuZGlmIC8qIF9CTVRfVFJDX0ggKi8KZGlmZiAtLWdpdCBhL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvYm10X3RyY19tb2RfYm10X3V0bWQuanNvbiBiL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvYm10X3RyY19tb2RfYm10X3V0bWQuanNvbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNzhjMmIyCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9ibXRfdHJjX21vZF9ibXRfdXRtZC5qc29uCkBAIC0wLDAgKzEsMTY2NiBAQAoreworICAiZW5kR2VuIjogIkxlZ2FjeSIsIAorICAic3RhcnRHZW4iOiAiTGVnYWN5IiwKKyAgImxlZ2FjeVBhcmFtZXRlcnMiOiB7fSwgCisgICJtb2R1bGUiOiAiTU9EX0JNVCIsIAorICAidHJhY2VDbGFzc0RlZnMiOiBbCisgICAgeworICAgICAgIlRSQUNFX0lORk8iOiB7CisgICAgICAgICJkZWJ1Z0xldmVsIjogIlVsdHJhLUxvdyIsIAorICAgICAgICAidGFnIjogWworICAgICAgICAgICJCYXNlbGluZSIsIAorICAgICAgICAgICJUUkFDRV9JTkZPIgorICAgICAgICBdLCAKKyAgICAgICAgInRyYWNlVHlwZSI6ICJQdWJsaWMiCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIlRSQUNFX1dBUk5JTkciOiB7CisgICAgICAgICJkZWJ1Z0xldmVsIjogIlVsdHJhLUxvdyIsIAorICAgICAgICAidGFnIjogWworICAgICAgICAgICJCYXNlbGluZSIsIAorICAgICAgICAgICJUUkFDRV9XQVJOSU5HIgorICAgICAgICBdLCAKKyAgICAgICAgInRyYWNlVHlwZSI6ICJQdWJsaWMiCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIlRSQUNFX0VSUk9SIjogeworICAgICAgICAiZGVidWdMZXZlbCI6ICJVbHRyYS1Mb3ciLCAKKyAgICAgICAgInRhZyI6IFsKKyAgICAgICAgICAiQmFzZWxpbmUiLCAKKyAgICAgICAgICAiVFJBQ0VfRVJST1IiCisgICAgICAgIF0sIAorICAgICAgICAidHJhY2VUeXBlIjogIlB1YmxpYyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiVFJBQ0VfRlVOQyI6IHsKKyAgICAgICAgImRlYnVnTGV2ZWwiOiAiVWx0cmEtTG93IiwgCisgICAgICAgICJ0YWciOiBbCisgICAgICAgICAgIkJhc2VsaW5lIiwgCisgICAgICAgICAgIlRSQUNFX0ZVTkMiCisgICAgICAgIF0sIAorICAgICAgICAidHJhY2VUeXBlIjogIlB1YmxpYyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiVFJBQ0VfU1RBVEUiOiB7CisgICAgICAgICJkZWJ1Z0xldmVsIjogIlVsdHJhLUxvdyIsIAorICAgICAgICAidGFnIjogWworICAgICAgICAgICJCYXNlbGluZSIsIAorICAgICAgICAgICJUUkFDRV9TVEFURSIKKyAgICAgICAgXSwgCisgICAgICAgICJ0cmFjZVR5cGUiOiAiUHVibGljIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJUUkFDRV9HUk9VUF8xIjogeworICAgICAgICAiZGVidWdMZXZlbCI6ICJVbHRyYS1Mb3ciLCAKKyAgICAgICAgInRhZyI6IFsKKyAgICAgICAgICAiQmFzZWxpbmUiLCAKKyAgICAgICAgICAiVFJBQ0VfR1JPVVAxIgorICAgICAgICBdLCAKKyAgICAgICAgInRyYWNlVHlwZSI6ICJQdWJsaWMiCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIlRSQUNFX0dST1VQXzIiOiB7CisgICAgICAgICJkZWJ1Z0xldmVsIjogIlVsdHJhLUxvdyIsIAorICAgICAgICAidGFnIjogWworICAgICAgICAgICJCYXNlbGluZSIsIAorICAgICAgICAgICJUUkFDRV9HUk9VUDIiCisgICAgICAgIF0sIAorICAgICAgICAidHJhY2VUeXBlIjogIlB1YmxpYyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiVFJBQ0VfR1JPVVBfMyI6IHsKKyAgICAgICAgImRlYnVnTGV2ZWwiOiAiVWx0cmEtTG93IiwgCisgICAgICAgICJ0YWciOiBbCisgICAgICAgICAgIkJhc2VsaW5lIiwgCisgICAgICAgICAgIlRSQUNFX0dST1VQMyIKKyAgICAgICAgXSwgCisgICAgICAgICJ0cmFjZVR5cGUiOiAiUHVibGljIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJUUkFDRV9HUk9VUF80IjogeworICAgICAgICAiZGVidWdMZXZlbCI6ICJVbHRyYS1Mb3ciLCAKKyAgICAgICAgInRhZyI6IFsKKyAgICAgICAgICAiQmFzZWxpbmUiLCAKKyAgICAgICAgICAiVFJBQ0VfR1JPVVA0IgorICAgICAgICBdLCAKKyAgICAgICAgInRyYWNlVHlwZSI6ICJQdWJsaWMiCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIlRSQUNFX0dST1VQXzUiOiB7CisgICAgICAgICJkZWJ1Z0xldmVsIjogIlVsdHJhLUxvdyIsIAorICAgICAgICAidGFnIjogWworICAgICAgICAgICJCYXNlbGluZSIsIAorICAgICAgICAgICJUUkFDRV9HUk9VUDUiCisgICAgICAgIF0sIAorICAgICAgICAidHJhY2VUeXBlIjogIlB1YmxpYyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiVFJBQ0VfR1JPVVBfNiI6IHsKKyAgICAgICAgImRlYnVnTGV2ZWwiOiAiVWx0cmEtTG93IiwgCisgICAgICAgICJ0YWciOiBbCisgICAgICAgICAgIkJhc2VsaW5lIiwgCisgICAgICAgICAgIlRSQUNFX0dST1VQNiIKKyAgICAgICAgXSwgCisgICAgICAgICJ0cmFjZVR5cGUiOiAiUHVibGljIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJUUkFDRV9HUk9VUF83IjogeworICAgICAgICAiZGVidWdMZXZlbCI6ICJVbHRyYS1Mb3ciLCAKKyAgICAgICAgInRhZyI6IFsKKyAgICAgICAgICAiQmFzZWxpbmUiLCAKKyAgICAgICAgICAiVFJBQ0VfR1JPVVA3IgorICAgICAgICBdLCAKKyAgICAgICAgInRyYWNlVHlwZSI6ICJQdWJsaWMiCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIlRSQUNFX0dST1VQXzgiOiB7CisgICAgICAgICJkZWJ1Z0xldmVsIjogIlVsdHJhLUxvdyIsIAorICAgICAgICAidGFnIjogWworICAgICAgICAgICJCYXNlbGluZSIsIAorICAgICAgICAgICJUUkFDRV9HUk9VUDgiCisgICAgICAgIF0sIAorICAgICAgICAidHJhY2VUeXBlIjogIlB1YmxpYyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiVFJBQ0VfR1JPVVBfOSI6IHsKKyAgICAgICAgImRlYnVnTGV2ZWwiOiAiVWx0cmEtTG93IiwgCisgICAgICAgICJ0YWciOiBbCisgICAgICAgICAgIkJhc2VsaW5lIiwgCisgICAgICAgICAgIlRSQUNFX0dST1VQOSIKKyAgICAgICAgXSwgCisgICAgICAgICJ0cmFjZVR5cGUiOiAiUHVibGljIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJUUkFDRV9HUk9VUF8xMCI6IHsKKyAgICAgICAgImRlYnVnTGV2ZWwiOiAiVWx0cmEtTG93IiwgCisgICAgICAgICJ0YWciOiBbCisgICAgICAgICAgIkJhc2VsaW5lIiwgCisgICAgICAgICAgIlRSQUNFX0dST1VQMTAiCisgICAgICAgIF0sIAorICAgICAgICAidHJhY2VUeXBlIjogIlB1YmxpYyIKKyAgICAgIH0KKyAgICB9CisgIF0sIAorICAidHJhY2VEZWZzIjogWworICAgIHsKKyAgICAgICJCTVRfQ1RSTF9DSEFSR0VfVFJDIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIkJNVDogQk1UX0N0cmxDaGFyZ2UgPSAlZC4iLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX0NIQVJHSU5HX0FMUkVBRFlfT05fVFJDIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIkJNVDogQ2hhcmdpbmcgaXMgYWxyZWFkeSBvbiIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfQ0FMTF9TVEFURV9UUkMiOiB7CisgICAgICAgICJfY29tbWVudCI6ICJUcmFjZSByZWZlcmVuY2Ugbm90IGZvdW5kIiwgCisgICAgICAgICJmb3JtYXQiOiAiQk1UX0NhbGxTdGF0ZTogY2FsbFN0YXRlID0gJWQuIiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9JTlZBTElEX0NIQVJHRVJfVFJDIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIkludmFsaWQgQ2hhcmdlci4iLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX0lDSEFSR0VfT1ZFUl9UUkMiOiB7CisgICAgICAgICJfY29tbWVudCI6ICJUcmFjZSByZWZlcmVuY2Ugbm90IGZvdW5kIiwgCisgICAgICAgICJmb3JtYXQiOiAiSUNIQVJHRSB0b28gaGlnaC4iLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX0lDSEFSR0VfTE9XX1RSQyI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJJQ0hBUkdFIHRvbyBsb3cuIiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9WQkFUX09WRVJfVFJDIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIlZCQVQgdG9vIGhpZ2guIiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9WVEVNUF9PVkVSX1RSQyI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJCQVRUTVAgdG9vIGhpZ2guIiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9WVEVNUF9MT1dfVFJDIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIkJBVFRNUCB0b28gbG93LiIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfQ0hSX0hPTERfVFJDIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIkNIUl9IT0xELiIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfVkJBVF9UUkMiOiB7CisgICAgICAgICJfY29tbWVudCI6ICJUcmFjZSByZWZlcmVuY2Ugbm90IGZvdW5kIiwgCisgICAgICAgICJmb3JtYXQiOiAiVkJBVCA9ICVkLiIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfVkJBVFRNUF9UUkMiOiB7CisgICAgICAgICJfY29tbWVudCI6ICJUcmFjZSByZWZlcmVuY2Ugbm90IGZvdW5kIiwgCisgICAgICAgICJmb3JtYXQiOiAiVkJBVFRNUCA9ICVkLiIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfQkFUVE1QX1RSQyI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJCQVRUTVAgPSAlZC4iLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX0lDSEFSR0VfVFJDIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIklDSEFSR0UgPSAlZC4iLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX1ZTRU5TRV9UUkMiOiB7CisgICAgICAgICJfY29tbWVudCI6ICJUcmFjZSByZWZlcmVuY2Ugbm90IGZvdW5kIiwgCisgICAgICAgICJmb3JtYXQiOiAiVlNFTlNFID0gJWQuIiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9WU0VOU0VfVkJBVF9PRkZTRVRfVFJDIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIlZTRU5TRSAtIFZCQVQoT0ZGU0VUKSA9ICVkLiIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfVkNIQVJHRVJfVFJDIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIlZDSEFSR0VSID0gJWQuIiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9DSFJQUkVfT05fU1RBVEVfVFJDIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIlNUQVRFID0gQk1UX0NIUlBSRV9PTi4iLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX0NIUlBSRV9PRkZfU1RBVEVfVFJDIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIlNUQVRFID0gQk1UX0NIUlBSRV9PRkYuIiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9GQVNUX0NIQVJHRV9DSEFOR0VfVFJDIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIkNoYWdlIHN0YXRlIHRvIEZBU1RfQ0hBUkdFLiIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfRkFTVF9PTl9TVEFURV9UUkMiOiB7CisgICAgICAgICJfY29tbWVudCI6ICJUcmFjZSByZWZlcmVuY2Ugbm90IGZvdW5kIiwgCisgICAgICAgICJmb3JtYXQiOiAiU1RBVEUgPSBCTVRfQ0hSRkFTVF9PTi4iLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX0ZBU1RfT0ZGX1NUQVRFX1RSQyI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJTVEFURSA9IEJNVF9DSFJGQVNUX09GRi4iLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX1BNVV9QVUxTRUNIUl9UUkMiOiB7CisgICAgICAgICJfY29tbWVudCI6ICJUcmFjZSByZWZlcmVuY2Ugbm90IGZvdW5kIiwgCisgICAgICAgICJmb3JtYXQiOiAiU1RBVEUgPSBCTVRfUE1VX1BVTFNFQ0hSLiIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfQ0hSX1BPU1RGVUxMX0NIQU5HRV9UUkMiOiB7CisgICAgICAgICJfY29tbWVudCI6ICJUcmFjZSByZWZlcmVuY2Ugbm90IGZvdW5kIiwgCisgICAgICAgICJmb3JtYXQiOiAiQ2hhZ2Ugc3RhdGUgdG8gQ0hSX1BPU1RGVUxMLiIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfQ0hSX0JBVEZVTExfQ0hBTkdFX1RSQyI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJDaGFnZSBzdGF0ZSB0byBDSFJfQkFURlVMTC4iLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX0NIUl9VTkRFUl9FWFRSRU1FVE1QX1RSQyI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJOb3cgaXQncyB1bmRlciBleHRyZW1lIHRlbXBlcmF0dXJlLiIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfQ0hSX0VYVFJFTUVUTVBfQkFURlVMTF9DSEFOR0VfVFJDIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIkNoYWdlIHN0YXRlIHRvIENIUl9CQVRGVUxMIGJlY2F1c2Ugb2YgZXh0cmVtZSB0ZW1wZXJhdHVyZS4iLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX0NIUl9FWFRSRU1FVE1QX0NIQVJHRV9SRUNIQVJHRV9UUkMiOiB7CisgICAgICAgICJfY29tbWVudCI6ICJUcmFjZSByZWZlcmVuY2Ugbm90IGZvdW5kIiwgCisgICAgICAgICJmb3JtYXQiOiAiUmVzdGFydCBjaGFyZ2luZyBiZWNhdXNlIG9mIHRoZSB2b2x0YWdlIGRyb3AgdW5kZXIgZXh0cmVtZSB0ZW1wZXJhdHVyZS4iLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX0NIUl9UT1BPRkZfQ0hBTkdFX1RSQyI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJDaGFnZSBzdGF0ZSB0byBDSFJfVE9QT0ZGLiIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfQ0hSVE9QT0ZGX09OX1NUQVRFX1RSQyI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJTVEFURSA9IEJNVF9DSFJUT1BPRkZfT04uIiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9DSFJfRkFTVF9DSEFOR0VfVFJDIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIkNoYWdlIHN0YXRlIHRvIENIUl9GQVNULiIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfQ0hSVE9QT0ZGX09GRl9TVEFURV9UUkMiOiB7CisgICAgICAgICJfY29tbWVudCI6ICJUcmFjZSByZWZlcmVuY2Ugbm90IGZvdW5kIiwgCisgICAgICAgICJmb3JtYXQiOiAiU1RBVEUgPSBCTVRfQ0hSVE9QT0ZGX09GRi4iLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX0NIUkJBVFBPU1RGVUxMX09OX1NUQVRFX1RSQyI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJTVEFURSA9IENIUl9QT1NURlVMTF9PTi4iLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX0NIUkJBVFBPU1RGVUxMX09GRl9TVEFURV9UUkMiOiB7CisgICAgICAgICJfY29tbWVudCI6ICJUcmFjZSByZWZlcmVuY2Ugbm90IGZvdW5kIiwgCisgICAgICAgICJmb3JtYXQiOiAiU1RBVEUgPSBDSFJfUE9TVEZVTExfT0ZGLiIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfQ0hSQkFURlVMTF9PTl9TVEFURV9UUkMiOiB7CisgICAgICAgICJfY29tbWVudCI6ICJUcmFjZSByZWZlcmVuY2Ugbm90IGZvdW5kIiwgCisgICAgICAgICJmb3JtYXQiOiAiU1RBVEUgPSBCTVRfQ0hSQkFURlVMTF9PTi4iLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX0NIUkJBVEZVTExfT0ZGX1NUQVRFX1RSQyI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJTVEFURSA9IEJNVF9DSFJCQVRGVUxMX09GRi4iLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX0NIUkhPTERfU1RBVEVfVFJDIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIlNUQVRFID0gQk1UX0NIUkhPTEQuIiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9ISUdIX0JBVF9GVUxMX1RSQyI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJIaWdoIEJhdHRlcnkgRnVsbC4iLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX01FQVNVUkVfU1RPUF9UUkMiOiB7CisgICAgICAgICJfY29tbWVudCI6ICJUcmFjZSByZWZlcmVuY2Ugbm90IGZvdW5kIiwgCisgICAgICAgICJmb3JtYXQiOiAiQk1UX01lYXN1cmVTdG9wLiIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfUFdST05fVFJDIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIkJNVC5QV1JvbiA9ICVkLiIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfVEFTS19NQUlOX1RSQyI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICI9PT09PT09PT09PT09PT09PT09PT1CTVRfdGFza19tYWluPT09PT09PT09PT09PT09PT09PT09LiIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfQ0hBUkdFX0dVQVJEX1RJTUVSX0VYUElSRV9UUkMiOiB7CisgICAgICAgICJfY29tbWVudCI6ICJUcmFjZSByZWZlcmVuY2Ugbm90IGZvdW5kIiwgCisgICAgICAgICJmb3JtYXQiOiAiQ2hhcmdpbmcgZ3VhcmQgdGltZXIoJWQgbWludXRlcykgZXhwaXJlZC4iLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX1NBRkVUWV9USU1FUl9FWFBJUkVfVFJDIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIlNhZmV0eSB0aW1lciglZCBtaW51dGVzKSBleHBpcmVkLiIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfU0FGRVRZX1RJTUVSX1NUQVJUX1RSQyI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJTYWZldHkgdGltZXIoJWQgbWludXRlcykgc3RhcnRzLiIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfU0FGRVRZX0FORF9HVUFSRF9USU1FUl9TVEFSVF9UUkMiOiB7CisgICAgICAgICJfY29tbWVudCI6ICJUcmFjZSByZWZlcmVuY2Ugbm90IGZvdW5kIiwgCisgICAgICAgICJmb3JtYXQiOiAiU2FmZXR5IHRpbWVyKCVkIG1pbnV0ZXMpIGFuZCBjaGFyZ2luZyBndWFyZCB0aW1lciAoJWQgbWludXRlcykgc3RhcnRzLiIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfU0FGRVRZX1RJTUVSX1NUT1BfVFJDIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIlNhZmV0eSB0aW1lciglZCBtaW51dGVzKSBzdG9wcy4iLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX1NUT1BfVElNRVJfRVhQSVJFX1RSQyI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJTdG9wIHRpbWVyKDMwIG1pbikgZXhwaXJlZC4iLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX1NUT1BfVElNRVJfU1RBUlRfVFJDIjogeworICAgICAgICAiYXBpVHlwZSI6ICJpbmRleCIsIAorICAgICAgICAiZm9ybWF0IjogIlN0b3AgdGltZXIoMzAgbWluKSBzdGFydHMuIiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0ZVTkMiCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9TVE9QX1RJTUVSX1NUT1BfVFJDIjogeworICAgICAgICAiYXBpVHlwZSI6ICJpbmRleCIsIAorICAgICAgICAiZm9ybWF0IjogIlN0b3AgdGltZXIoMzAgbWluKSBzdG9wcy4iLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfRlVOQyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX0VSUk9SX0NIRUNLX1RSQyI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJCTVRfQ0hSRVJST1JDSEVDSy4iLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX1VMQ19TV19QTFVHT1VUX1RSQyI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJVbHRyYSBMb3cgQ29zdCBTL1cgUGx1ZyBPdXQgRGV0ZWN0ZWQuIiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9PQlRBSU5fUEhZX1NUQVRfVFJDIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIkJNVF9PYnRhaW5CTVRQSFlTVEFULiIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfQ0hBUkdFX0VOQUJMRV9UUkMiOiB7CisgICAgICAgICJfY29tbWVudCI6ICJUcmFjZSByZWZlcmVuY2Ugbm90IGZvdW5kIiwgCisgICAgICAgICJmb3JtYXQiOiAiQk1UX0NoYXJnZSA9ICVkLiIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfUE1VX0RPX05PVF9TVVBQT1JUX1RSQyI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJQTVUgZG9lcyBub3Qgc3VwcG9ydCB0aGlzIGNtZHMgPSAlZC4iLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX0VSUk9SQ0hFQ0tfQVRfQ0hBUkdFX09OX1RSQyI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJFcnJvciBDaGVjayBhdCBDaGFyZ2UgT24uIiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9FUlJPUkNIRUNLX0FUX0NIQVJHRV9PRkZfVFJDIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIkVycm9yIENoZWNrIGF0IENoYXJnZSBPZmYuIiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9FUlJPUkNIRUNLX09OX0NPVU5UX1RSQyI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJDdXJyZW50IEVycm9yIENoZWNrIE9uIENvdW50ID0gJWQuIiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9FUlJPUkNIRUNLX09GRl9DT1VOVF9UUkMiOiB7CisgICAgICAgICJfY29tbWVudCI6ICJUcmFjZSByZWZlcmVuY2Ugbm90IGZvdW5kIiwgCisgICAgICAgICJmb3JtYXQiOiAiQ3VycmVudCBFcnJvciBDaGVjayBPZmYgQ291bnQgPSAlZC4iLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX1NXX1dPUktBUk9VTkRfRkxBR19UUlVFX1RSQyI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJTV19Xb3JrYXJvdW5kX0ZsYWcgPSBUUlVFLiIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfU1dfV09SS0FST1VORF9GTEFHX0ZBTFNFX1RSQyI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJTV19Xb3JrYXJvdW5kX0ZsYWcgPSBGQUxTRS4iLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX0lOU0lERV9TV19XT1JLQVJPVU5EX1JBTkdFX1RSQyI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJJbnNpZGUgU1cgV29ya2Fyb3VuZCBSYW5nZS4iLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX09VVFNJREVfU1dfV09SS0FST1VORF9SQU5HRV9UUkMiOiB7CisgICAgICAgICJfY29tbWVudCI6ICJUcmFjZSByZWZlcmVuY2Ugbm90IGZvdW5kIiwgCisgICAgICAgICJmb3JtYXQiOiAiT3V0c2lkZSBTVyBXb3JrYXJvdW5kIFJhbmdlLiIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfTUlTU0lOR19IV19QTFVHX09VVF9UUkMiOiB7CisgICAgICAgICJfY29tbWVudCI6ICJUcmFjZSByZWZlcmVuY2Ugbm90IGZvdW5kIiwgCisgICAgICAgICJmb3JtYXQiOiAiTWlzc2luZyBIVyBQbHVnIE91dC4iLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX1NXX1BMVUdfT1VUX1RSQyI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJTVyBQbHVnIE91dC4iLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX1BMVUdfT1VUX0ZBTFNFX0FMQVJNX1RSQyI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJEaXNhYmxlIGNoYXJnZSBidXQgaGFzbid0IGRldGVjdCBwbHVnIG91dCAtPiBQbHVnIG91dCBmYWxzZSBhbGFybS4iLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX0VOQUJMRV9DSEFSR0VfQVRfQ0hBUkdFX09OX1RSQyI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJFbmFibGUgQ2hhcmdlIEAgT04gU3RhdGUuIiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9ESVNBQkxFX0NIQVJHRV9BVF9DSEFSR0VfT05fVFJDIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIkRpc2FibGUgQ2hhcmdlIEAgT04gU3RhdGUuIiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9QT1NTSUJMRV9QTFVHX09VVF9UUkMiOiB7CisgICAgICAgICJfY29tbWVudCI6ICJUcmFjZSByZWZlcmVuY2Ugbm90IGZvdW5kIiwgCisgICAgICAgICJmb3JtYXQiOiAiUG9zc2libGUgcGx1ZyBvdXQsIG5lZWQgZGlzYWJsZSBjaGFyZ2UgaWYgd2UgYXJlIGF0IGNoYXJnZSBvbiBzdGF0ZS4iLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX0xPV19DSEFSR0VfQ1VSUkVOVF9BVF9DSEFSR0VfT0ZGX1RSQyI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJMb3cgY2hhcmdlIGN1cnJlbnQgaXMgZHVlIHRvIGNoYXJnZSBvZmYgc3RhdGUuIiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9TV19QT0xMSU5HX0NIQVJHRVJfT1ZfVFJDIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIkNoYXJnZXIgT1YgYnkgU1cgcG9sbGluZy4iLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX1NFVF9DVVNUT01JWkVEX0NVUlJFTlRfVFJDIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogImJtdF9zZXRfY3VzdG9taXplZF9jdXJyZW50LiIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfU0VUX0FDX0NIQVJHRV9DVVJSRU5UX1RSQyI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJTZXQgQUMgQ2hhcmdlIEN1cnJlbnQuIiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9TRVRfVVNCX0NIQVJHRV9DVVJSRU5UX1RSQyI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJTZXQgVVNCIENoYXJnZSBDdXJyZW50LiIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfRklORF9BTkRfU0VUX1RIRV9ORUFSRVNUX0NVUlJFTlRfVFJDIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIlRoZSBuZWFyZXN0IGNoYXJnZSBjdXJyZW50ID0gJWQuIiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9DSEFSR0VfQ1VSUkVOVF9BTkRfTEVWRUxfVFJDIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIkNoYXJnZSBjdXJyZW50ID0gJWQsIENoYXJnZSBMZXZlbCA9ICVkLiIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfVE9UQUxfQ0hBUkdFX0NVUlJFTlRfTEVWRUxfVFJDIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIlRvdGFsIGNoYXJnZSBjdXJyZW50IGxldmVsID0gJWQuIiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9NSU5fQ0hBUkdFX0NVUlJFTlRfVFJDIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIk1pbiBjaGFyZ2UgY3VycmVudCA9ICVkLiIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfTUFYX0NIQVJHRV9DVVJSRU5UX1RSQyI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJNYXggY2hhcmdlIGN1cnJlbnQgPSAlZC4iLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX0NVUlJFTlRfQ0hBUkdFX0NVUlJFTlRfVFJDIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIkN1cnJlbnQgY2hhcmdlIGN1cnJlbnQgPSAlZC4iLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX1BIWV9DSEVDS19PVkVSX0NIQVJHRVJfQ09VTlRfVFJDIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIm92ZXJfY2hhcmdlcl9jb3VudCA9ICVkLiIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfUEhZX0NIRUNLX09WRVJfQ1VSUkVOVF9DT1VOVF9UUkMiOiB7CisgICAgICAgICJfY29tbWVudCI6ICJUcmFjZSByZWZlcmVuY2Ugbm90IGZvdW5kIiwgCisgICAgICAgICJmb3JtYXQiOiAib3Zlcl9jdXJyZW50X2NvdW50ID0gJWQuIiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9QSFlfQ0hFQ0tfTE9XX0NVUlJFTlRfQ09VTlRfVFJDIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogImxvd19jdXJyZW50X2NvdW50ID0gJWQuIiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9QSFlfQ0hFQ0tfTE9XX1RSTVBFUl9DT1VOVF9UUkMiOiB7CisgICAgICAgICJfY29tbWVudCI6ICJUcmFjZSByZWZlcmVuY2Ugbm90IGZvdW5kIiwgCisgICAgICAgICJmb3JtYXQiOiAibG93X3RlbXBlcl9jb3VudCA9ICVkLiIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfUEhZX0NIRUNLX09WRVJfVEVNUEVSX0NPVU5UX1RSQyI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJvdmVyX3RlbXBlcl9jb3VudCA9ICVkLiIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfQURDX01FQVNVUkVfV0FSTklOR19UUkMiOiB7CisgICAgICAgICJfY29tbWVudCI6ICJUcmFjZSByZWZlcmVuY2Ugbm90IGZvdW5kIiwgCisgICAgICAgICJmb3JtYXQiOiAiQURDIG1lYXN1cmUgd2FybmluZzogUGh5IGlkOiAlZCwgcHJlIG1lYXN1cmVkIHZvbHQ6ICVkLCBjdXJyIG1lYXN1cmVkIHZvbHQ6ICVkIiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9JTExFR0FMX1BIWV9BRENfQ0hBTk5FTF9UUkMiOiB7CisgICAgICAgICJhcGlUeXBlIjogImluZGV4IiwgCisgICAgICAgICJmb3JtYXQiOiAiV2FybmluZywgQURDIHBoeSBpZCBpcyBpbGxlZ2FsLCByZXR1cm4gdmFsdWUgMCBvbmx5IiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9BRENfQ0FMSUJSQVRJT05fRkFJTF9UUkMiOiB7CisgICAgICAgICJfY29tbWVudCI6ICJUcmFjZSByZWZlcmVuY2Ugbm90IGZvdW5kIiwgCisgICAgICAgICJmb3JtYXQiOiAiQURDIENhbGlucmF0aW9uIEZBSUwsIHdoZW4gY2hhcmdlIG9mZiwgSUNoYXJnZXIgPSAlZCIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfQURDX05PX0NBTElCUkFUSU9OX1RSQyI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJXYXJuaW5nLCBBREMgdXNpbmcgRGVmYXVsdCBzbG9wZSA9ICVkIGFuZCBvZmZzZXQgPSAlZCAiLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX0FEQ19DQUxMQkFDS19JTkZPX1RSQyI6IHsKKyAgICAgICAgImFwaVR5cGUiOiAiaW5kZXgiLCAKKyAgICAgICAgImZvcm1hdCI6ICJBREMgcGh5aWQ9JWQsIHBlcmlvZD0lZCwgZXZsY291bnQ9JWQiLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX0FEQ19HRVRfQURDX0lORk9fVFJDIjogeworICAgICAgICAiYXBpVHlwZSI6ICJpbmRleCIsIAorICAgICAgICAiZm9ybWF0IjogInN0YXR1cz0lZCwgY2hhbm5lbD0lZCIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9FUlJPUiIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX0NBQkxFX0lOX1RSQyI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJDYWJsZSBpbiIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfQUNfSU5fVFJDIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIkFDIGluIiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9OT05fQUNfSU5fVFJDIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIk5vbiBTdGFuZGFyZCBBQyBpbiIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfQ0FCTEVfT1VUX1RSQyI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJDYWJsZSBvdXQiLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX0lOVl9BQ19JTl9UUkMiOiB7CisgICAgICAgICJfY29tbWVudCI6ICJUcmFjZSByZWZlcmVuY2Ugbm90IGZvdW5kIiwgCisgICAgICAgICJmb3JtYXQiOiAiSU5WIEFDIGluIiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9BQ19PVVRfVFJDIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIkFDIG91dCIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfVVNCX0lOX1RSQyI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJVU0IgaW4iLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX1VTQl9DSEFSR0lOR19IT1NUX0lOX1RSQyI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJVU0IgQ2hhcmdpbmcgaG9zdCBpbiIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfVVNCX0lOX1dBSVRfNTAwX1RSQyI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJVU0IgaW4gYW5kIHdhaXQgZm9yIDUwMCIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfVVNCX09VVF9UUkMiOiB7CisgICAgICAgICJfY29tbWVudCI6ICJUcmFjZSByZWZlcmVuY2Ugbm90IGZvdW5kIiwgCisgICAgICAgICJmb3JtYXQiOiAiVVNCIG91dCIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfVVNCXzEwMF9UUkMiOiB7CisgICAgICAgICJfY29tbWVudCI6ICJUcmFjZSByZWZlcmVuY2Ugbm90IGZvdW5kIiwgCisgICAgICAgICJmb3JtYXQiOiAiVVNCIDEwMCIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfVVNCXzUwMF9UUkMiOiB7CisgICAgICAgICJfY29tbWVudCI6ICJUcmFjZSByZWZlcmVuY2Ugbm90IGZvdW5kIiwgCisgICAgICAgICJmb3JtYXQiOiAiVVNCIDUwMCIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfQ0hSX1NUQVRVU19DSEFSR0VfSU5fVFJDIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIkNoYXJnZSBTdGF0dXMgPSBibXRfY2hyX2luIiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9DSFJfU1RBVFVTX0NIQVJHRV9PVVRfVFJDIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIkNoYXJnZSBTdGF0dXMgPSBibXRfY2hyX291dCIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfVVNCX1NUQVRFX1RSQyI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJVc2IgU3RhdGUgPSAlZC4iLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX0hXX1BMVUdfT1VUX0lOU0lERV9TV19XT1JLQVJPVU5EX1JBTkdFX1RSQyI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJIL1cgcGx1ZyBvdXQgZGV0ZWN0ZWQgaW5zaWRlIFMvVyB3b3JrYXJvdW5kIHJhbmdlIC0+IHJldHVybiB1c2UgUy9XIHRvIGNoZWNrLiIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfQ0hBUkdJTkdfU1RBUlRfVFJDIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIkNoYXJnaW5nIHN0YXJ0IiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9DSEFSR0lOR19FTkRfVFJDIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIkNoYXJnaW5nIGVuZCIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfQ0hBUkdJTkdfQ1VSUkVOVF9OT1RfU1VQUE9SVEVEX1NUT1BfQ0hBUkdJTkdfVFJDIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIkNoYXJnaW5nIGN1cnJlbnQgTk9UIHN1cHBvcnRlZCwgc3RvcCBjaGFyZ2luZyIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfQ0hBUkdJTkdfV0RUX0NMUl9UUkMiOiB7CisgICAgICAgICJfY29tbWVudCI6ICJUcmFjZSByZWZlcmVuY2Ugbm90IGZvdW5kIiwgCisgICAgICAgICJmb3JtYXQiOiAiQ2hhcmdpbmcgV0RUIGNsZWFyIiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9BQ19JTl9BTkRfU1RBUlRfQ0hBUkdFX1RSQyI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJBQyBpbiBhbmQgc3RhcnQgY2hhcmdpbmciLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX0lOVl9BQ19JTl9BTkRfU1RBUlRfQ0hBUkdFX1RSQyI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJJbnZhbGlkIEFDIGluIGFuZCBzdGFydCBjaGFyZ2luZyIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfVVNCX0lOX0FORF9TVEFSVF9DSEFSR0VfVFJDIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIlVTQiBpbiBhbmQgc3RhcnQgY2hhcmdpbmciLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX1VTQl81MDBfQU5EX1NUQVJUX0NIQVJHRV9UUkMiOiB7CisgICAgICAgICJfY29tbWVudCI6ICJUcmFjZSByZWZlcmVuY2Ugbm90IGZvdW5kIiwgCisgICAgICAgICJmb3JtYXQiOiAiVVNCIDUwMCB3YWl0ZWQgYW5kIHN0YXJ0IGNoYXJnaW5nIiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9BQ19PVVRfQU5EX1NUT1BfQ0hBUkdFX1RSQyI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJBQyBvdXQgYW5kIHN0b3AgY2hhcmdpbmciLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX1VTQl9PVVRfQU5EX1NUT1BfQ0hBUkdFX1RSQyI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJVU0Igb3V0IGFuZCBzdG9wIGNoYXJnaW5nIiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9VU0JfNTAwX09VVF9BTkRfU1RPUF9DSEFSR0VfVFJDIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIlVTQiA1MDAgb3V0IGFuZCBzdG9wIGNoYXJnaW5nIiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9VU0JfMTAwX09VVF9BTkRfU1RPUF9DSEFSR0VfVFJDIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIlVTQiAxMDAgb3V0IGFuZCBzdG9wIGNoYXJnaW5nIiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9VU0JfMTAwX09VVF9UUkMiOiB7CisgICAgICAgICJfY29tbWVudCI6ICJUcmFjZSByZWZlcmVuY2Ugbm90IGZvdW5kIiwgCisgICAgICAgICJmb3JtYXQiOiAiVVNCIDEwMCBvdXQiLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX0FDX09VVF9VU0JfU1RJTExfSU5fS0VFUF9DSEFSR0lOR19UUkMiOiB7CisgICAgICAgICJfY29tbWVudCI6ICJUcmFjZSByZWZlcmVuY2Ugbm90IGZvdW5kIiwgCisgICAgICAgICJmb3JtYXQiOiAiQUMgb3V0LCBVU0Igc3RpbGwgaW4sIGtlZXAgY2hhcmdpbmciLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX0FDX09VVF9VU0JfNTAwX1NUSUxMX0lOX0tFRVBfQ0hBUkdJTkdfVFJDIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIkFDIG91dCwgVVNCIDUwMCBzdGlsbCBpbiwga2VlcCBjaGFyZ2luZyIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfVVNCX09VVF9BQ19TVElMTF9JTl9LRUVQX0NIQVJHSU5HX1RSQyI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJVU0Igb3V0LCBBQyBzdGlsbCBpbiwga2VlcCBjaGFyZ2luZyIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfVVNCX0lOX0FDX0FMUkVBWV9JTl9UUkMiOiB7CisgICAgICAgICJfY29tbWVudCI6ICJUcmFjZSByZWZlcmVuY2Ugbm90IGZvdW5kIiwgCisgICAgICAgICJmb3JtYXQiOiAiVVNCIGluLCBBQyBhbHJlYWR5IGluIiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9VU0JfNTAwX0FDX0FMUkVBWV9JTl9UUkMiOiB7CisgICAgICAgICJfY29tbWVudCI6ICJUcmFjZSByZWZlcmVuY2Ugbm90IGZvdW5kIiwgCisgICAgICAgICJmb3JtYXQiOiAiVVNCIDUwMCB3YWl0ZWQsIEFDIGFscmVhZHkgaW4iLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX01TR19USU1FUl9FWFBJUkVfVFJDIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIk1TR19JRF9USU1FUl9FWFBJUlkiLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX01TR19DSEFSR0VSX1RSQyI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJNU0dfSURfQk1UX0NIQVJHRVJfSU5EIiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9NU0dfVVNCX0JfT1VUIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIk1TR19JRF9VU0JfQl9QTFVHT1VUX0lORCIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfTVNHX1VTQl9CX0lOIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIk1TR19JRF9VU0JfQl9QTFVHSU5fSU5EIiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9NU0dfVVNCIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIk1TR19JRF9CTVRfVVNCX0lORCIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfTVNHX0FEQ19BREQiOiB7CisgICAgICAgICJfY29tbWVudCI6ICJUcmFjZSByZWZlcmVuY2Ugbm90IGZvdW5kIiwgCisgICAgICAgICJmb3JtYXQiOiAiTVNHX0lEX0JNVF9BRENfQUREX0lURU1fUkVRIiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9NU0dfQURDX1JFTU9WRSI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJNU0dfSURfQk1UX0FEQ19SRU1PVkVfSVRFTV9SRVEiLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX01TR19BRENfUEFSQU0iOiB7CisgICAgICAgICJfY29tbWVudCI6ICJUcmFjZSByZWZlcmVuY2Ugbm90IGZvdW5kIiwgCisgICAgICAgICJmb3JtYXQiOiAiTVNHX0lEX0JNVF9BRENfTU9ESUZZX1BBUkFNRVRFUlNfUkVRIiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9NU0dfQURDX05WUkFNX1JFQURfQ05GIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIk1TR19JRF9OVlJBTV9SRUFEX0NORiIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfTVNHX0FEQ19OVlJBTV9TTE9QRV9PRkZTRVQiOiB7CisgICAgICAgICJfY29tbWVudCI6ICJUcmFjZSByZWZlcmVuY2Ugbm90IGZvdW5kIiwgCisgICAgICAgICJmb3JtYXQiOiAiTVNHX0lEX05WUkFNX1JFQURfQ05GIHNsb3BlOiAlZCBvZmZzZXQ6ICVkIiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9NU0dfQURDX0VGVVNFIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIk1TR19JRF9FRlVTRV9SRUFEIiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9NU0dfQURDX0VGVVNFX1NMT1BFX09GRlNFVCI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJNU0dfSURfRUZVU0VfUkVBRCBzbG9wZTogJWQgIG9mZnNldDogJWQiLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX01TR19BRENfRUZVU0VfQUIiOiB7CisgICAgICAgICJfY29tbWVudCI6ICJUcmFjZSByZWZlcmVuY2Ugbm90IGZvdW5kIiwgCisgICAgICAgICJmb3JtYXQiOiAiTVNHX0lEX0VGVVNFX1JFQUQgRUZVU0VfQTogJWQgIEVGVVNFX0I6ICVkIiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9NU0dfQURDX0VGVVNFX0FEQ19TTE9QRV9PRkZTRVQiOiB7CisgICAgICAgICJfY29tbWVudCI6ICJUcmFjZSByZWZlcmVuY2Ugbm90IGZvdW5kIiwgCisgICAgICAgICJmb3JtYXQiOiAiTVNHX0lEX0VGVVNFX1JFQURfQURDIHNsb3BlOiAlZCAgb2Zmc2V0OiAlZCIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfTVNHX0FEQ19FRlVTRV9BRENfQ0FMSUJSQVRJT05fU0xPUEVfT0ZGU0VUIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIk1TR19JRF9FRlVTRV9SRUFEX0FEQyBzbG9wZSVkOiAlZCAgb2Zmc2V0JWQ6ICVkIiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9NU0dfQkFUVF9PTl9ERVQiOiB7CisgICAgICAgICJfY29tbWVudCI6ICJUcmFjZSByZWZlcmVuY2Ugbm90IGZvdW5kIiwgCisgICAgICAgICJmb3JtYXQiOiAiQk1UX01TR19CQVRUX09OX0RFVCBCYXR0IGRldGVjdGlvbiB0aW1lciB0aW1lb3V0LCBiYXR0IHN0YXRlOiAlZCIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfTVNHX0JBVFRfT0ZGX0JMT0NLIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIkJNVF9NU0dfQkFUVF9PTl9ERVQgQmF0dCBOT1Qgb24sIGJsb2NrIGFsbCBCTVQgbWVzc2FnZXMgZXhjZXB0IFRJTUVSIEVYUElSQVRJT04iLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX01TR19FWFRfQ0FCTEVfSU5UUl9FTkFCTEUiOiB7CisgICAgICAgICJfY29tbWVudCI6ICJUcmFjZSByZWZlcmVuY2Ugbm90IGZvdW5kIiwgCisgICAgICAgICJmb3JtYXQiOiAiRXh0IGNhYmxlIGRldDogaW50ciBlbmFibGUoJWQpIiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9NU0dfRVhUX0NBQkxFX0lOIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIkV4dCBjYWJsZSBkZXQ6IENhYmxlIGluIiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9NU0dfRVhUX0NBQkxFX09VVCI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJFeHQgY2FibGUgZGV0OiBDYWJsZSBvdXQiLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX01TR19FWFRfQ0FCTEVfREJHXzEiOiB7CisgICAgICAgICJfY29tbWVudCI6ICJUcmFjZSByZWZlcmVuY2Ugbm90IGZvdW5kIiwgCisgICAgICAgICJmb3JtYXQiOiAiRXh0IGNhYmxlIGRldDogRGVidWc6IHJlZzE6ICV4IiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9NU0dfRVhUX0NBQkxFX0RCR18yIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIkV4dCBjYWJsZSBkZXQ6IERlYnVnOiByZWcxOiAleCwgcmVnMjogJXgiLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX01TR19FWFRfQ0FCTEVfREJHXzMiOiB7CisgICAgICAgICJfY29tbWVudCI6ICJUcmFjZSByZWZlcmVuY2Ugbm90IGZvdW5kIiwgCisgICAgICAgICJmb3JtYXQiOiAiRXh0IGNhYmxlIGRldDogRGVidWc6IHJlZzE6ICV4LCByZWcyOiAleCwgcmVnMyIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfTVNHX0VYVF9DQUJMRV9EQkdfNCI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJFeHQgY2FibGUgZGV0OiBEZWJ1ZzogcmVnMTogJXgsIHJlZzI6ICV4LCByZWczOiAleCwgcmVnNDogJXgiLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX01TR19FWFRfQ0FCTEVfUkVQRUFURURfSU4iOiB7CisgICAgICAgICJfY29tbWVudCI6ICJUcmFjZSByZWZlcmVuY2Ugbm90IGZvdW5kIiwgCisgICAgICAgICJmb3JtYXQiOiAiRXh0IGNhYmxlIGRldDogUmVwZWF0ZWQgY2FibGUgaW4iLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX01TR19FWFRfQ0FCTEVfUkVQRUFURURfT1VUIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIkV4dCBjYWJsZSBkZXQ6IFJlcGVhdGVkIGNhYmxlIG91dCIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfTVNHX0VYVF9DQUJMRV9VU0JfSU4iOiB7CisgICAgICAgICJfY29tbWVudCI6ICJUcmFjZSByZWZlcmVuY2Ugbm90IGZvdW5kIiwgCisgICAgICAgICJmb3JtYXQiOiAiRXh0IGNhYmxlIGRldDogVVNCIGNhYmxlIGluIiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9NU0dfRVhUX0NBQkxFX1VTQl9PVVQiOiB7CisgICAgICAgICJfY29tbWVudCI6ICJUcmFjZSByZWZlcmVuY2Ugbm90IGZvdW5kIiwgCisgICAgICAgICJmb3JtYXQiOiAiRXh0IGNhYmxlIGRldDogVVNCIGNhYmxlIG91dCIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfTVNHX0VYVF9DQUJMRV9BQ19JTiI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJFeHQgY2FibGUgZGV0OiBBQyBjYWJsZSBpbiIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfTVNHX0VYVF9DQUJMRV9BQ19PVVQiOiB7CisgICAgICAgICJfY29tbWVudCI6ICJUcmFjZSByZWZlcmVuY2Ugbm90IGZvdW5kIiwgCisgICAgICAgICJmb3JtYXQiOiAiRXh0IGNhYmxlIGRldDogQUMgY2FibGUgb3V0IiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9NU0dfRVhUX0NBQkxFX0xHVEFfSU4iOiB7CisgICAgICAgICJfY29tbWVudCI6ICJUcmFjZSByZWZlcmVuY2Ugbm90IGZvdW5kIiwgCisgICAgICAgICJmb3JtYXQiOiAiRXh0IGNhYmxlIGRldDogTEdUQSBjYWJsZSBpbiIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfTVNHX0VYVF9DQUJMRV9MR1RBX09VVCI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJFeHQgY2FibGUgZGV0OiBMR1RBIGNhYmxlIG91dCIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfTVNHX0VYVF9DQUJMRV9GQUNfVVNCX0lOIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIkV4dCBjYWJsZSBkZXQ6IEZhY3RvcnkgVVNCIGNhYmxlIGluIiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9NU0dfRVhUX0NBQkxFX0ZBQ19VU0JfT1VUIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIkV4dCBjYWJsZSBkZXQ6IEZhY3RvcnkgVVNCIGNhYmxlIG91dCIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfTVNHX0VYVF9DQUJMRV9GQUNfVUFSVF9JTiI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJFeHQgY2FibGUgZGV0OiBGYWN0b3J5IFVBUlQgY2FibGUgaW4iLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX01TR19FWFRfQ0FCTEVfRkFDX1VBUlRfT1VUIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIkV4dCBjYWJsZSBkZXQ6IEZhY3RvcnkgVUFSVCBjYWJsZSBvdXQiLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX01TR19FWFRfQ0FCTEVfRUFSUEhPTkVfSU4iOiB7CisgICAgICAgICJfY29tbWVudCI6ICJUcmFjZSByZWZlcmVuY2Ugbm90IGZvdW5kIiwgCisgICAgICAgICJmb3JtYXQiOiAiRXh0IGNhYmxlIGRldDogRWFycGhvbmUgY2FibGUgaW4iLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX01TR19FWFRfQ0FCTEVfRUFSUEhPTkVfT1VUIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIkV4dCBjYWJsZSBkZXQ6IEVhcnBob25lIGNhYmxlIG91dCIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfTVNHX0VYVF9DQUJMRV9LRVlfUFJFU1NFRCI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJFeHQgY2FibGUgZGV0OiBFYXJwaG9uZSBrZXkgcHJlc3NlZCIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfTVNHX0VYVF9DQUJMRV9LRVlfUkVMRUFTRUQiOiB7CisgICAgICAgICJfY29tbWVudCI6ICJUcmFjZSByZWZlcmVuY2Ugbm90IGZvdW5kIiwgCisgICAgICAgICJmb3JtYXQiOiAiRXh0IGNhYmxlIGRldDogRWFycGhvbmUga2V5IHJlbGVhc2VkIiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9NU0dfRVhUX0NBQkxFX1ZJREVPX0lOIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIkV4dCBjYWJsZSBkZXQ6IFZpZGVvIGNhYmxlIGluIiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9NU0dfRVhUX0NBQkxFX1ZJREVPX09VVCI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJFeHQgY2FibGUgZGV0OiBWaWRlbyBjYWJsZSBvdXQiLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX01TR19FWFRfQ0FCTEVfT1RHX0lOIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIkV4dCBjYWJsZSBkZXQ6IE9URyBjYWJsZSBpbiIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfTVNHX0VYVF9DQUJMRV9PVEdfT1VUIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIkV4dCBjYWJsZSBkZXQ6IE9URyBjYWJsZSBvdXQiLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX01TR19FWFRfQ0FCTEVfVU5LTk9XTl9JTiI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJFeHQgY2FibGUgZGV0OiBVbmtub3duIGNhYmxlIGluIiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9NU0dfRVhUX0NBQkxFX1VOS05PV05fT1VUIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIkV4dCBjYWJsZSBkZXQ6IFVua25vd24gY2FibGUgb3V0IiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9NU0dfRVhUX0NBQkxFX0ZBQ19NT0RFIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIkV4dCBjYWJsZSBkZXQ6IEluIEZBQyBtb2RlIiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9NU0dfRVhUX0NBQkxFX0ZBQ19NT0RFX0FDX0lOIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIkV4dCBjYWJsZSBkZXQ6IEZBQyBtb2RlIEFDIGluIiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9NU0dfRVhUX0NBQkxFX0ZBQ19NT0RFX0FDX09VVCI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJFeHQgY2FibGUgZGV0OiBGQUMgbW9kZSBBQyBvdXQiLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX01TR19FWFRfQ0FCTEVfUkVQRUFURURfSU5fSElTUiI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJFeHQgY2FibGUgZGV0OiBSZXBlYXRlZCBjYWJsZSBpbiBISVNSIiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9NU0dfRVhUX0NBQkxFX0ZBQ19NT0RFX0RJU19TTEVFUCI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJFeHQgY2FibGUgZGV0OiBGQUMgbW9kZSBkaXNhYmxlIHNsZWVwIG1vZGUiLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX01TR19FWFRfQ0FCTEVfRkFDX01PREVfRU5fU0xFRVAiOiB7CisgICAgICAgICJfY29tbWVudCI6ICJUcmFjZSByZWZlcmVuY2Ugbm90IGZvdW5kIiwgCisgICAgICAgICJmb3JtYXQiOiAiRXh0IGNhYmxlIGRldDogRkFDIG1vZGUgZW5hYmxlIHNsZWVwIG1vZGUiLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX01TR19FWFRfQ0FCTEVfRVhUX0FVRElPX1dBX1RVUk5fT0ZGX0VBUlBIT05FX1JFUSI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJFeHQgY2FibGUgZGV0OiBFeHQgQXVkaW8gSUMgV0E6IFR1cm4gb2ZmIEVhcnBob25lIHBhdGggcmVxdWVzdCIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfTVNHX0VYVF9DQUJMRV9FWFRfQVVESU9fV0FfVFVSTl9PTl9FQVJQSE9ORV9SRVEiOiB7CisgICAgICAgICJfY29tbWVudCI6ICJUcmFjZSByZWZlcmVuY2Ugbm90IGZvdW5kIiwgCisgICAgICAgICJmb3JtYXQiOiAiRXh0IGNhYmxlIGRldDogRXh0IEF1ZGlvIElDIFdBOiBUdXJuIG9uIEVhcnBob25lIHBhdGggcmVxdWVzdCIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfTVNHX0VYVF9DQUJMRV9FWFRfQVVESU9fV0FfVFVSTl9PRkZfRUFSUEhPTkUiOiB7CisgICAgICAgICJfY29tbWVudCI6ICJUcmFjZSByZWZlcmVuY2Ugbm90IGZvdW5kIiwgCisgICAgICAgICJmb3JtYXQiOiAiRXh0IGNhYmxlIGRldDogRXh0IEF1ZGlvIElDIFdBOiBUdXJuIG9mZiBlYXJwaG9uZSBwYXRoIiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9NU0dfRVhUX0NBQkxFX0VYVF9BVURJT19XQV9UVVJOX09OX0VBUlBIT05FIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIkV4dCBjYWJsZSBkZXQ6IEV4dCBBdWRpbyBJQyBXQTogVHVybiBvbiBlYXJwaG9uZSBwYXRoIiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9ISUdIX1ZDSEdfRklSU1RfVElNRV9WQ0hHX1RSQyI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJGaXJzdCBUaW1lIFZDaGFyZ2VfQVZHID0gJWQuIiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9ISUdIX1ZDSEdfRklSU1RfVElNRV9DSEFSR0VSX09OX1RSQyI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJGaXJzdCBUaW1lIENoYXJnZSBPTi4iLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX0hJR0hfVkNIR19DVVJSRU5UX1ZDSEdfVFJDIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIkN1cl9WQ0hHID0gJWQuIiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9ISUdIX1ZDSEdfQVZFUkFHRV9UUkMiOiB7CisgICAgICAgICJfY29tbWVudCI6ICJUcmFjZSByZWZlcmVuY2Ugbm90IGZvdW5kIiwgCisgICAgICAgICJmb3JtYXQiOiAiQXZlcmFnZSBWQ0hHID0gJWQuIiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9ISUdIX1ZDSEdfVE9PX0hJR0hfVFJDIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIlZDSEFSR0VSIHRvbyBoaWdoLiIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfSElHSF9WQ0hHX0xPV0VTVF9USFJFU0hPTERfVFJDIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogImJtdF9oaWdoX3ZjaGdfcGFyYS0+SElHSF9WQ0hHX1RBQkxFWzBdWzBdID0gJWQuIiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9ISUdIX1ZDSEdfVVBQRVJfVEhSRVNIT0xEX1RSQyI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJVcHBlciBUaHJlc2hvbGQ6IEhJR0hfVkNIR19UQUJMRVtpXVswXSA9ICVkLiIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfSElHSF9WQ0hHX0xPV0VSX1RIUkVTSE9MRF9UUkMiOiB7CisgICAgICAgICJfY29tbWVudCI6ICJUcmFjZSByZWZlcmVuY2Ugbm90IGZvdW5kIiwgCisgICAgICAgICJmb3JtYXQiOiAiTG93ZXIgVGhyZXNob2xkOiBISUdIX1ZDSEdfVEFCTEVbaS0xXVswXSA9ICVkLiIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfSElHSF9WQ0hHX1RBQkxFX0lOREVYX1RSQyI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJUYWJsZSBJbmRleCA9ICVkLiIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfSElHSF9WQ0hHX1NFVF9VU0JfQ0hBUkdFX0NVUlJFTlRfVFJDIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIlNldCBVU0IgQ3VycmVudCAgPSAlZCBmb3IgQ0hBUkdFUl9QUkVTRU5UX05PTiIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfSElHSF9WQ0hHX1VTQl9JTl9VU0VfQ1VTVE9NX0NIQVJHRV9DVVJSRU5UX1RSQyI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJVU0IgSW4tPlVzZSBDdXN0b20gU2V0dGluZyBpbiBwbXVfY3VzdG9tLmMuIiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9ISUdIX1ZDSEdfQ0hBUkdFX0NVUlJFTlRfVFJDIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIlNldCBIaWdoIFZDSEcgQ2hhcmdlIEN1cnJlbnQgPSAlZC4iLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX0hJR0hfVkNIR19SVU5USU1FX0FQUExZX0NIQVJHRV9DVVJSRU5UX1RSQyI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJSdW50aW1lIEFwcGx5IEhpZ2ggVkNIRyBDaGFyZ2UgQ3VycmVudCA9ICVkLiIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfSElHSF9WQ0hHX01BWF9SRVNFVF9UT19aRVJPX1RSQyI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJDdXJfVkNoYXJnZV9NQVggUmVzZXQgdG8gMC4iLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX0hJR0hfVkNIR19DVVJfVkNIR19NQVhfVFJDIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIkN1cl9WQ2hhcmdlX01BWCA9ICVkLiIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfSElHSF9WQ0hHX1ZDSEdfRElGRl9UUkMiOiB7CisgICAgICAgICJfY29tbWVudCI6ICJUcmFjZSByZWZlcmVuY2Ugbm90IGZvdW5kIiwgCisgICAgICAgICJmb3JtYXQiOiAiQ3VycmVudCBWQ2hhcmdlciAtIFByZV9WQ2hhcmdlX0FWRyA9ICVkLiIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfSElHSF9WQ0hHX1RPVEFMX1ZDSEdfVFJDIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIkFjY3VtYXRlIFRvdGFsIFZDaGFyZ2VyID0gJWQuIiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9ISUdIX1ZDSEdfQ1NfVlRIX1RSQyI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJSZWdpc3RlcjogQ2hhcmdlIEN1cnJlbnQgPSAlZC4iLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX0hJR0hfVkNIR19QUkVfQ1VSUkVOVF9MRVZFTF9UUkMiOiB7CisgICAgICAgICJfY29tbWVudCI6ICJUcmFjZSByZWZlcmVuY2Ugbm90IGZvdW5kIiwgCisgICAgICAgICJmb3JtYXQiOiAiUHJldmlvdXMgQ3VycmVudCBMZXZlbCA9ICVkLiIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfSElHSF9WQ0hHX0NVUl9DVVJSRU5UX0xFVkVMX1RSQyI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJDdXJyZW50IEN1cnJlbnQgTGV2ZWwgPSAlZC4iLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX0hJR0hfVkNIR19IWVNURVJFU0lTX1VQUEVSX0JPVU5EX1RSQyI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJIeXN0ZXJlc2lzIFVwcGVyIEJvdW5kID0gJWQuIiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9ISUdIX1ZDSEdfSFlTVEVSRVNJU19MT1dFUl9CT1VORF9UUkMiOiB7CisgICAgICAgICJfY29tbWVudCI6ICJUcmFjZSByZWZlcmVuY2Ugbm90IGZvdW5kIiwgCisgICAgICAgICJmb3JtYXQiOiAiSHlzdGVyZXNpcyBMb3dlciBCb3VuZCA9ICVkLiIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfQ1VSUkVOVF9QTUlDX1NUQVRFX1RSQyI6IHsKKyAgICAgICAgImFwaVR5cGUiOiAiaW5kZXgiLCAKKyAgICAgICAgImZvcm1hdCI6ICJCTVQucG1pY3RybF9zdGF0ZSA9ICVkLiIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9GVU5DIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfRVhUX0lOVkFMSURfQ0hBUkdFUl9UUkMiOiB7CisgICAgICAgICJfY29tbWVudCI6ICJUcmFjZSByZWZlcmVuY2Ugbm90IGZvdW5kIiwgCisgICAgICAgICJmb3JtYXQiOiAiRXh0IGNoYXJnZXI6IEludmFsaWQgQ2hhcmdlci4iLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX0VYVF9JQ0hBUkdFX09WRVJfVFJDIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIkV4dCBjaGFyZ2VyOiBJQ0hBUkdFIHRvbyBoaWdoLiIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfRVhUX0lDSEFSR0VfTE9XX1RSQyI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJFeHQgY2hhcmdlcjogSUNIQVJHRSB0b28gbG93LiIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfRVhUX1ZCQVRfT1ZFUl9UUkMiOiB7CisgICAgICAgICJfY29tbWVudCI6ICJUcmFjZSByZWZlcmVuY2Ugbm90IGZvdW5kIiwgCisgICAgICAgICJmb3JtYXQiOiAiRXh0IGNoYXJnZXI6IFZCQVQgdG9vIGhpZ2guIiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9FWFRfVlRFTVBfT1ZFUl9UUkMiOiB7CisgICAgICAgICJfY29tbWVudCI6ICJUcmFjZSByZWZlcmVuY2Ugbm90IGZvdW5kIiwgCisgICAgICAgICJmb3JtYXQiOiAiRXh0IGNoYXJnZXI6IEJBVFRNUCB0b28gaGlnaC4iLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX0VYVF9WVEVNUF9MT1dfVFJDIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIkV4dCBjaGFyZ2VyOiBCQVRUTVAgdG9vIGxvdy4iLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX0VYVF9DSFJfSE9MRF9UUkMiOiB7CisgICAgICAgICJfY29tbWVudCI6ICJUcmFjZSByZWZlcmVuY2Ugbm90IGZvdW5kIiwgCisgICAgICAgICJmb3JtYXQiOiAiRXh0IGNoYXJnZXI6IENIUl9IT0xELiIsIAorICAgICAgICAidHJhY2VDbGFzcyI6ICJUUkFDRV9JTkZPIgorICAgICAgfQorICAgIH0sIAorICAgIHsKKyAgICAgICJCTVRfRVhUX1ZCQVRfVFJDIjogeworICAgICAgICAiX2NvbW1lbnQiOiAiVHJhY2UgcmVmZXJlbmNlIG5vdCBmb3VuZCIsIAorICAgICAgICAiZm9ybWF0IjogIkV4dCBjaGFyZ2VyOiBWQkFUID0gJWQuIiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9FWFRfQkFUVE1QX1RSQyI6IHsKKyAgICAgICAgIl9jb21tZW50IjogIlRyYWNlIHJlZmVyZW5jZSBub3QgZm91bmQiLCAKKyAgICAgICAgImZvcm1hdCI6ICJFeHQgY2hhcmdlcjogQkFUVE1QID0gJWQuIiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9FWFRfSUNIQVJHRV9UUkMiOiB7CisgICAgICAgICJfY29tbWVudCI6ICJUcmFjZSByZWZlcmVuY2Ugbm90IGZvdW5kIiwgCisgICAgICAgICJmb3JtYXQiOiAiRXh0IGNoYXJnZXI6IElDSEFSR0UgPSAlZC4iLCAKKyAgICAgICAgInRyYWNlQ2xhc3MiOiAiVFJBQ0VfSU5GTyIKKyAgICAgIH0KKyAgICB9LCAKKyAgICB7CisgICAgICAiQk1UX0VYVF9WQ0hBUkdFUl9UUkMiOiB7CisgICAgICAgICJfY29tbWVudCI6ICJUcmFjZSByZWZlcmVuY2Ugbm90IGZvdW5kIiwgCisgICAgICAgICJmb3JtYXQiOiAiRXh0IGNoYXJnZXI6IFZDSEFSR0VSID0gJWQuIiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfSwgCisgICAgeworICAgICAgIkJNVF9TT0ZUX1NUQVJUX0NVUlJFTlRfTEVWRUwiOiB7CisgICAgICAgICJfY29tbWVudCI6ICJUcmFjZSByZWZlcmVuY2Ugbm90IGZvdW5kIiwgCisgICAgICAgICJmb3JtYXQiOiAiQk1UIHNvZnQgc3RhcnQgZ2V0IGN1cnJlbnQgbGV2ZWw6ICVkIiwgCisgICAgICAgICJ0cmFjZUNsYXNzIjogIlRSQUNFX0lORk8iCisgICAgICB9CisgICAgfQorICBdLCAKKyAgInRyYWNlRmFtaWx5IjogIlBTIgorfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvZGNsX2dwdF9ody5oIGIvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9kY2xfZ3B0X2h3LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzM0NjY0OAotLS0gL2Rldi9udWxsCisrKyBiL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvZGNsX2dwdF9ody5oCkBAIC0wLDAgKzEsNDkzIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMDEKKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGaWxlbmFtZToKKyAqIC0tLS0tLS0tLQorICogICBkY2xfZ3B0LmgKKyAqCisgKiBQcm9qZWN0OgorICogLS0tLS0tLS0KKyAqICAgTWF1aQorICoKKyAqIERlc2NyaXB0aW9uOgorICogLS0tLS0tLS0tLS0tCisgKiAgIEhlYWRlciBmaWxlIG9mIERDTCAoRHJpdmVyIENvbW1vbiBMYXllcikgZm9yIEdQVC4KKyAqCisgKiBBdXRob3I6CisgKiAtLS0tLS0tCisgKiAtLS0tLS0tCisgKgorICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKiAgICAgICAgICAgICBISVNUT1JZCisgKiBCZWxvdyB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiBVcHBlciB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERDTF9DVFJMX0NNRAorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIERDTF9HUFRfSFdfSF8KKyNkZWZpbmUgRENMX0dQVF9IV19IXworI2luY2x1ZGUgImthbF9nZW5lcmFsX3R5cGVzLmgiCisjaW5jbHVkZSAiZHJ2X2NvbW0uaCIKKyNpbmNsdWRlICJkY2wuaCIKKwordHlwZWRlZiBEQ0xfVUlOVDE2IEdQVF9ERVY7Cit0eXBlZGVmIGVudW0KK3sKKwlHUFQxID0gMSwKKwlHUFQyID0gMiwKKwlHUFQzID0gMywKKwlHUFQ0ID0gNAorfSBHUFRfREVWX1Q7CisKK3R5cGVkZWYgZW51bSAKK3sKKwljbGtfMTZrLAorCWNsa184aywKKwljbGtfNGssCisJY2xrXzJrLAorCWNsa18xaywKKwljbGtfNTAwLAorCWNsa18yNTAsCisJY2xrXzEyNSwKKwljbGtfaW52YWxpZD0weEZGCit9Z3B0X2Nsb2NrOworCit0eXBlZGVmIERDTF9VSU5UMzIgIEhHUFRfQ01EOwordHlwZWRlZiBlbnVtCit7CisKKyAgIEhHUFRfQ01EX0NMSywgCisgICBIR1BUX0NNRF9SRVNFVCwgCisgICBIR1BUX0NNRF9TVEFSVCwgCisgICBIR1BUX0NNRF9TVE9QLCAKKyAgIEhHUFRfQ01EX0JVU1lXQUlULAorLy8gICBIR1BUX0NNRF9HUFRfU1RBVFVTLAorICAgRkhHUFRfQ01EX1NUQVJULCAKKyAgIEZIR1BUX0NNRF9TVE9QLCAKKyAgIEZIR1BUX0NNRF9SRVRVUk5fQ09VTlQsCisgICBGSEdQVF9DTURfTE9DSworfSBIR1BUX0NNRF9UOworCisvKiBGb3IgSEdQVF9DTURfQ0xLIGNvbW1hbmQuICovCit0eXBlZGVmIGVudW0gCit7CisJQ0xLXzE2SywKKwlDTEtfOEssCisJQ0xLXzRLLAorCUNMS18ySywKKwlDTEtfMUssCisJQ0xLXzUwMCwKKwlDTEtfMjUwLAorCUNMS18xMjUKK30gSEdQVF9DTEtfVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIERDTF9VSU5UMzIgICB1NENsb2NrOyAvLyBmb3IgSEdQVF9DTEtfVCBlbnVtCit9IEhHUFRfQ1RSTF9DTEtfVDsKKworLyogRm9yIEhHUFRfQ01EX1JFU0VUIGNvbW1hbmQuICovCit0eXBlZGVmIHN0cnVjdAoreworICAgRENMX1VJTlQxNiAgIHUyQ291bnRWYWx1ZTsKKyAgIERDTF9CT09MICAgICBmZ0F1dG9SZWxvYWQ7Cit9IEhHUFRfQ1RSTF9SRVNFVF9UOworCisvKiBGb3IgSEdQVF9DTURfUkVTRVQgY29tbWFuZC4gKi8KK3R5cGVkZWYgRENMX1VJTlQxNiBGR1BUX0NUUkxfUkVUVVJOX0NPVU5UX1Q7Cit0eXBlZGVmIERDTF9VSU5UMzIgRkdQVF9DVFJMX1JFVFVSTl9DT1VOVF9UXzMyYml0OwordHlwZWRlZiBEQ0xfVUlOVDE2IEJVU1lfV0FJVF9DT1VOVF9UOwordHlwZWRlZiBEQ0xfQk9PTAkgRkdQVF9DVFJMX0xPQ0tfVDsKKy8vdHlwZWRlZiBEQ0xfVUlOVDggIEdQVF9TVEFUVVNfVDsKK3R5cGVkZWYgIHVuaW9uCit7CisgICBIR1BUX0NUUkxfQ0xLX1QgICAgICAgICAgICAgICAgckhHUFRDbGs7IAorICAgSEdQVF9DVFJMX1JFU0VUX1QgICAgICAgICAgICAgIHJIR1BUUmVzZXQ7IAorICAgRkdQVF9DVFJMX1JFVFVSTl9DT1VOVF9UICAgICAgIHUyUmV0Q291bnQ7CisgICBGR1BUX0NUUkxfUkVUVVJOX0NPVU5UX1RfMzJiaXQgdTJSZXRDb3VudF8zMmJpdDsKKyAgIEJVU1lfV0FJVF9DT1VOVF9UCQkJIAkJCSAgdUJ1c3lXYWl0Q291bnQ7CisgICBGR1BUX0NUUkxfTE9DS19UCQkJCQkJCSAgdWxvY2s7CisvLyAgIEdQVF9TVEFUVVNfVAkJCQkJIGdwdF9zdGF0dXM7Cit9IEhHUFRfQ1RSTDsKKworLy92b2lkIEdQVElfQnVzeVdhaXQoa2FsX3VpbnQxNiBsZW4pOy8vbW9kaWZpZWQgYnkgZG9uZ21pbmcgZm9yIGJ1aWxkIGVycm9yIGFib3V0IEdQVElfQnVpc3lXYWl0IGZvbGxvdyBub25fc3RhdGljIGRlY2xhcmF0aW9uCisvKiBEQ0wgZm9yIEhXIEdQVCAqLworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogRlVOQ1RJT04KKyogIERjbEhHUFRfSW5pdGlhbGl6ZQorKgorKiBERVNDUklQVElPTgorKiAgVGhpcyBmdW5jdGlvbiBpcyB0byBpbml0aWFsaXplIEhXIEdQVCBtb2R1bGUuCisqCisqIFBBUkFNRVRFUlMKKyoJTm9uZQorKgorKiBSRVRVUk5TCisqCURDTF9TVEFUVVNfT0sKKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitleHRlcm4gRENMX1NUQVRVUyBEY2xIR1BUX0luaXRpYWxpemUodm9pZCk7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqIEZVTkNUSU9OCisqICBEY2xIR1BUX09wZW4KKyoKKyogREVTQ1JJUFRJT04KKyogIFRoaXMgZnVuY3Rpb24gaXMgdG8gb3BlbiBhIEhXIEdQVCBtb2R1bGUuIE5vdGUgdGhhdCBIVyBHUFQgb25seSBzdXBwb3J0cworKiBzaW5nbGUgb3BlbiBmb3IgZWFjaCB2YWxpZCBlRGV2IGFuZCBpZiBEQ0xfR1BUMSBpcyBjaG9zZW4gU0dQVCBtYXkgYmUgCisqIGluZmx1ZW5jZWQgYW5kIHdvcmsgYWJub3JtYWxseS4KKyoKKyogUEFSQU1FVEVSUworKgllRGV2IC0gb25seSB2YWxpZCBmb3IgRENMX0dQVDEgYW5kIERDTF9HUFQyCisqCWZsYWdzIC0gbm8gc2VwY2lhbCBmbGFncyBpcyBuZWVkZWQuIFBsZWFzZSB1c2UgRkxBR1NfTk9ORQorKgorKiBSRVRVUk5TCisqCURDTF9IQU5ETEVfSU5WQUxJRCAtIE9wZW4gZmFpbGVkLgorKiAgb3RoZXIgdmFsdWUgLSBhIHZhbGlkIGhhbmRsZQorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK2V4dGVybiBEQ0xfSEFORExFIERjbEhHUFRfT3BlbihEQ0xfREVWIGRldiwgRENMX0ZMQUdTIGZsYWdzKTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogRlVOQ1RJT04KKyogIERjbEhHUFRfUmVhZERhdGEKKyoKKyogREVTQ1JJUFRJT04KKyogIFRoaXMgZnVuY3Rpb24gaXMgbm90IHN1cHBvcnRlZCBmb3IgdGhlIEhXIEdQVCBtb2R1bGUgbm93LgorKgorKiBQQVJBTUVURVJTCisqCU4vQQorKgorKiBSRVRVUk5TCisqCVNUQVRVU19VTlNVUFBPUlRFRAorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK2V4dGVybiBEQ0xfU1RBVFVTIERjbEhHUFRfUmVhZERhdGEoRENMX0hBTkRMRSBoYW5kbGUsIERDTF9CVUZGICpidWZmLCBEQ0xfQlVGRl9MRU4gKmJ1Zl9sZW4sIERDTF9PUFRJT05TIG9wdGlvbnMpOworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiBGVU5DVElPTgorKiAgRGNsSEdQVF9Xcml0ZURhdGEKKyoKKyogREVTQ1JJUFRJT04KKyogIFRoaXMgZnVuY3Rpb24gaXMgbm90IHN1cHBvcnRlZCBmb3IgdGhlIEhXIEdQVCBtb2R1bGUgbm93LgorKgorKiBQQVJBTUVURVJTCisqCU4vQQorKgorKiBSRVRVUk5TCisqCVNUQVRVU19VTlNVUFBPUlRFRAorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK2V4dGVybiBEQ0xfU1RBVFVTIERjbEhHUFRfV3JpdGVEYXRhKERDTF9IQU5ETEUgaGFuZGxlLCBEQ0xfQlVGRiAqYnVmZiwgRENMX0JVRkZfTEVOICpidWZfbGVuLCBEQ0xfT1BUSU9OUyBvcHRpb25zKTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogRlVOQ1RJT04KKyogIERjbEhHUFRfQ29uZmlndXJlCisqCisqIERFU0NSSVBUSU9OCisqICBUaGlzIGZ1bmN0aW9uIGlzIG5vdCBzdXBwb3J0ZWQgZm9yIHRoZSBIVyBHUFQgbW9kdWxlIG5vdy4KKyoKKyogUEFSQU1FVEVSUworKglOL0EKKyoKKyogUkVUVVJOUworKglTVEFUVVNfVU5TVVBQT1JURUQKKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitleHRlcm4gRENMX1NUQVRVUyBEY2xIR1BUX0NvbmZpZ3VyZShEQ0xfSEFORExFIGhhbmRsZSwgRENMX0NPTkZJR1VSRV9UICpjb25maWd1cmUpOworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiBGVU5DVElPTgorKiAgRGNsSEdQVF9SZWdpc3RlckNhbGxiYWNrCisqCisqIERFU0NSSVBUSU9OCisqICBUaGlzIGZ1bmN0aW9uIGlzIHRvIHNldCBjYWxsYmFjayBmdW5jdGlvbiBmb3IgdGhlIEhXIEdQVCBtb2R1bGUuCisqCisqIFBBUkFNRVRFUlMKKyoJaGFuZGxlICAtIGhhbmxkZSBwcmV2aW91cyBnb3QgZnJvbSBEY2xIR1BUX09wZW4oKS4KKyogIGV2ZW50ICAgLSBvbmx5IHN1cHBvcnQgRVZFTlRfSEdQVF9USU1FT1VUIGV2ZW50LgorKiAgY2FsbGJhY2sgLSB0aGUgY2FsbGJhY2sgZnVuY3Rpb24gd2hlbiBIVyBHUFQgaXMgdGltZW91dC4KKyoKKyogUkVUVVJOUworKglTVEFUVVNfT0sgLSBzdWNjZXNzZnVsbHkgcmVnaXN0ZXIgdGhlIGNhbGxiYWNrIGZ1bmN0aW9uLgorKiAgU1RBVFVTX0lOVkFMSURfSEFORExFIC0gSXQncyBhIGludmFsaWQgaGFuZGxlLgorKiAgU1RBVFVTX05PVF9PUEVORUQgLSBUaGUgbW9kdWxlIGhhcyBub3QgYmVlbiBvcGVuZWQuCisqICBTVEFUVVNfSU5WQUxJRF9FVkVOVCAtIFRoZSBldmVudCBwYXJhbWV0ZXIgaXMgaW52YWxpZC4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitleHRlcm4gRENMX1NUQVRVUyBEY2xIR1BUX1JlZ2lzdGVyQ2FsbGJhY2soRENMX0hBTkRMRSBoYW5kbGUsIERDTF9FVkVOVCBldmVudCwgUEZOX0RDTF9DQUxMQkFDSyBjYWxsYmFjayk7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqIEZVTkNUSU9OCisqICBEY2xIR1BUX0NvbnRyb2wKKyoKKyogREVTQ1JJUFRJT04KKyogIFRoaXMgZnVuY3Rpb24gaXMgdG8gc2VuZCBjb21tYW5kIHRvIGNvbnRyb2wgdGhlIEhXIEdQVCBtb2R1bGUuCisqCisqIFBBUkFNRVRFUlMKKyoJaGFuZGxlIC0gYSB2YWxpZCBoYW5kbGUgcmV0dXJuIGJ5IERjbEhHUFRfT3BlbigpCisqICBjbWQgICAtIGEgY29udHJvbCBjb21tYW5kIGZvciBIVyBHUFQgbW9kdWxlCisqICAgICAgICAgIDEuIEhHUFRfQ01EX0NMSzogdG8gc2V0IGNsb2NrIGZvciBhIEhXIEdQVCB0aW1lcgorKiAgICAgICAgICAyLiBIR1BUX0NNRF9SRVNFVDogdG8gcmVzZXQgYSBIV0dQVCB0aW1lcgorKiAgICAgICAgICAzLiBIR1BUX0NNRF9TVEFSVDogdG8gc3RhcnQgYSBIVyBHUFQgdGltZXIKKyogICAgICAgICAgNC4gSEdQVF9DTURfU1RPUDogdG8gc3RvcCBhIEhXR1BUIHRpbWVyCisqICBkYXRhIC0gZm9yIDEuIEhHUFRfQ01EX0NMSzogcG9pbnRlciB0byBhIEhHUFRfQ1RSTF9DTEtfVCBzdHJ1Y3R1cmUKKyogICAgICAgICAgICAgMi4gSEdQVF9DTURfUkVTRVQ6IHBvaW50ZXIgdG8gYSBIR1BUX0NUUkxfUkVTRVRfVCBzdHJ1Y3R1cmUKKyogICAgICAgICAgICAgMy4gSEdQVF9DTURfU1RBUlQ6IGEgTlVMTCBwb2ludGVyCisqICAgICAgICAgICAgIDQuIEhHUFRfQ01EX1NUT1A6IGEgTlVMTCBwb2ludGVyCisqCisqIFJFVFVSTlMKKyoJU1RBVFVTX09LIC0gY29tbWFuZCBpcyBleGVjdXRlZCBzdWNjZXNzZnVsbHkuCisqCVNUQVRVU19GQUlMIC0gY29tbWFuZCBpcyBmYWlsZWQuCisqICBTVEFUVVNfSU5WQUxJRF9DTUQgLSBUaGUgY29tbWFuZCBpcyBpbnZhbGlkLgorKiAgU1RBVFVTX0lOVkFMSURfSEFORExFIC0gVGhlIGhhbmRsZSBpcyBpbnZhbGlkLgorKiAgU1RBVFVTX0lOVkFMSURfQ1RSTF9EQVRBIC0gVGhlIGN0cmwgZGF0YSBpcyBub3QgdmFsaWQuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworZXh0ZXJuIERDTF9TVEFUVVMgRGNsSEdQVF9Db250cm9sKERDTF9IQU5ETEUgaGFuZGxlLCBIR1BUX0NNRCBjbWQsIEhHUFRfQ1RSTCAqZGF0YSk7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqIEZVTkNUSU9OCisqICBEY2xIR1BUX0Nsb3NlCisqCisqIERFU0NSSVBUSU9OCisqICBUaGlzIGZ1bmN0aW9uIGlzIHRvIGNsb3NlIGEgSFcgR1BUIG1vZHVsZSBieSBhIGhhbmRsZSBwcmV2aW91cyBvcGVuZWQuIAorKgorKiBQQVJBTUVURVJTCisqCWhhbmRsZSAgLSBoYW5sZGUgcHJldmlvdXMgZ290IGZyb20gRGNsSEdQVF9PcGVuKCkuCisqCisqIFJFVFVSTlMKKyoJU1RBVFVTX09LIC0gc3VjY2Vzc2Z1bC4KKyoJRENMX0hBTkRMRV9JTlZBTElEIC0gaXQncyBhIGludmFsaWQgaGFuZGxlLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK2V4dGVybiBEQ0xfU1RBVFVTIERjbEhHUFRfQ2xvc2UoRENMX0hBTkRMRSBoYW5kbGUpOworCisvKiBEQ0wgZm9yIEZyZWUgUnVuIEhXIEdQVCAqLworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogRlVOQ1RJT04KKyogIERjbEZIR1BUX0luaXRpYWxpemUKKyoKKyogREVTQ1JJUFRJT04KKyogIFRoaXMgZnVuY3Rpb24gaXMgdG8gaW5pdGlhbGl6ZSB0aGUgZnJlZSBydW4gR1BUIG1vZHVsZS4KKyoKKyogUEFSQU1FVEVSUworKglOb25lCisqCisqIFJFVFVSTlMKKyoJRENMX1NUQVRVU19PSworKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK2V4dGVybiBEQ0xfU1RBVFVTIERjbEZIR1BUX0luaXRpYWxpemUodm9pZCk7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqIEZVTkNUSU9OCisqICBEY2xGSEdQVF9PcGVuCisqCisqIERFU0NSSVBUSU9OCisqICBUaGlzIGZ1bmN0aW9uIGlzIHRvIG9wZW4gYSBmcmVlIHJ1biBHUFQgbW9kdWxlIGlmIGl0IGV4aXN0cy4gTm90ZSAKKyogdGhhdCBpdCBzdXBwb3J0cyBtdWx0aXBsZSBvcGVucyBhbmQgbm8gbmVlZCB0byBjbG9zZSBpdC4KKyoKKyogUEFSQU1FVEVSUworKgllRGV2IC0gb25seSB2YWxpZCBmb3IgRENMX0dQVDMKKyoJZmxhZ3MgLSBubyBzZXBjaWFsIGZsYWdzIGlzIG5lZWRlZC4gUGxlYXNlIHVzZSBGTEFHU19OT05FCisqCisqIFJFVFVSTlMKKyoJRENMX0hBTkRMRV9JTlZBTElEIC0gT3BlbiBmYWlsZWQuIEl0IG1lYW5zIG5vIGZyZWUgcnVuIEdQVCBleGlzdHMgb3IgCisqICAgICAgICAgICAgICAgICAgICAgICBvcGVuIGEgd3JvbmcgZGV2aWNlLgorKiAgb3RoZXIgdmFsdWUgLSBhIHZhbGlkIGhhbmRsZQorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK2V4dGVybiBEQ0xfSEFORExFIERjbEZIR1BUX09wZW4oRENMX0RFViBkZXYsIERDTF9GTEFHUyBmbGFncyk7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqIEZVTkNUSU9OCisqICBEY2xGSEdQVF9SZWFkRGF0YQorKgorKiBERVNDUklQVElPTgorKiAgVGhpcyBmdW5jdGlvbiBpcyBub3Qgc3VwcG9ydGVkIGZvciB0aGUgZnJlZSBydW4gR1BUIG1vZHVsZSBub3cuCisqCisqIFBBUkFNRVRFUlMKKyoJTi9BCisqCisqIFJFVFVSTlMKKyoJU1RBVFVTX1VOU1VQUE9SVEVECisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworZXh0ZXJuIERDTF9TVEFUVVMgRGNsRkhHUFRfUmVhZERhdGEoRENMX0hBTkRMRSBoYW5kbGUsIERDTF9CVUZGICpidWZmLCBEQ0xfQlVGRl9MRU4gKmJ1Zl9sZW4sIERDTF9PUFRJT05TIG9wdGlvbnMpOworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiBGVU5DVElPTgorKiAgRGNsRkhHUFRfV3JpdGVEYXRhCisqCisqIERFU0NSSVBUSU9OCisqICBUaGlzIGZ1bmN0aW9uIGlzIG5vdCBzdXBwb3J0ZWQgZm9yIHRoZSBmcmVlIHJ1biBHUFQgbW9kdWxlIG5vdy4KKyoKKyogUEFSQU1FVEVSUworKglOL0EKKyoKKyogUkVUVVJOUworKglTVEFUVVNfVU5TVVBQT1JURUQKKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitleHRlcm4gRENMX1NUQVRVUyBEY2xGSEdQVF9Xcml0ZURhdGEoRENMX0hBTkRMRSBoYW5kbGUsIERDTF9CVUZGICpidWZmLCBEQ0xfQlVGRl9MRU4gKmJ1Zl9sZW4sIERDTF9PUFRJT05TIG9wdGlvbnMpOworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiBGVU5DVElPTgorKiAgRGNsRkhHUFRfQ29uZmlndXJlCisqCisqIERFU0NSSVBUSU9OCisqICBUaGlzIGZ1bmN0aW9uIGlzIG5vdCBzdXBwb3J0ZWQgZm9yIHRoZSBmcmVlIHJ1biBHUFQgbW9kdWxlIG5vdy4KKyoKKyogUEFSQU1FVEVSUworKglOL0EKKyoKKyogUkVUVVJOUworKglTVEFUVVNfVU5TVVBQT1JURUQKKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitleHRlcm4gRENMX1NUQVRVUyBEY2xGSEdQVF9Db25maWd1cmUoRENMX0hBTkRMRSBoYW5kbGUsIERDTF9DT05GSUdVUkVfVCAqY29uZmlndXJlKTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogRlVOQ1RJT04KKyogIERjbEZIR1BUX1JlZ2lzdGVyQ2FsbGJhY2sKKyoKKyogREVTQ1JJUFRJT04KKyogIFRoaXMgZnVuY3Rpb24gaXMgbm90IHN1cHBvcnRlZCBmb3IgdGhlIGZyZWUgcnVuIEdQVCBtb2R1bGUgbm93LgorKgorKiBQQVJBTUVURVJTCisqCU4vQQorKgorKiBSRVRVUk5TCisqCVNUQVRVU19VTlNVUFBPUlRFRAorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK2V4dGVybiBEQ0xfU1RBVFVTIERjbEZIR1BUX1JlZ2lzdGVyQ2FsbGJhY2soRENMX0hBTkRMRSBoYW5kbGUsIERDTF9FVkVOVCBldmVudCwgUEZOX0RDTF9DQUxMQkFDSyBjYWxsYmFjayk7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqIEZVTkNUSU9OCisqICBEY2xGSEdQVF9Db250cm9sCisqCisqIERFU0NSSVBUSU9OCisqICBUaGlzIGZ1bmN0aW9uIGlzIHRvIHNlbmQgY29tbWFuZCB0byBjb250cm9sIHRoZSBmcmVlIHJ1biBHUFQgbW9kdWxlLgorKgorKiBQQVJBTUVURVJTCisqCWhhbmRsZSAtIGEgdmFsaWQgaGFuZGxlIHJldHVybiBieSBEY2xGSEdQVF9PcGVuKCkKKyogIGNtZCAgIC0gYSBjb250cm9sIGNvbW1hbmQgZm9yIGZyZWUgcnliIEdQVCBtb2R1bGUKKyogICAgICAgICAgRkdQVF9DTURfUkVUVVJOX0NPVU5UOiB0byBnZXQgdGhlIHRpbWVyIGNvdW50CisqICBkYXRhIC0gZm9yIEZHUFRfQ01EX1JFVFVSTl9DT1VOVDogcG9pbnRlciB0byBhIEZHUFRfQ1RSTF9SRVRVUk5fQ09VTlRfVCB0eXBlCisqCisqIFJFVFVSTlMKKyoJU1RBVFVTX09LIC0gY29tbWFuZCBpcyBleGVjdXRlZCBzdWNjZXNzZnVsbHkuCisqCVNUQVRVU19GQUlMIC0gY29tbWFuZCBpcyBmYWlsZWQuIE5vIGZyZWUgcnVuIEdQVCBpcyBzdXBwb3J0ZWQuCisqICBTVEFUVVNfSU5WQUxJRF9DTUQgLSBUaGUgY29tbWFuZCBpcyBpbnZhbGlkLgorKiAgU1RBVFVTX0lOVkFMSURfSEFORExFIC0gVGhlIGhhbmRsZSBpcyBpbnZhbGlkLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK2V4dGVybiBEQ0xfU1RBVFVTIERjbEZIR1BUX0NvbnRyb2woRENMX0hBTkRMRSBoYW5kbGUsIEhHUFRfQ01EIGNtZCwgSEdQVF9DVFJMICpkYXRhKTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogRlVOQ1RJT04KKyogIERjbEZIR1BUX0Nsb3NlCisqCisqIERFU0NSSVBUSU9OCisqICBUaGlzIGZ1bmN0aW9uIGlzIG5vdCBzdXBwb3J0ZWQgZm9yIHRoZSBmcmVlIHJ1biBHUFQgbW9kdWxlIG5vdy4KKyoKKyogUEFSQU1FVEVSUworKglOL0EKKyoKKyogUkVUVVJOUworKglTVEFUVVNfVU5TVVBQT1JURUQKKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitleHRlcm4gRENMX1NUQVRVUyBEY2xGSEdQVF9DbG9zZShEQ0xfSEFORExFIGhhbmRsZSk7CisKK2thbF9ib29sIEdQVF9Jc1N0b3Aodm9pZCk7CisKKworI2lmIGRlZmluZWQoX19EUlZfQ09NTV9SRUdfREJHX18pICYmIGRlZmluZWQoX19EUlZfR1BUX1JFR19EQkdfXykKKyNkZWZpbmUgRFJWX0dQVF9Xcml0ZVJlZyhhZGRyLGRhdGEpICAgICAgICAgICAgICBEUlZfREJHX1dyaXRlUmVnKGFkZHIsZGF0YSkKKyNkZWZpbmUgRFJWX0dQVF9SZWcoYWRkcikgICAgICAgICAgICAgICAgICAgICAgICBEUlZfREJHX1JlZyhhZGRyKSAgICAgICAgICAgICAgICAgICAgICAKKyNkZWZpbmUgRFJWX0dQVF9Xcml0ZVJlZzMyKGFkZHIsZGF0YSkgICAgICAgICAgICBEUlZfREJHX1dyaXRlUmVnMzIoYWRkcixkYXRhKSAgICAgICAgICAKKyNkZWZpbmUgRFJWX0dQVF9SZWczMihhZGRyKSAgICAgICAgICAgICAgICAgICAgICBEUlZfREJHX1JlZzMyKGFkZHIpICAgICAgICAgICAgICAgICAgICAKKyNkZWZpbmUgRFJWX0dQVF9Xcml0ZVJlZzgoYWRkcixkYXRhKSAgICAgICAgICAgICBEUlZfREJHX1dyaXRlUmVnOChhZGRyLGRhdGEpICAgICAgICAgICAKKyNkZWZpbmUgRFJWX0dQVF9SZWc4KGFkZHIpICAgICAgICAgICAgICAgICAgICAgICBEUlZfREJHX1JlZzgoYWRkcikgICAgICAgICAgICAgICAgICAgICAKKyNkZWZpbmUgRFJWX0dQVF9DbGVhckJpdHMoYWRkcixkYXRhKSAgICAgICAgICAgICBEUlZfREJHX0NsZWFyQml0cyhhZGRyLGRhdGEpICAgICAgICAgICAKKyNkZWZpbmUgRFJWX0dQVF9TZXRCaXRzKGFkZHIsZGF0YSkgICAgICAgICAgICAgICBEUlZfREJHX1NldEJpdHMoYWRkcixkYXRhKSAgICAgICAgICAgICAKKyNkZWZpbmUgRFJWX0dQVF9TZXREYXRhKGFkZHIsIGJpdG1hc2ssIHZhbHVlKSAgICBEUlZfREJHX1NldERhdGEoYWRkciwgYml0bWFzaywgdmFsdWUpICAKKyNkZWZpbmUgRFJWX0dQVF9DbGVhckJpdHMzMihhZGRyLGRhdGEpICAgICAgICAgICBEUlZfREJHX0NsZWFyQml0czMyKGFkZHIsZGF0YSkgICAgICAgICAKKyNkZWZpbmUgRFJWX0dQVF9TZXRCaXRzMzIoYWRkcixkYXRhKSAgICAgICAgICAgICBEUlZfREJHX1NldEJpdHMzMihhZGRyLGRhdGEpICAgICAgICAgICAKKyNkZWZpbmUgRFJWX0dQVF9TZXREYXRhMzIoYWRkciwgYml0bWFzaywgdmFsdWUpICBEUlZfREJHX1NldERhdGEzMihhZGRyLCBiaXRtYXNrLCB2YWx1ZSkKKyNkZWZpbmUgRFJWX0dQVF9DbGVhckJpdHM4KGFkZHIsZGF0YSkgICAgICAgICAgICBEUlZfREJHX0NsZWFyQml0czgoYWRkcixkYXRhKSAgICAgICAgICAKKyNkZWZpbmUgRFJWX0dQVF9TZXRCaXRzOChhZGRyLGRhdGEpICAgICAgICAgICAgICBEUlZfREJHX1NldEJpdHM4KGFkZHIsZGF0YSkgICAgICAgICAgICAKKyNkZWZpbmUgRFJWX0dQVF9TZXREYXRhOChhZGRyLCBiaXRtYXNrLCB2YWx1ZSkgICBEUlZfREJHX1NldERhdGE4KGFkZHIsIGJpdG1hc2ssIHZhbHVlKSAKKyNlbHNlCisjZGVmaW5lIERSVl9HUFRfV3JpdGVSZWcoYWRkcixkYXRhKSAgICAgICAgICAgICAgRFJWX1dyaXRlUmVnKGFkZHIsZGF0YSkKKyNkZWZpbmUgRFJWX0dQVF9SZWcoYWRkcikgICAgICAgICAgICAgICAgICAgICAgICBEUlZfUmVnKGFkZHIpICAgICAgICAgICAgICAgICAgICAgIAorI2RlZmluZSBEUlZfR1BUX1dyaXRlUmVnMzIoYWRkcixkYXRhKSAgICAgICAgICAgIERSVl9Xcml0ZVJlZzMyKGFkZHIsZGF0YSkgICAgICAgICAgCisjZGVmaW5lIERSVl9HUFRfUmVnMzIoYWRkcikgICAgICAgICAgICAgICAgICAgICAgRFJWX1JlZzMyKGFkZHIpICAgICAgICAgICAgICAgICAgICAKKyNkZWZpbmUgRFJWX0dQVF9Xcml0ZVJlZzgoYWRkcixkYXRhKSAgICAgICAgICAgICBEUlZfV3JpdGVSZWc4KGFkZHIsZGF0YSkgICAgICAgICAgIAorI2RlZmluZSBEUlZfR1BUX1JlZzgoYWRkcikgICAgICAgICAgICAgICAgICAgICAgIERSVl9SZWc4KGFkZHIpICAgICAgICAgICAgICAgICAgICAgCisjZGVmaW5lIERSVl9HUFRfQ2xlYXJCaXRzKGFkZHIsZGF0YSkgICAgICAgICAgICAgRFJWX0NsZWFyQml0cyhhZGRyLGRhdGEpICAgICAgICAgICAKKyNkZWZpbmUgRFJWX0dQVF9TZXRCaXRzKGFkZHIsZGF0YSkgICAgICAgICAgICAgICBEUlZfU2V0Qml0cyhhZGRyLGRhdGEpICAgICAgICAgICAgIAorI2RlZmluZSBEUlZfR1BUX1NldERhdGEoYWRkciwgYml0bWFzaywgdmFsdWUpICAgIERSVl9TZXREYXRhKGFkZHIsIGJpdG1hc2ssIHZhbHVlKSAgCisjZGVmaW5lIERSVl9HUFRfQ2xlYXJCaXRzMzIoYWRkcixkYXRhKSAgICAgICAgICAgRFJWX0NsZWFyQml0czMyKGFkZHIsZGF0YSkgICAgICAgICAKKyNkZWZpbmUgRFJWX0dQVF9TZXRCaXRzMzIoYWRkcixkYXRhKSAgICAgICAgICAgICBEUlZfU2V0Qml0czMyKGFkZHIsZGF0YSkgICAgICAgICAgIAorI2RlZmluZSBEUlZfR1BUX1NldERhdGEzMihhZGRyLCBiaXRtYXNrLCB2YWx1ZSkgIERSVl9TZXREYXRhMzIoYWRkciwgYml0bWFzaywgdmFsdWUpCisjZGVmaW5lIERSVl9HUFRfQ2xlYXJCaXRzOChhZGRyLGRhdGEpICAgICAgICAgICAgRFJWX0NsZWFyQml0czgoYWRkcixkYXRhKSAgICAgICAgICAKKyNkZWZpbmUgRFJWX0dQVF9TZXRCaXRzOChhZGRyLGRhdGEpICAgICAgICAgICAgICBEUlZfU2V0Qml0czgoYWRkcixkYXRhKSAgICAgICAgICAgIAorI2RlZmluZSBEUlZfR1BUX1NldERhdGE4KGFkZHIsIGJpdG1hc2ssIHZhbHVlKSAgIERSVl9TZXREYXRhOChhZGRyLCBiaXRtYXNrLCB2YWx1ZSkgCisjZW5kaWYgLy8jaWYgZGVmaW5lZChfX0RSVl9DT01NX1JFR19EQkdfXykgJiYgZGVmaW5lZChfX0RSVl9HUFRfUkVHX0RCR19fKQorCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9kY2xfaHRzLmggYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL2RjbF9odHMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYjg0YzRmCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9kY2xfaHRzLmgKQEAgLTAsMCArMSwzMzEgQEAKKyNpZm5kZWYgRENMX0hUU19IXworI2RlZmluZSBEQ0xfSFRTX0hfCisKKyNpbmNsdWRlICJkY2wuaCIKKworI2RlZmluZSBEQ0xfSFRTX01BR0lDX05VTSAgMHg0MDAwMDAwMAorCit0eXBlZGVmIERDTF9VSU5UMzIgSFRTX0RFVjsKK3R5cGVkZWYgZW51bQoreworCVRPVUNIX1BBTkVMX1I9MQorfUhUU19ERVZfVDsKKwordHlwZWRlZiBEQ0xfVUlOVDMyIEhUU19FVkVOVDsKK3R5cGVkZWYgZW51bQoreworICAgRENMX0VWRU5UX0hUU19QRU5fRE9XTj0xLCAKKyAgIERDTF9FVkVOVF9IVFNfUEVOX1VQLAorICAgRENMX0VWRU5UX0hUU19NQVgKK31IVFNfRVZFTlRfVDsKKworLy90b3VjaCBwYW5lbCBkcml2ZXIgY29tbWFuZCBvZiAgaGFyZHdhcmUgbGF5ZXIuCit0eXBlZGVmIERDTF9VSU5UMzIgSFRTX0NNRDsKKwordHlwZWRlZiBlbnVtCit7CisJSFRTX0NNRF9HRVRfVFBfQURDLAorCUhUU19DTURfVFNfUkVBRF9BREMsCisJSFRTX0NNRF9HRVRfVFBfTEVWRUwsCisJSFRTX0NNRF9HRVRfVFBfTEVWRUxfUFJFU1NVUkUsCisJSFRTX0NNRF9UUF9VUERBVEVOT1RJRlksCisJSFRTX0NNRF9HRVRfVFBfUFJFU1NVUkUsCisJSFRTX0NNRF9UUF9QUkVTU1VSRV9WQUxVRSwKKwlIVFNfQ01EX1NFVF9DT05GSUcsCisJSFRTX0NNRF9HRVRfVFBfUE9JTlQsCisJSFRTX0NNRF9HRVRfVFBfUE9JTlRfTlVNLAorCUhUU19DTURfR0VUX1RQX1RZUEUsCisJSFRTX0NNRF9TRVRfQ0FMSV9WQUxVRSwKKwlIVFNfQ01EX0dFVF9DQUxJX1ZBTFVFLAorCUhUU19DTURfU0VUX0RFQk9VTkNFX1RJTUUsCisJSFRTX0NNRF9HRVRfREVCT1VOQ0VfVElNRSwKKwlIVFNfQ01EX1NFVF9TUExfTlVNLAorCUhUU19DTURfR0VUX1NQTF9OVU0KK31IVFNfQ01EX1Q7CisKKy8vSFRTX0NNRF9TRVRfREVCT1VOQ0VfVElNRQordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBEQ0xfVUlOVDMyIHU0RGVib3VuY2VUaW1lOworfUhUU19DVFJMX0RUX1Q7CisKKworLy9IVFNfQ01EX1RQX1NFVF9QQVJBTUVURVJTCit0eXBlZGVmIHN0cnVjdAoreworICAgRENMX1VJTlQzMiAgICAgICAgICAgIHU0U2FtcGxlUmVzb2x1dGlvbjsKKyAgIERDTF9VSU5UMzIgICAgICAgICAgICB1NE1vZGVTZWxlY3Rpb247Cit9IEhUU19DVFJMX0NPTkZJR19UOwordHlwZWRlZiBlbnVtIHsKKwkvL05vdCB1c2UgdGhlIHNhbWUgdmFsdWVzIGFzIHRzX2h3LmgKKwkvL090aGVyd2lzZSBpdCBlYXN5IHRvIGNhdXNlIGJ1ZyBpZiBjaGFuZ2UgdHNfaHcuaCwgYnV0IGZvcmdldCB0byBjaGFuZ2UgdGhlc2UKKyAgIERDTF9UU19DTURfRElGRkVSRU5USUFMLAorICAgRENMX1RTX0NNRF9TSU5HTEVfRU5ELAorICAgRENMX1RTX0NNRF9NT0RFXzhCSVQsCisgICBEQ0xfVFNfQ01EX01PREVfMTBCSVQsCisgICBEQ0xfVFNfQ01EX01PREVfMTJCSVQKK30gSFRTX1BBUkFNRVRFUl9UOworCisvL0hUU19DTURfVFBfTEVWRUwsCit0eXBlZGVmIHN0cnVjdAoreworICAgRENMX0JPT0wgIGZnSXNVUDsKKyAgIERDTF9VSU5UMzIgcHJlc3N1cmVfdmFsdWU7Cit9IEhUU19DVFJMX1RMX1Q7CisKKworLy9IVFNfQ01EX1RQX1JFQURfQURDCit0eXBlZGVmIHN0cnVjdAoreworICAgRENMX0lOVDE2ICpwaTJ4OworICAgRENMX0lOVDE2ICpwaTJ5OworfSBIVFNfQ1RSTF9UUFJBX1Q7CisKKy8vSFRTX0NNRF9UU19SRUFEX0FEQwordHlwZWRlZiBlbnVtIHsKKyAgIFRTX0NPT1JEX0hUU19BRERSX1ksIAorICAgVFNfQ09PUkRfSFRTX0FERFJfWjEsCisgICBUU19DT09SRF9IVFNfQUREUl9aMiwKKyAgIFRTX0NPT1JEX0hUU19BRERSX1gKK30gVFNfQ09PUkRfRU5VTTsKK3R5cGVkZWYgc3RydWN0Cit7CisgICBEQ0xfSU5UMTYgaTJBZGNWYWx1ZTsKKyAgIFRTX0NPT1JEX0VOVU0gdUNvb3JkOworfSBIVFNfQ1RSTF9UU1JBX1Q7CisKKy8vSFRTX0NNRF9UUF9QUkVTU1VSRQordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIERDTF9CT09MICBmZ0lzUHJlc3NlZDsKK30gSFRTX0NUUkxfVFBQX1Q7CisKKy8vSFRTX0NNRF9UUF9QUkVTU1VSRV9WQUxVRQordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIERDTF9JTlQzMiAgZmdQcmVzc3VyZVZhbHVlOworfSBIVFNfQ1RSTF9UUFBWX1Q7CisvL0hUU19DTURfUkVBRF9BREMKK3R5cGVkZWYgc3RydWN0Cit7CisgICBEQ0xfSU5UMTYgKnBpMng7CisgICBEQ0xfSU5UMTYgKnBpMnk7Cit9IEhUU19DVFJMX1JBX1Q7CisKKy8vSFRTX0NNRF9BRENfVE9fQ09PUkRJTkFURQordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIERDTF9CT09MIGZnVmFsaWQ7CisgICBEQ0xfSU5UMTYgKnBpMng7CisgICBEQ0xfSU5UMTYgKnBpMnk7Cit9IEhUU19DVFJMX0FUQ19UOworCisvL0hUU19DTURfR0VUX1NQTF9OVU0KK3R5cGVkZWYgc3RydWN0Cit7CisgICAgRENMX1VJTlQzMiB1NFNQTE51bTsKK31IVFNfQ1RSTF9TTl9UOworCit0eXBlZGVmIHVuaW9uIAoreworCUhUU19DVFJMX1RMX1QJICAgclRTQ3RybFRMOyAKKwlIVFNfQ1RSTF9UUFJBX1QgICAgclRTQ3RybFRQUkE7IAorCUhUU19DVFJMX1RTUkFfVCAgICByVFNDdHJsVFNSQTsgCisJSFRTX0NUUkxfVFBQX1QJICAgclRTQ3RybFRQUDsgCisJSFRTX0NUUkxfVFBQVl9UICAgIHJUU0N0cmxUUFBWOyAKKwlIVFNfQ1RSTF9SQV9UCSAgIHJUU0N0cmxSQTsgCisJSFRTX0NUUkxfQVRDX1QJICAgclRTQ3RybEFUQzsKKwlIVFNfQ1RSTF9DT05GSUdfVCAgclRTQ3RybENvbmZpZzsKKwlIVFNfQ1RSTF9EVF9UICAgICAgclRTQ3RybERlYm91bmNldGltZTsKKwlIVFNfQ1RSTF9TTl9UICAgICAgclRTQ3RybFNQTE51bTsKK31IVFNfQ1RSTF9EQVRBX1Q7CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogRlVOQ1RJT04gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyoJRGNsSFRTX0Nsb3NlCisqCisqIERFU0NSSVBUSU9OICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyogICBUaGlzIGZ1bmN0aW9uIGlzIHRvIGNsb3NlIHRoZSBIVyBUUyBtb2R1bGUuCisqCisqIENBTExTICAKKyoJSXQgaXMgY2FsbGVkIHRvIGNsb3NlIEhXIFRTIG1vZHVsZQorKgorKiBQQVJBTUVURVJTCisqCU5vbmUKKyoJCisqIFJFVFVSTlMKKyoJRENMX1NUQVRVU19PSworKiAgIFNUQVRVU19JTlZBTElEX0FSR1VNRU5UOiBpbnZhbGlkIGFyZ3VtZW50cworKgorKiBHTE9CQUxTIEFGRkVDVEVECisqICAgZXh0ZXJuYWxfZ2xvYmFsCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworZXh0ZXJuIERDTF9TVEFUVVMgRGNsSFRTX0Nsb3NlKERDTF9IQU5ETEUgaGFuZGxlKTsKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqIEZVTkNUSU9OICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisqCURjbEhUU19Db25maWd1cmUKKyoKKyogREVTQ1JJUFRJT04gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorKiAgIFRoaXMgZnVuY3Rpb24gaXMgdG8gY29uZmlndXJlIHRoZSBIVyBUUyBtb2R1bGUuCisqCisqIENBTExTICAKKyoJSXQgaXMgY2FsbGVkIHRvIGNvbmZpZ3VyZSBvZiB0aGUgSFcgVFMgbW9kdWxlLgorKgorKiBQQVJBTUVURVJTCisqCWhhbmRsZSAtIGEgdmFsaWQgaGFuZGxlIHJldHVybiBieSBEY2xIVFNfT3BlbigpCisqICAgY29uZmlndXJlIC0gYSBzdHJ1Y3R1cmUgd2hpY2ggaW5jbHVkZSB0aGUgVFMgY29uZmlndXJhdGlvbi4gIAorKgkKKyogUkVUVVJOUworKglTVEFUVVNfT0s6IGNvbW1hbmQgaXMgZXhlY3V0ZWQgc3VjY2Vzc2Z1bGx5LgorKglTVEFUVVNfRkFJTDogbm90IG9wZW4geWV0LgorKiAgIFNUQVRVU19JTlZBTElEX0FSR1VNRU5UOiBub3QgYSB2YWxpZCBoYW5kbGUuCisqCisqIEdMT0JBTFMgQUZGRUNURUQKKyogICBleHRlcm5hbF9nbG9iYWwKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvL2V4dGVybiBEQ0xfU1RBVFVTIERjbEhUU19Db25maWd1cmUoRENMX0hBTkRMRSBoYW5kbGUsIERDTF9DT05GSUdVUkVfVCAqY29uZmlndXJlKTsKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqIEZVTkNUSU9OICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisqCURjbEhUU19Db250cm9sCisqCisqIERFU0NSSVBUSU9OICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyogICAJVGhpcyBmdW5jdGlvbiBpcyB0byBzZW5kIGNvbW1hbmQgdG8gY29udHJvbCB0aGUgVFMgbW9kdWxlLgorKgorKiBDQUxMUyAgCisqCUl0IGlzIGNhbGxlZCB0byBzZW5kIGNvbW1hbmQgdG8gY29udHJvbCB0aGUgVFMgbW9kdWxlLgorKgorKiBQQVJBTUVURVJTCisqCWhhbmRsZSAtIGEgdmFsaWQgaGFuZGxlIHJldHVybiBieSBEY2xIVFNfT3BlbigpCisqICAgY21kICAgLSBhIGNvbnRyb2wgY29tbWFuZCBmb3IgVFMgbW9kdWxlCisqICAgICAgICAgICAxLiBIVFNfQ01EX1RQX0xFVkVMICAgICAgICAgICA6dG8gZGV0ZWN0IHdoZXRoZXIgVFAgaXMgdG91Y2hlZCBvciBOT1QKKyogICAgICAgICAgIDIuIEhUU19DTURfVFBfVVBEQVRFX05PVElGWSAgIDp0byBzZXQgYSBldmVudCB0byBUUCB0YXNrIHRvIGluZGljYXRlIHdlIGFyZSBhdCBVUCBzdGF0ZQorKiAgICAgICAgICAgMy4gSFRTX0NNRF9UUF9SRUFEX0FEQyAgICAgICAgOnRvIHJlYWQgeCBhbmQgeSBhZGMgdmFsdWUgZnJvbSBBVVhBREMgSFcuICh3aXRoIHRvdWNoX3BhbmVsX2ZpbHRlcl90aHJlc29sZCB3aGljaCBhdm9pZCBkZXRlY3QgZXJyb3IpCisqICAgICAgICAgICA0LiBIVFNfQ01EX1RQX1BSRVNTVVJFICAgICAgICA6dG8gY2hlY2sgaXMgdG91Y2ggcGFuZWwgcHJlc3NlZC4KKyogICAgICAgICAgIDUuIEhUU19DTURfVFNfRFJWX0lOSVQgICAgICAgIDp0byBpbml0aWFsIEhXIGRyaXZlciBhbmQgc3dpdGNoIG9uIHdvcmsgYXJvdW5kIGZ1bmNpdG9uCisqICAgICAgICAgICA2LiBIVFNfQ01EX1JFQURfQURDICAgICAgICAgICA6dG8gcmVhZCBhZGMgZnJvbSB0b3VjaCBwYW5lbCBtb2R1bGUuICh3aXRoIExhbmRzY2FwZSBzdXBwb3J0LCBjb21waWxlIG9wdGlvbjogX19QT1JUUkFJVF9MQ01fU0lNVUxBVEVfTEFORFNDQVBFX0xDTV9fKQorKiAgICAgICAgICAgNy4gSFRTX0NNRF9UU19SRUFEX0FEQyAgICAgICAgOnRvIHJlYWQgeCBvciB5IGFkYyB2YWx1ZSBmcm9tIEFVWEFEQyBIVy4KKyoKKyogICBkYXRhIC0gYSB1bmlvbiBvZiBEQ0xfQ1RSTF9EQVRBX1QKKyogICAgICAgICAgICByVFNDdHJsVEw7ICAgIC8vSFRTX0NUUkxfVExfVAorKiAgICAgICAgICAgIHJUU0N0cmxUUFJBOyAgLy9IVFNfQ1RSTF9UUFJBX1QKKyogICAgICAgICAgICByVFNDdHJsVFBQOyAgIC8vSFRTX0NUUkxfVFBQX1QKKyogICAgICAgICAgICByVFNDdHJsUkE7ICAgIC8vSFRTX0NUUkxfUkFfVAorKiAgICAgICAgICAgIHJUU0N0cmxUU1JBICAgLy9IVFNfQ01EX1RTX1JFQURfQURDCisqCisqIFJFVFVSTlMKKyoJU1RBVFVTX09LOiBjb21tYW5kIGlzIGV4ZWN1dGVkIHN1Y2Nlc3NmdWxseS4KKyoJU1RBVFVTX0ZBSUw6IGNvbW1hbmQgaXMgZmFpbGVkLgorKiAgIFNUQVRVU19JTlZBTElEX0NNRDogSXQncyBhIGludmFsaWQgY29tbWFuZC4KKyogICBTVEFUVVNfSU5WQUxJRF9BUkdVTUVOVDogbm90IGEgdmFsaWQgaGFuZGxlLgorKgorKiBHTE9CQUxTIEFGRkVDVEVECisqICAgZXh0ZXJuYWxfZ2xvYmFsCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworZXh0ZXJuIERDTF9TVEFUVVMgRGNsSFRTX0NvbnRyb2woRENMX0hBTkRMRSBoYW5kbGUsIEhUU19DTUQgY21kLCBIVFNfQ1RSTF9EQVRBX1QgKmRhdGEpOworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogRlVOQ1RJT04gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyoJRGNsSFRTX0luaXRpYWxpemUKKyoKKyogREVTQ1JJUFRJT04gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorKiAgIFRoaXMgZnVuY3Rpb24gaXMgdG8gaW5pdGlhbGl6ZSBIVyBUUyBtb2R1bGUKKyoKKyogQ0FMTFMgIAorKglJdCBpcyBjYWxsZWQgdG8gaW5pdGlhbGl6ZSBIVyBUUyBtb2R1bGUKKyoKKyogUEFSQU1FVEVSUworKglOb25lCisqCQorKiBSRVRVUk5TCisqCURDTF9TVEFUVVNfT0sKKyoKKyogR0xPQkFMUyBBRkZFQ1RFRAorKiAgIGV4dGVybmFsX2dsb2JhbAorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK2V4dGVybiBEQ0xfU1RBVFVTIERjbEhUU19Jbml0aWFsaXplKHZvaWQpOworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogRlVOQ1RJT04gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyoJRGNsSFRTX09wZW4KKyoKKyogREVTQ1JJUFRJT04gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorKiAgIAlUaGlzIGZ1bmN0aW9uIGlzIHRvIG9wZW4gdGhlIFRTIEhXIG1vZHVsZSBhbmQgcmV0dXJuIGEgaGFuZGxlCisqCisqIENBTExTICAKKyoJSXQgaXMgY2FsbGVkIHRvIG9wZW4gSFcgVFMgbW9kdWxlCisqCisqIFBBUkFNRVRFUlMKKyoJZGV2IC0gdmFsaWQgZm9yIERDTF9UUworKglmbGFncyAtIG5vIHNlcGNpYWwgZmxhZ3MgaXMgbmVlZGVkLiBQbGVhc2UgdXNlIEZMQUdTX05PTkUKKyoKKyogUkVUVVJOUworKglEQ0xfSEFORExFX0lOVkFMSUQgLSBPcGVuIGZhaWxlZC4KKyogICBPdGhlciB2YWx1ZSAtIGEgdmFsaWQgaGFuZGxlCisqCisqIEdMT0JBTFMgQUZGRUNURUQKKyogICBleHRlcm5hbF9nbG9iYWwKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitleHRlcm4gRENMX0hBTkRMRSBEY2xIVFNfT3BlbihIVFNfREVWIGRldiwgRENMX0ZMQUdTIGZsYWdzKTsKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqIEZVTkNUSU9OICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisqCURjbEhUU19SZWFkRGF0YQorKgorKiBERVNDUklQVElPTgorKiAgIFRoaXMgZnVuY3Rpb24gdW5zdXBwb3J0ZWQuCisqCisqIENBTExTICAKKyoJSXQgaXMgdW5zdXBwb3J0ZWQuCisqCisqIFBBUkFNRVRFUlMKKyoJaGFuZGxlCisqICAgYnVmZiAgCisqICAgYnVmX2xlbiAKKyogICBvcHRpb25zICAKKyoJCisqIFJFVFVSTlMKKyoJU1RBVFVTX1VOU1VQUE9SVEVEOiBjb21tYW5kIHVuc3VwcG9ydGVkCisqCisqIEdMT0JBTFMgQUZGRUNURUQKKyogICBleHRlcm5hbF9nbG9iYWwKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitleHRlcm4gRENMX1NUQVRVUyBEY2xIVFNfUmVhZERhdGEoRENMX0hBTkRMRSBoYW5kbGUsIERDTF9CVUZGICpidWZmLCBEQ0xfQlVGRl9MRU4gKmJ1Zl9sZW4sIERDTF9PUFRJT05TIG9wdGlvbnMpOworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogRlVOQ1RJT04gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyoJRGNsSFRTX1JlZ2lzdGVyQ2FsbGJhY2sKKyoKKyogREVTQ1JJUFRJT04gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorKiAgIAlUaGlzIGZ1bmN0aW9uIGlzIHRvIHJlZ2lzdGVyIEhXIFRTIGNhbGwgYmFjayBmdW5jaXRvbi4KKyoKKyogQ0FMTFMgIAorKglJdCBpcyBjYWxsZWQgdG8gcmVnaXN0ZXIgSFcgVFMgY2FsbCBiYWNrIGZ1bmNpdG9uLgorKgorKiBQQVJBTUVURVJTCisqCWV2ZW50IC0gYSB2YWxpZCBldmVudCBpbmRpY2F0ZSByZWdpc3RlciB3aGljaCBldmVudCdzIGNhbGwgYmFjayBmdW5jaXRvbgorKiAgICAgICAgICAgIDEuIERDTF9FVkVOVF9IVFNfUEVOX0RPV04sCisqICAgICAgICAgICAgMi4gRENMX0VWRU5UX0hUU19QRU5fVVAgCisqICAgY2FsbGJhY2sgLSBhIGNhbGwgYmFjayBmdW5jaXRvbgorKgkKKyogUkVUVVJOUworKglTVEFUVVNfT0s6IHJlZ2lzdGVyIGlzIGV4ZWN1dGVkIHN1Y2Nlc3NmdWxseS4KKyoJU1RBVFVTX0ZBSUw6IHJlZ2lzdGVyIGlzIGZhaWxlZC4KKyogICBTVEFUVVNfSU5WQUxJRF9DTUQ6IEl0J3MgYSBpbnZhbGlkIGNvbW1hbmQuCisqCisqIEdMT0JBTFMgQUZGRUNURUQKKyogICBleHRlcm5hbF9nbG9iYWwKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitleHRlcm4gRENMX1NUQVRVUyBEY2xIVFNfUmVnaXN0ZXJDYWxsYmFjayhEQ0xfSEFORExFIGhhbmRsZSwgRENMX0VWRU5UIGV2ZW50LCBQRk5fRENMX0NBTExCQUNLIGNhbGxiYWNrKTsKKworCisKKworCisKKyNlbmRpZgorCisKKworCisKKworCisKKwpkaWZmIC0tZ2l0IGEvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9kY2xfcG1pYzYzMjBfaHcuaCBiL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvZGNsX3BtaWM2MzIwX2h3LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTQ1NGZmMQotLS0gL2Rldi9udWxsCisrKyBiL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvZGNsX3BtaWM2MzIwX2h3LmgKQEAgLTAsMCArMSw3NDUgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxMgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLiAKKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGaWxlbmFtZToKKyAqIC0tLS0tLS0tLQorICoJCWRjbF9wbWljNjMyMF9ody5oCisgKgorICogUHJvamVjdDoKKyAqIC0tLS0tLS0tCisgKiAgIAlNYXVpX1NvZnR3YXJlCisgKgorICogRGVzY3JpcHRpb246CisgKiAtLS0tLS0tLS0tLS0KKyAqCQlUaGlzIGZpbGUgaXMgZm9yIFBNSUMgNjMyMAorICoKKyAqIEF1dGhvcjoKKyAqIC0tLS0tLS0KKyAqIC0tLS0tLS0KKyAqCisgKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqICAgICAgICAgICAgIEhJU1RPUlkKKyAqIEJlbG93IHRoaXMgbGluZSwgdGhpcyBwYXJ0IGlzIGNvbnRyb2xsZWQgYnkgUFZDUyBWTS4gRE8gTk9UIE1PRElGWSEhCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIFVwcGVyIHRoaXMgbGluZSwgdGhpcyBwYXJ0IGlzIGNvbnRyb2xsZWQgYnkgUFZDUyBWTS4gRE8gTk9UIE1PRElGWSEhCisgKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworIAorI2lmbmRlZiBfX0RDTF9QTUlDNjMyMF9IV19IX1NUUlVDVF9fCisjZGVmaW5lIF9fRENMX1BNSUM2MzIwX0hXX0hfU1RSVUNUX18KKworCisjaW5jbHVkZSAiZGNsX3BtaWNfZmVhdHVyZXMuaCIKKworI2lmIGRlZmluZWQoUE1JQ182MzIwX1JFR19BUEkpCisKKyNkZWZpbmUgUE1JQ19CQVNFICgweDAwMDApCisjZGVmaW5lIERFV19CQVNFICAoMHhCQzAwKQorI2RlZmluZSBNVDYzMjBfRTFfQ0lEICAgICAgICAgICAgICAgMHgxMDIwCisKKy8vcmVnaXN0ZXIgbnVtYmVyCisjZGVmaW5lIENIUl9DT04wICAgICAgICAweDAwMDAKKyNkZWZpbmUgQ0hSX0NPTjEgICAgICAgIDB4MDAwMgorI2RlZmluZSBDSFJfQ09OMiAgICAgICAgMHgwMDA0CisjZGVmaW5lIENIUl9DT04zICAgICAgICAweDAwMDYKKyNkZWZpbmUgQ0hSX0NPTjQgICAgICAgIDB4MDAwOAorI2RlZmluZSBDSFJfQ09ONSAgICAgICAgMHgwMDBBCisjZGVmaW5lIENIUl9DT042ICAgICAgICAweDAwMEMKKyNkZWZpbmUgQ0hSX0NPTjcgICAgICAgIDB4MDAwRQorI2RlZmluZSBDSFJfQ09OOCAgICAgICAgMHgwMDEwCisjZGVmaW5lIENIUl9DT045ICAgICAgICAweDAwMTIKKyNkZWZpbmUgQ0hSX0NPTjEwICAgICAgIDB4MDAxNAorI2RlZmluZSBDSFJfQ09OMTEgICAgICAgMHgwMDE2CisjZGVmaW5lIENIUl9DT04xMiAgICAgICAweDAwMTgKKyNkZWZpbmUgQ0hSX0NPTjEzICAgICAgIDB4MDAxQQorI2RlZmluZSBDSFJfQ09OMTQgICAgICAgMHgwMDFDCisjZGVmaW5lIENIUl9DT04xNSAgICAgICAweDAwMUUKKyNkZWZpbmUgQ0hSX0NPTjE2ICAgICAgIDB4MDAyMAorI2RlZmluZSBDSFJfQ09OMTcgICAgICAgMHgwMDIyCisjZGVmaW5lIENIUl9DT04xOCAgICAgICAweDAwMjQKKyNkZWZpbmUgQ0hSX0NPTjE5ICAgICAgIDB4MDAyNgorI2RlZmluZSBDSFJfQ09OMjAgICAgICAgMHgwMDI4CisjZGVmaW5lIENIUl9DT04yMSAgICAgICAweDAwMkEKKyNkZWZpbmUgQ0hSX0NPTjIyICAgICAgIDB4MDAyQworI2RlZmluZSBDSFJfQ09OMjMgICAgICAgMHgwMDJFCisjZGVmaW5lIENIUl9DT04yNCAgICAgICAweDAwMzAKKyNkZWZpbmUgQ0hSX0NPTjI1ICAgICAgIDB4MDAzMgorI2RlZmluZSBDSFJfQ09OMjYgICAgICAgMHgwMDM0CisjZGVmaW5lIENIUl9DT04yNyAgICAgICAweDAwMzYKKyNkZWZpbmUgQ0hSX0NPTjI4ICAgICAgIDB4MDAzOAorI2RlZmluZSBDSFJfQ09OMjkgICAgICAgMHgwMDNBCisjZGVmaW5lIENJRCAgICAgICAgICAgICAweDAxMDAKKyNkZWZpbmUgVE9QX0NLUEROICAgICAgIDB4MDEwMgorI2RlZmluZSBUT1BfQ0tQRE4yICAgICAgMHgwMTA4CisjZGVmaW5lIFRPUF9HUElPX0NLUEROICAweDAxMEUKKyNkZWZpbmUgVE9QX1JTVF9DT04gICAgIDB4MDExNAorI2RlZmluZSBXUlBfQ0tQRE4gICAgICAgMHgwMTFBCisjZGVmaW5lIFdSUF9SU1RfQ09OICAgICAweDAxMjAKKyNkZWZpbmUgVE9QX1JTVF9NSVNDICAgIDB4MDEyNgorI2RlZmluZSBUT1BfQ0tDT04xICAgICAgMHgwMTI4CisjZGVmaW5lIFRPUF9DS0NPTjIgICAgICAweDAxMkEKKyNkZWZpbmUgVE9QX0NLVFNUMSAgICAgIDB4MDEyQworI2RlZmluZSBUT1BfQ0tUU1QyICAgICAgMHgwMTJFCisjZGVmaW5lIE9DX0RFR19FTiAgICAgICAweDAxMzAKKyNkZWZpbmUgT0NfQ1RMMCAgICAgICAgIDB4MDEzMgorI2RlZmluZSBPQ19DVEwxICAgICAgICAgMHgwMTM0CisjZGVmaW5lIE9DX0NUTDIgICAgICAgICAweDAxMzYKKyNkZWZpbmUgSU5UX1JTViAgICAgICAgIDB4MDEzOAorI2RlZmluZSBURVNUX0NPTjAgICAgICAgMHgwMTNBCisjZGVmaW5lIFRFU1RfQ09OMSAgICAgICAweDAxM0MKKyNkZWZpbmUgU1RBVFVTMCAgICAgICAgIDB4MDEzRQorI2RlZmluZSBTVEFUVVMxICAgICAgICAgMHgwMTQwCisjZGVmaW5lIFBHU1RBVFVTICAgICAgICAweDAxNDIKKyNkZWZpbmUgQ0hSU1RBVFVTICAgICAgIDB4MDE0NAorI2RlZmluZSBPQ1NUQVRVUzAgICAgICAgMHgwMTQ2CisjZGVmaW5lIE9DU1RBVFVTMSAgICAgICAweDAxNDgKKyNkZWZpbmUgT0NTVEFUVVMyICAgICAgIDB4MDE0QQorI2RlZmluZSBTSU1MU19DT04gICAgICAgMHgwMTRDCisjZGVmaW5lIFRFU1RfT1VUX0wgICAgICAweDAxNEUKKyNkZWZpbmUgVEVTVF9PVVRfSCAgICAgIDB4MDE1MAorI2RlZmluZSBURFNFTF9DT04gICAgICAgMHgwMTUyCisjZGVmaW5lIFJEU0VMX0NPTiAgICAgICAweDAxNTQKKyNkZWZpbmUgR1BJT19TTVRfQ09OMCAgIDB4MDE1NgorI2RlZmluZSBHUElPX1NNVF9DT04xICAgMHgwMTU4CisjZGVmaW5lIEdQSU9fU01UX0NPTjIgICAweDAxNUEKKyNkZWZpbmUgR1BJT19TTVRfQ09OMyAgIDB4MDE1QworI2RlZmluZSBEUlZfQ09OMCAgICAgICAgMHgwMTVFCisjZGVmaW5lIERSVl9DT04xICAgICAgICAweDAxNjAKKyNkZWZpbmUgRFJWX0NPTjIgICAgICAgIDB4MDE2MgorI2RlZmluZSBEUlZfQ09OMyAgICAgICAgMHgwMTY0CisjZGVmaW5lIERSVl9DT040ICAgICAgICAweDAxNjYKKyNkZWZpbmUgRFJWX0NPTjUgICAgICAgIDB4MDE2OAorI2RlZmluZSBEUlZfQ09ONiAgICAgICAgMHgwMTZBCisjZGVmaW5lIERSVl9DT043ICAgICAgICAweDAxNkMKKyNkZWZpbmUgRFJWX0NPTjggICAgICAgIDB4MDE2RQorI2RlZmluZSBEUlZfQ09OOSAgICAgICAgMHgwMTcwCisjZGVmaW5lIERSVl9DT04xMCAgICAgICAweDAxNzIKKyNkZWZpbmUgRFJWX0NPTjExICAgICAgIDB4MDE3NAorI2RlZmluZSBEUlZfQ09OMTIgICAgICAgMHgwMTc2CisjZGVmaW5lIElOVF9DT04wICAgICAgICAweDAxNzgKKyNkZWZpbmUgSU5UX0NPTjEgICAgICAgIDB4MDE3RQorI2RlZmluZSBJTlRfU1RBVFVTMCAgICAgMHgwMTg0CisjZGVmaW5lIElOVF9TVEFUVVMxICAgICAweDAxODYKKyNkZWZpbmUgRlFNVFJfQ09OMCAgICAgIDB4MDE4OAorI2RlZmluZSBGUU1UUl9DT04xICAgICAgMHgwMThBCisjZGVmaW5lIEZRTVRSX0NPTjIgICAgICAweDAxOEMKKyNkZWZpbmUgRUZVU0VfQ09OMCAgICAgIDB4MDE4RQorI2RlZmluZSBFRlVTRV9DT04xICAgICAgMHgwMTkwCisjZGVmaW5lIEVGVVNFX0NPTjIgICAgICAweDAxOTIKKyNkZWZpbmUgRUZVU0VfQ09OMyAgICAgIDB4MDE5NAorI2RlZmluZSBFRlVTRV9DT040ICAgICAgMHgwMTk2CisjZGVmaW5lIEVGVVNFX0NPTjUgICAgICAweDAxOTgKKyNkZWZpbmUgRUZVU0VfQ09ONiAgICAgIDB4MDE5QQorI2RlZmluZSBFRlVTRV9WQUxfMF8xNSAgMHgwMTlDCisjZGVmaW5lIEVGVVNFX1ZBTF8xNl8zMSAweDAxOUUKKyNkZWZpbmUgRUZVU0VfVkFMXzMyXzQ3IDB4MDFBMAorI2RlZmluZSBFRlVTRV9WQUxfNDhfNjMgMHgwMUEyCisjZGVmaW5lIEVGVVNFX1ZBTF82NF83OSAweDAxQTQKKyNkZWZpbmUgRUZVU0VfVkFMXzgwXzk1IDB4MDFBNgorI2RlZmluZSBFRlVTRV9WQUxfOTZfMTExIDB4MDFBOAorI2RlZmluZSBFRlVTRV9WQUxfMTEyXzEyNyAweDAxQUEKKyNkZWZpbmUgRUZVU0VfVkFMXzEyOF8xNDMgMHgwMUFDCisjZGVmaW5lIEVGVVNFX1ZBTF8xNDRfMTU5IDB4MDFBRQorI2RlZmluZSBFRlVTRV9WQUxfMTYwXzE3NSAweDAxQjAKKyNkZWZpbmUgRUZVU0VfVkFMXzE3Nl8xOTEgMHgwMUIyCisjZGVmaW5lIEVGVVNFX0RPVVRfMF8xNSAweDAxQjQKKyNkZWZpbmUgRUZVU0VfRE9VVF8xNl8zMSAweDAxQjYKKyNkZWZpbmUgRUZVU0VfRE9VVF8zMl80NyAweDAxQjgKKyNkZWZpbmUgRUZVU0VfRE9VVF80OF82MyAweDAxQkEKKyNkZWZpbmUgRUZVU0VfRE9VVF82NF83OSAweDAxQkMKKyNkZWZpbmUgRUZVU0VfRE9VVF84MF85NSAweDAxQkUKKyNkZWZpbmUgRUZVU0VfRE9VVF85Nl8xMTEgMHgwMUMwCisjZGVmaW5lIEVGVVNFX0RPVVRfMTEyXzEyNyAweDAxQzIKKyNkZWZpbmUgRUZVU0VfRE9VVF8xMjhfMTQzIDB4MDFDNAorI2RlZmluZSBFRlVTRV9ET1VUXzE0NF8xNTkgMHgwMUM2CisjZGVmaW5lIEVGVVNFX0RPVVRfMTYwXzE3NSAweDAxQzgKKyNkZWZpbmUgRUZVU0VfRE9VVF8xNzZfMTkxIDB4MDFDQQorI2RlZmluZSBTUElfQ09OICAgICAgICAgMHgwMUNDCisjZGVmaW5lIEJVQ0tfQ09OMCAgICAgICAweDAyMDAKKyNkZWZpbmUgQlVDS19DT04xICAgICAgIDB4MDIwMgorI2RlZmluZSBCVUNLX0NPTjIgICAgICAgMHgwMjA0CisjZGVmaW5lIFZQUk9DX0NPTjAgICAgICAweDAyMDYKKyNkZWZpbmUgVlBST0NfQ09OMSAgICAgIDB4MDIwOAorI2RlZmluZSBWUFJPQ19DT04yICAgICAgMHgwMjBBCisjZGVmaW5lIFZQUk9DX0NPTjMgICAgICAweDAyMEMKKyNkZWZpbmUgVlBST0NfQ09ONCAgICAgIDB4MDIwRQorI2RlZmluZSBWUFJPQ19DT041ICAgICAgMHgwMjEwCisjZGVmaW5lIFZQUk9DX0NPTjYgICAgICAweDAyMTIKKyNkZWZpbmUgVlBST0NfQ09ONyAgICAgIDB4MDIxNAorI2RlZmluZSBWUFJPQ19DT044ICAgICAgMHgwMjE2CisjZGVmaW5lIFZQUk9DX0NPTjkgICAgICAweDAyMTgKKyNkZWZpbmUgVlBST0NfQ09OMTAgICAgIDB4MDIxQQorI2RlZmluZSBWUFJPQ19DT04xMSAgICAgMHgwMjFDCisjZGVmaW5lIFZQUk9DX0NPTjEyICAgICAweDAyMUUKKyNkZWZpbmUgVlBST0NfQ09OMTMgICAgIDB4MDIyMAorI2RlZmluZSBWUFJPQ19DT04xNCAgICAgMHgwMjIyCisjZGVmaW5lIFZQUk9DX0NPTjE1ICAgICAweDAyMjQKKyNkZWZpbmUgVlBST0NfQ09OMTYgICAgIDB4MDIyNgorI2RlZmluZSBWUFJPQ19DT04xNyAgICAgMHgwMjI4CisjZGVmaW5lIFZQUk9DX0NPTjE4ICAgICAweDAyMkEKKyNkZWZpbmUgVlNSQU1fQ09OMCAgICAgIDB4MDIyQworI2RlZmluZSBWU1JBTV9DT04xICAgICAgMHgwMjJFCisjZGVmaW5lIFZTUkFNX0NPTjIgICAgICAweDAyMzAKKyNkZWZpbmUgVlNSQU1fQ09OMyAgICAgIDB4MDIzMgorI2RlZmluZSBWU1JBTV9DT040ICAgICAgMHgwMjM0CisjZGVmaW5lIFZTUkFNX0NPTjUgICAgICAweDAyMzYKKyNkZWZpbmUgVlNSQU1fQ09ONiAgICAgIDB4MDIzOAorI2RlZmluZSBWU1JBTV9DT043ICAgICAgMHgwMjNBCisjZGVmaW5lIFZTUkFNX0NPTjggICAgICAweDAyM0MKKyNkZWZpbmUgVlNSQU1fQ09OOSAgICAgIDB4MDIzRQorI2RlZmluZSBWU1JBTV9DT04xMCAgICAgMHgwMjQwCisjZGVmaW5lIFZTUkFNX0NPTjExICAgICAweDAyNDIKKyNkZWZpbmUgVlNSQU1fQ09OMTIgICAgIDB4MDI0NAorI2RlZmluZSBWU1JBTV9DT04xMyAgICAgMHgwMjQ2CisjZGVmaW5lIFZTUkFNX0NPTjE0ICAgICAweDAyNDgKKyNkZWZpbmUgVlNSQU1fQ09OMTUgICAgIDB4MDI0QQorI2RlZmluZSBWU1JBTV9DT04xNiAgICAgMHgwMjRDCisjZGVmaW5lIFZTUkFNX0NPTjE3ICAgICAweDAyNEUKKyNkZWZpbmUgVlNSQU1fQ09OMTggICAgIDB4MDI1MAorI2RlZmluZSBWU1JBTV9DT04xOSAgICAgMHgwMjUyCisjZGVmaW5lIFZTUkFNX0NPTjIwICAgICAweDAyNTQKKyNkZWZpbmUgVlNSQU1fQ09OMjEgICAgIDB4MDI1NgorI2RlZmluZSBWQ09SRV9DT04wICAgICAgMHgwMjU4CisjZGVmaW5lIFZDT1JFX0NPTjEgICAgICAweDAyNUEKKyNkZWZpbmUgVkNPUkVfQ09OMiAgICAgIDB4MDI1QworI2RlZmluZSBWQ09SRV9DT04zICAgICAgMHgwMjVFCisjZGVmaW5lIFZDT1JFX0NPTjQgICAgICAweDAyNjAKKyNkZWZpbmUgVkNPUkVfQ09ONSAgICAgIDB4MDI2MgorI2RlZmluZSBWQ09SRV9DT042ICAgICAgMHgwMjY0CisjZGVmaW5lIFZDT1JFX0NPTjcgICAgICAweDAyNjYKKyNkZWZpbmUgVkNPUkVfQ09OOCAgICAgIDB4MDI2OAorI2RlZmluZSBWQ09SRV9DT045ICAgICAgMHgwMjZBCisjZGVmaW5lIFZDT1JFX0NPTjEwICAgICAweDAyNkMKKyNkZWZpbmUgVkNPUkVfQ09OMTEgICAgIDB4MDI2RQorI2RlZmluZSBWQ09SRV9DT04xMiAgICAgMHgwMjcwCisjZGVmaW5lIFZDT1JFX0NPTjEzICAgICAweDAyNzIKKyNkZWZpbmUgVkNPUkVfQ09OMTQgICAgIDB4MDI3NAorI2RlZmluZSBWQ09SRV9DT04xNSAgICAgMHgwMjc2CisjZGVmaW5lIFZDT1JFX0NPTjE2ICAgICAweDAyNzgKKyNkZWZpbmUgVkNPUkVfQ09OMTcgICAgIDB4MDI3QQorI2RlZmluZSBWQ09SRV9DT04xOCAgICAgMHgwMjdDCisjZGVmaW5lIFZNX0NPTjAgICAgICAgICAweDAyN0UKKyNkZWZpbmUgVk1fQ09OMSAgICAgICAgIDB4MDI4MAorI2RlZmluZSBWTV9DT04yICAgICAgICAgMHgwMjgyCisjZGVmaW5lIFZNX0NPTjMgICAgICAgICAweDAyODQKKyNkZWZpbmUgVk1fQ09ONCAgICAgICAgIDB4MDI4NgorI2RlZmluZSBWTV9DT041ICAgICAgICAgMHgwMjg4CisjZGVmaW5lIFZNX0NPTjYgICAgICAgICAweDAyOEEKKyNkZWZpbmUgVk1fQ09ONyAgICAgICAgIDB4MDI4QworI2RlZmluZSBWTV9DT044ICAgICAgICAgMHgwMjhFCisjZGVmaW5lIFZNX0NPTjkgICAgICAgICAweDAyOTAKKyNkZWZpbmUgVk1fQ09OMTAgICAgICAgIDB4MDI5MgorI2RlZmluZSBWTV9DT04xMSAgICAgICAgMHgwMjk0CisjZGVmaW5lIFZNX0NPTjEyICAgICAgICAweDAyOTYKKyNkZWZpbmUgVk1fQ09OMTMgICAgICAgIDB4MDI5OAorI2RlZmluZSBWTV9DT04xNCAgICAgICAgMHgwMjlBCisjZGVmaW5lIFZNX0NPTjE1ICAgICAgICAweDAyOUMKKyNkZWZpbmUgVk1fQ09OMTYgICAgICAgIDB4MDI5RQorI2RlZmluZSBWTV9DT04xNyAgICAgICAgMHgwMkEwCisjZGVmaW5lIFZNX0NPTjE4ICAgICAgICAweDAyQTIKKyNkZWZpbmUgVklPMThfQ09OMCAgICAgIDB4MDMwMAorI2RlZmluZSBWSU8xOF9DT04xICAgICAgMHgwMzAyCisjZGVmaW5lIFZJTzE4X0NPTjIgICAgICAweDAzMDQKKyNkZWZpbmUgVklPMThfQ09OMyAgICAgIDB4MDMwNgorI2RlZmluZSBWSU8xOF9DT040ICAgICAgMHgwMzA4CisjZGVmaW5lIFZJTzE4X0NPTjUgICAgICAweDAzMEEKKyNkZWZpbmUgVklPMThfQ09ONiAgICAgIDB4MDMwQworI2RlZmluZSBWSU8xOF9DT043ICAgICAgMHgwMzBFCisjZGVmaW5lIFZJTzE4X0NPTjggICAgICAweDAzMTAKKyNkZWZpbmUgVklPMThfQ09OOSAgICAgIDB4MDMxMgorI2RlZmluZSBWSU8xOF9DT04xMCAgICAgMHgwMzE0CisjZGVmaW5lIFZJTzE4X0NPTjExICAgICAweDAzMTYKKyNkZWZpbmUgVklPMThfQ09OMTIgICAgIDB4MDMxOAorI2RlZmluZSBWSU8xOF9DT04xMyAgICAgMHgwMzFBCisjZGVmaW5lIFZJTzE4X0NPTjE0ICAgICAweDAzMUMKKyNkZWZpbmUgVklPMThfQ09OMTUgICAgIDB4MDMxRQorI2RlZmluZSBWSU8xOF9DT04xNiAgICAgMHgwMzIwCisjZGVmaW5lIFZJTzE4X0NPTjE3ICAgICAweDAzMjIKKyNkZWZpbmUgVklPMThfQ09OMTggICAgIDB4MDMyNAorI2RlZmluZSBWUEFfQ09OMCAgICAgICAgMHgwMzI2CisjZGVmaW5lIFZQQV9DT04xICAgICAgICAweDAzMjgKKyNkZWZpbmUgVlBBX0NPTjIgICAgICAgIDB4MDMyQQorI2RlZmluZSBWUEFfQ09OMyAgICAgICAgMHgwMzJDCisjZGVmaW5lIFZQQV9DT040ICAgICAgICAweDAzMkUKKyNkZWZpbmUgVlBBX0NPTjUgICAgICAgIDB4MDMzMAorI2RlZmluZSBWUEFfQ09ONiAgICAgICAgMHgwMzMyCisjZGVmaW5lIFZQQV9DT043ICAgICAgICAweDAzMzQKKyNkZWZpbmUgVlBBX0NPTjggICAgICAgIDB4MDMzNgorI2RlZmluZSBWUEFfQ09OOSAgICAgICAgMHgwMzM4CisjZGVmaW5lIFZQQV9DT04xMCAgICAgICAweDAzM0EKKyNkZWZpbmUgVlBBX0NPTjExICAgICAgIDB4MDMzQworI2RlZmluZSBWUEFfQ09OMTIgICAgICAgMHgwMzNFCisjZGVmaW5lIFZQQV9DT04xMyAgICAgICAweDAzNDAKKyNkZWZpbmUgVlBBX0NPTjE0ICAgICAgIDB4MDM0MgorI2RlZmluZSBWUEFfQ09OMTUgICAgICAgMHgwMzQ0CisjZGVmaW5lIFZQQV9DT04xNiAgICAgICAweDAzNDYKKyNkZWZpbmUgVlBBX0NPTjE3ICAgICAgIDB4MDM0OAorI2RlZmluZSBWUEFfQ09OMTggICAgICAgMHgwMzRBCisjZGVmaW5lIFZQQV9DT04xOSAgICAgICAweDAzNEMKKyNkZWZpbmUgVlBBX0NPTjIwICAgICAgIDB4MDM0RQorI2RlZmluZSBWUkYxOF9DT04wICAgICAgMHgwMzUwCisjZGVmaW5lIFZSRjE4X0NPTjEgICAgICAweDAzNTIKKyNkZWZpbmUgVlJGMThfQ09OMiAgICAgIDB4MDM1NAorI2RlZmluZSBWUkYxOF9DT04zICAgICAgMHgwMzU2CisjZGVmaW5lIFZSRjE4X0NPTjQgICAgICAweDAzNTgKKyNkZWZpbmUgVlJGMThfQ09ONSAgICAgIDB4MDM1QQorI2RlZmluZSBWUkYxOF9DT042ICAgICAgMHgwMzVDCisjZGVmaW5lIFZSRjE4X0NPTjcgICAgICAweDAzNUUKKyNkZWZpbmUgVlJGMThfQ09OOCAgICAgIDB4MDM2MAorI2RlZmluZSBWUkYxOF9DT045ICAgICAgMHgwMzYyCisjZGVmaW5lIFZSRjE4X0NPTjEwICAgICAweDAzNjQKKyNkZWZpbmUgVlJGMThfQ09OMTEgICAgIDB4MDM2NgorI2RlZmluZSBWUkYxOF9DT04xMiAgICAgMHgwMzY4CisjZGVmaW5lIFZSRjE4X0NPTjEzICAgICAweDAzNkEKKyNkZWZpbmUgVlJGMThfQ09OMTQgICAgIDB4MDM2QworI2RlZmluZSBWUkYxOF9DT04xNSAgICAgMHgwMzZFCisjZGVmaW5lIFZSRjE4X0NPTjE2ICAgICAweDAzNzAKKyNkZWZpbmUgVlJGMThfQ09OMTcgICAgIDB4MDM3MgorI2RlZmluZSBWUkYxOF9DT04xOCAgICAgMHgwMzc0CisjZGVmaW5lIFZSRjE4X0NPTjE5ICAgICAweDAzNzYKKyNkZWZpbmUgVlJGMThfQ09OMjAgICAgIDB4MDM3OAorI2RlZmluZSBWUkYxOF8yX0NPTjAgICAgMHgwMzdBCisjZGVmaW5lIFZSRjE4XzJfQ09OMSAgICAweDAzN0MKKyNkZWZpbmUgVlJGMThfMl9DT04yICAgIDB4MDM3RQorI2RlZmluZSBWUkYxOF8yX0NPTjMgICAgMHgwMzgwCisjZGVmaW5lIFZSRjE4XzJfQ09ONCAgICAweDAzODIKKyNkZWZpbmUgVlJGMThfMl9DT041ICAgIDB4MDM4NAorI2RlZmluZSBWUkYxOF8yX0NPTjYgICAgMHgwMzg2CisjZGVmaW5lIFZSRjE4XzJfQ09ONyAgICAweDAzODgKKyNkZWZpbmUgVlJGMThfMl9DT044ICAgIDB4MDM4QQorI2RlZmluZSBWUkYxOF8yX0NPTjkgICAgMHgwMzhDCisjZGVmaW5lIFZSRjE4XzJfQ09OMTAgICAweDAzOEUKKyNkZWZpbmUgVlJGMThfMl9DT04xMSAgIDB4MDM5MAorI2RlZmluZSBWUkYxOF8yX0NPTjEyICAgMHgwMzkyCisjZGVmaW5lIFZSRjE4XzJfQ09OMTMgICAweDAzOTQKKyNkZWZpbmUgVlJGMThfMl9DT04xNCAgIDB4MDM5NgorI2RlZmluZSBWUkYxOF8yX0NPTjE1ICAgMHgwMzk4CisjZGVmaW5lIFZSRjE4XzJfQ09OMTYgICAweDAzOUEKKyNkZWZpbmUgVlJGMThfMl9DT04xNyAgIDB4MDM5QworI2RlZmluZSBWUkYxOF8yX0NPTjE4ICAgMHgwMzlFCisjZGVmaW5lIEJVQ0tfS19DT04wICAgICAweDAzQTAKKyNkZWZpbmUgQlVDS19LX0NPTjEgICAgIDB4MDNBMgorI2RlZmluZSBBTkFMRE9fQ09OMCAgICAgMHgwNDAwCisjZGVmaW5lIEFOQUxET19DT04xICAgICAweDA0MDIKKyNkZWZpbmUgQU5BTERPX0NPTjIgICAgIDB4MDQwNAorI2RlZmluZSBBTkFMRE9fQ09OMyAgICAgMHgwNDA2CisjZGVmaW5lIEFOQUxET19DT040ICAgICAweDA0MDgKKyNkZWZpbmUgQU5BTERPX0NPTjUgICAgIDB4MDQwQQorI2RlZmluZSBBTkFMRE9fQ09ONiAgICAgMHgwNDBDCisjZGVmaW5lIEFOQUxET19DT043ICAgICAweDA0MEUKKyNkZWZpbmUgQU5BTERPX0NPTjggICAgIDB4MDQxMAorI2RlZmluZSBBTkFMRE9fQ09OOSAgICAgMHgwNDEyCisjZGVmaW5lIEFOQUxET19DT04xMCAgICAweDA0MTQKKyNkZWZpbmUgQU5BTERPX0NPTjExICAgIDB4MDQxNgorI2RlZmluZSBBTkFMRE9fQ09OMTIgICAgMHgwNDE4CisjZGVmaW5lIEFOQUxET19DT04xMyAgICAweDA0MUEKKyNkZWZpbmUgQU5BTERPX0NPTjE0ICAgIDB4MDQxQworI2RlZmluZSBBTkFMRE9fQ09OMTUgICAgMHgwNDFFCisjZGVmaW5lIERJR0xET19DT04wICAgICAweDA0MjAKKyNkZWZpbmUgRElHTERPX0NPTjIgICAgIDB4MDQyMgorI2RlZmluZSBESUdMRE9fQ09OMyAgICAgMHgwNDI0CisjZGVmaW5lIERJR0xET19DT041ICAgICAweDA0MjYKKyNkZWZpbmUgRElHTERPX0NPTjYgICAgIDB4MDQyOAorI2RlZmluZSBESUdMRE9fQ09ONyAgICAgMHgwNDJBCisjZGVmaW5lIERJR0xET19DT044ICAgICAweDA0MkMKKyNkZWZpbmUgRElHTERPX0NPTjkgICAgIDB4MDQyRQorI2RlZmluZSBESUdMRE9fQ09OMTAgICAgMHgwNDMwCisjZGVmaW5lIERJR0xET19DT04xMSAgICAweDA0MzIKKyNkZWZpbmUgRElHTERPX0NPTjEyICAgIDB4MDQzNAorI2RlZmluZSBESUdMRE9fQ09OMTMgICAgMHgwNDM2CisjZGVmaW5lIERJR0xET19DT04xNCAgICAweDA0MzgKKyNkZWZpbmUgRElHTERPX0NPTjE1ICAgIDB4MDQzQQorI2RlZmluZSBESUdMRE9fQ09OMTYgICAgMHgwNDNDCisjZGVmaW5lIERJR0xET19DT04xNyAgICAweDA0M0UKKyNkZWZpbmUgRElHTERPX0NPTjE4ICAgIDB4MDQ0MAorI2RlZmluZSBESUdMRE9fQ09OMTkgICAgMHgwNDQyCisjZGVmaW5lIERJR0xET19DT04yMCAgICAweDA0NDQKKyNkZWZpbmUgRElHTERPX0NPTjIxICAgIDB4MDQ0NgorI2RlZmluZSBESUdMRE9fQ09OMjMgICAgMHgwNDQ4CisjZGVmaW5lIERJR0xET19DT04yNCAgICAweDA0NEEKKyNkZWZpbmUgRElHTERPX0NPTjI2ICAgIDB4MDQ0QworI2RlZmluZSBESUdMRE9fQ09OMjcgICAgMHgwNDRFCisjZGVmaW5lIERJR0xET19DT04yOCAgICAweDA0NTAKKyNkZWZpbmUgRElHTERPX0NPTjI5ICAgIDB4MDQ1MgorI2RlZmluZSBESUdMRE9fQ09OMzAgICAgMHgwNDU0CisjZGVmaW5lIERJR0xET19DT04zMSAgICAweDA0NTYKKyNkZWZpbmUgRElHTERPX0NPTjMyICAgIDB4MDQ1OAorI2RlZmluZSBESUdMRE9fQ09OMzMgICAgMHgwNDVBCisjZGVmaW5lIERJR0xET19DT04zNCAgICAweDA0NUMKKyNkZWZpbmUgRElHTERPX0NPTjM1ICAgIDB4MDQ1RQorI2RlZmluZSBESUdMRE9fQ09OMzYgICAgMHgwNDYwCisjZGVmaW5lIERJR0xET19DT04zNyAgICAweDA0NjIKKyNkZWZpbmUgRElHTERPX0NPTjM4ICAgIDB4MDQ2NAorI2RlZmluZSBESUdMRE9fQ09OMzkgICAgMHgwNDY2CisjZGVmaW5lIERJR0xET19DT040MCAgICAweDA0NjgKKyNkZWZpbmUgRElHTERPX0NPTjQxICAgIDB4MDQ2QQorI2RlZmluZSBESUdMRE9fQ09ONDIgICAgMHgwNDZDCisjZGVmaW5lIERJR0xET19DT040MyAgICAweDA0NkUKKyNkZWZpbmUgRElHTERPX0NPTjQ0ICAgIDB4MDQ3MAorI2RlZmluZSBTVFJVUF9DT04wICAgICAgMHgwNTAwCisjZGVmaW5lIFNUUlVQX0NPTjIgICAgICAweDA1MDIKKyNkZWZpbmUgU1RSVVBfQ09OMyAgICAgIDB4MDUwNAorI2RlZmluZSBTVFJVUF9DT040ICAgICAgMHgwNTA2CisjZGVmaW5lIFNUUlVQX0NPTjUgICAgICAweDA1MDgKKyNkZWZpbmUgU1RSVVBfQ09ONiAgICAgIDB4MDUwQQorI2RlZmluZSBTVFJVUF9DT043ICAgICAgMHgwNTBDCisjZGVmaW5lIFNUUlVQX0NPTjggICAgICAweDA1MEUKKyNkZWZpbmUgU1RSVVBfQ09OOSAgICAgIDB4MDUxMAorI2RlZmluZSBBVVhBRENfQURDMCAgICAgMHgwNTEyCisjZGVmaW5lIEFVWEFEQ19BREMxICAgICAweDA1MTQKKyNkZWZpbmUgQVVYQURDX0FEQzIgICAgIDB4MDUxNgorI2RlZmluZSBBVVhBRENfQURDMyAgICAgMHgwNTE4CisjZGVmaW5lIEFVWEFEQ19BREM0ICAgICAweDA1MUEKKyNkZWZpbmUgQVVYQURDX0FEQzUgICAgIDB4MDUxQworI2RlZmluZSBBVVhBRENfQURDNiAgICAgMHgwNTFFCisjZGVmaW5lIEFVWEFEQ19BREM3ICAgICAweDA1MjAKKyNkZWZpbmUgQVVYQURDX0FEQzggICAgIDB4MDUyMgorI2RlZmluZSBBVVhBRENfQURDOSAgICAgMHgwNTI0CisjZGVmaW5lIEFVWEFEQ19BREMxMCAgICAweDA1MjYKKyNkZWZpbmUgQVVYQURDX0FEQzExICAgIDB4MDUyOAorI2RlZmluZSBBVVhBRENfQURDMTIgICAgMHgwNTJBCisjZGVmaW5lIEFVWEFEQ19BREMxMyAgICAweDA1MkMKKyNkZWZpbmUgQVVYQURDX0FEQzE0ICAgIDB4MDUyRQorI2RlZmluZSBBVVhBRENfQURDMTUgICAgMHgwNTMwCisjZGVmaW5lIEFVWEFEQ19BREMxNiAgICAweDA1MzIKKyNkZWZpbmUgQVVYQURDX0FEQzE3ICAgIDB4MDUzNAorI2RlZmluZSBBVVhBRENfQURDMTggICAgMHgwNTM2CisjZGVmaW5lIEFVWEFEQ19BREMxOSAgICAweDA1MzgKKyNkZWZpbmUgQVVYQURDX0FEQzIwICAgIDB4MDUzQQorI2RlZmluZSBBVVhBRENfQURDMjEgICAgMHgwNTNDCisjZGVmaW5lIEFVWEFEQ19BREMyMiAgICAweDA1M0UKKyNkZWZpbmUgQVVYQURDX0NPTjAgICAgIDB4MDU0MAorI2RlZmluZSBBVVhBRENfQ09OMSAgICAgMHgwNTQyCisjZGVmaW5lIEFVWEFEQ19DT04yICAgICAweDA1NDQKKyNkZWZpbmUgQVVYQURDX0NPTjMgICAgIDB4MDU0NgorI2RlZmluZSBBVVhBRENfQ09ONCAgICAgMHgwNTQ4CisjZGVmaW5lIEFVWEFEQ19DT041ICAgICAweDA1NEEKKyNkZWZpbmUgQVVYQURDX0NPTjYgICAgIDB4MDU0QworI2RlZmluZSBBVVhBRENfQ09ONyAgICAgMHgwNTRFCisjZGVmaW5lIEFVWEFEQ19DT044ICAgICAweDA1NTAKKyNkZWZpbmUgQVVYQURDX0NPTjkgICAgIDB4MDU1MgorI2RlZmluZSBBVVhBRENfQ09OMTAgICAgMHgwNTU0CisjZGVmaW5lIEFVWEFEQ19DT04xMSAgICAweDA1NTYKKyNkZWZpbmUgQVVYQURDX0NPTjEyICAgIDB4MDU1OAorI2RlZmluZSBBVVhBRENfQ09OMTMgICAgMHgwNTVBCisjZGVmaW5lIEFVWEFEQ19DT04xNCAgICAweDA1NUMKKyNkZWZpbmUgRkxBU0hfQ09OMCAgICAgIDB4MDU1RQorI2RlZmluZSBGTEFTSF9DT04xICAgICAgMHgwNTYwCisjZGVmaW5lIEZMQVNIX0NPTjIgICAgICAweDA1NjIKKyNkZWZpbmUgS1BMRURfQ09OMCAgICAgIDB4MDU2NAorI2RlZmluZSBLUExFRF9DT04xICAgICAgMHgwNTY2CisjZGVmaW5lIEtQTEVEX0NPTjIgICAgICAweDA1NjgKKyNkZWZpbmUgSVNJTktTX0NPTjAgICAgIDB4MDU2QQorI2RlZmluZSBJU0lOS1NfQ09OMSAgICAgMHgwNTZDCisjZGVmaW5lIElTSU5LU19DT04yICAgICAweDA1NkUKKyNkZWZpbmUgSVNJTktTX0NPTjMgICAgIDB4MDU3MAorI2RlZmluZSBJU0lOS1NfQ09ONCAgICAgMHgwNTcyCisjZGVmaW5lIElTSU5LU19DT041ICAgICAweDA1NzQKKyNkZWZpbmUgSVNJTktTX0NPTjYgICAgIDB4MDU3NgorI2RlZmluZSBJU0lOS1NfQ09ONyAgICAgMHgwNTc4CisjZGVmaW5lIElTSU5LU19DT044ICAgICAweDA1N0EKKyNkZWZpbmUgSVNJTktTX0NPTjkgICAgIDB4MDU3QworI2RlZmluZSBJU0lOS1NfQ09OMTAgICAgMHgwNTdFCisjZGVmaW5lIElTSU5LU19DT04xMSAgICAweDA1ODAKKyNkZWZpbmUgQUNDREVUX0NPTjAgICAgIDB4MDU4MgorI2RlZmluZSBBQ0NERVRfQ09OMSAgICAgMHgwNTg0CisjZGVmaW5lIEFDQ0RFVF9DT04yICAgICAweDA1ODYKKyNkZWZpbmUgQUNDREVUX0NPTjMgICAgIDB4MDU4OAorI2RlZmluZSBBQ0NERVRfQ09ONCAgICAgMHgwNThBCisjZGVmaW5lIEFDQ0RFVF9DT041ICAgICAweDA1OEMKKyNkZWZpbmUgQUNDREVUX0NPTjYgICAgIDB4MDU4RQorI2RlZmluZSBBQ0NERVRfQ09ONyAgICAgMHgwNTkwCisjZGVmaW5lIEFDQ0RFVF9DT044ICAgICAweDA1OTIKKyNkZWZpbmUgQUNDREVUX0NPTjkgICAgIDB4MDU5NAorI2RlZmluZSBBQ0NERVRfQ09OMTAgICAgMHgwNTk2CisjZGVmaW5lIEFDQ0RFVF9DT04xMSAgICAweDA1OTgKKyNkZWZpbmUgQUNDREVUX0NPTjEyICAgIDB4MDU5QQorI2RlZmluZSBBQ0NERVRfQ09OMTMgICAgMHgwNTlDCisjZGVmaW5lIEFDQ0RFVF9DT04xNCAgICAweDA1OUUKKyNkZWZpbmUgQUNDREVUX0NPTjE1ICAgIDB4MDVBMAorI2RlZmluZSBBQ0NERVRfQ09OMTYgICAgMHgwNUEyCisjZGVmaW5lIFNQS19DT04wICAgICAgICAweDA2MDAKKyNkZWZpbmUgU1BLX0NPTjEgICAgICAgIDB4MDYwMgorI2RlZmluZSBTUEtfQ09OMiAgICAgICAgMHgwNjA0CisjZGVmaW5lIFNQS19DT04zICAgICAgICAweDA2MDYKKyNkZWZpbmUgU1BLX0NPTjQgICAgICAgIDB4MDYwOAorI2RlZmluZSBTUEtfQ09ONSAgICAgICAgMHgwNjBBCisjZGVmaW5lIFNQS19DT042ICAgICAgICAweDA2MEMKKyNkZWZpbmUgU1BLX0NPTjcgICAgICAgIDB4MDYwRQorI2RlZmluZSBTUEtfQ09OOCAgICAgICAgMHgwNjEwCisjZGVmaW5lIFNQS19DT045ICAgICAgICAweDA2MTIKKyNkZWZpbmUgU1BLX0NPTjEwICAgICAgIDB4MDYxNAorI2RlZmluZSBTUEtfQ09OMTEgICAgICAgMHgwNjE2CisjZGVmaW5lIEZHQURDX0NPTjAgICAgICAweDA2MTgKKyNkZWZpbmUgRkdBRENfQ09OMSAgICAgIDB4MDYxQQorI2RlZmluZSBGR0FEQ19DT04yICAgICAgMHgwNjFDCisjZGVmaW5lIEZHQURDX0NPTjMgICAgICAweDA2MUUKKyNkZWZpbmUgRkdBRENfQ09ONCAgICAgIDB4MDYyMAorI2RlZmluZSBGR0FEQ19DT041ICAgICAgMHgwNjIyCisjZGVmaW5lIEZHQURDX0NPTjYgICAgICAweDA2MjQKKyNkZWZpbmUgRkdBRENfQ09ONyAgICAgIDB4MDYyNgorI2RlZmluZSBGR0FEQ19DT044ICAgICAgMHgwNjI4CisjZGVmaW5lIEZHQURDX0NPTjkgICAgICAweDA2MkEKKyNkZWZpbmUgRkdBRENfQ09OMTAgICAgIDB4MDYyQworI2RlZmluZSBGR0FEQ19DT04xMSAgICAgMHgwNjJFCisjZGVmaW5lIEZHQURDX0NPTjEyICAgICAweDA2MzAKKyNkZWZpbmUgRkdBRENfQ09OMTMgICAgIDB4MDYzMgorI2RlZmluZSBGR0FEQ19DT04xNCAgICAgMHgwNjM0CisjZGVmaW5lIEZHQURDX0NPTjE1ICAgICAweDA2MzYKKyNkZWZpbmUgRkdBRENfQ09OMTYgICAgIDB4MDYzOAorI2RlZmluZSBGR0FEQ19DT04xNyAgICAgMHgwNjNBCisjZGVmaW5lIEZHQURDX0NPTjE4ICAgICAweDA2M0MKKyNkZWZpbmUgRkdBRENfQ09OMTkgICAgIDB4MDYzRQorI2RlZmluZSBSVENfTUlYX0NPTjAgICAgMHgwNjQwCisjZGVmaW5lIFJUQ19NSVhfQ09OMSAgICAweDA2NDIKKyNkZWZpbmUgQVVEREFDX0NPTjAgICAgIDB4MDcwMAorI2RlZmluZSBBVURCVUZfQ0ZHMCAgICAgMHgwNzAyCisjZGVmaW5lIEFVREJVRl9DRkcxICAgICAweDA3MDQKKyNkZWZpbmUgQVVEQlVGX0NGRzIgICAgIDB4MDcwNgorI2RlZmluZSBBVURCVUZfQ0ZHMyAgICAgMHgwNzA4CisjZGVmaW5lIEFVREJVRl9DRkc0ICAgICAweDA3MEEKKyNkZWZpbmUgSUJJQVNESVNUX0NGRzAgIDB4MDcwQworI2RlZmluZSBBVURBQ0NERVBPUF9DRkcwIDB4MDcwRQorI2RlZmluZSBBVURfSVZfQ0ZHMCAgICAgMHgwNzEwCisjZGVmaW5lIEFVRENMS0dFTl9DRkcwICAweDA3MTIKKyNkZWZpbmUgQVVETERPX0NGRzAgICAgIDB4MDcxNAorI2RlZmluZSBBVURMRE9fQ0ZHMSAgICAgMHgwNzE2CisjZGVmaW5lIEFVRE5WUkVHR0xCX0NGRzAgMHgwNzE4CisjZGVmaW5lIEFVRF9OQ1AwICAgICAgICAweDA3MUEKKyNkZWZpbmUgQVVEUFJFQU1QX0NPTjAgIDB4MDcxQworI2RlZmluZSBBVURBRENfQ09OMCAgICAgMHgwNzFFCisjZGVmaW5lIEFVREFEQ19DT04xICAgICAweDA3MjAKKyNkZWZpbmUgQVVEQURDX0NPTjIgICAgIDB4MDcyMgorI2RlZmluZSBBVURBRENfQ09OMyAgICAgMHgwNzI0CisjZGVmaW5lIEFVREFEQ19DT040ICAgICAweDA3MjYKKyNkZWZpbmUgQVVEQURDX0NPTjUgICAgIDB4MDcyOAorI2RlZmluZSBBVURBRENfQ09ONiAgICAgMHgwNzJBCisjZGVmaW5lIEFVRERJR01JX0NPTjAgICAweDA3MkMKKyNkZWZpbmUgQVVETFNCVUZfQ09OMCAgIDB4MDcyRQorI2RlZmluZSBBVURMU0JVRl9DT04xICAgMHgwNzMwCisjZGVmaW5lIEFVREVOQ1NQQVJFX0NPTjAgMHgwNzMyCisjZGVmaW5lIEFVREVOQ0NMS1NRX0NPTjAgMHgwNzM0CisjZGVmaW5lIEFVRFBSRUFNUEdBSU5fQ09OMCAweDA3MzYKKyNkZWZpbmUgWkNEX0NPTjAgICAgICAgIDB4MDczOAorI2RlZmluZSBaQ0RfQ09OMSAgICAgICAgMHgwNzNBCisjZGVmaW5lIFpDRF9DT04yICAgICAgICAweDA3M0MKKyNkZWZpbmUgWkNEX0NPTjMgICAgICAgIDB4MDczRQorI2RlZmluZSBaQ0RfQ09ONCAgICAgICAgMHgwNzQwCisjZGVmaW5lIFpDRF9DT041ICAgICAgICAweDA3NDIKKyNkZWZpbmUgTkNQX0NMS0RJVl9DT04wIDB4MDc0NAorI2RlZmluZSBOQ1BfQ0xLRElWX0NPTjEgMHgwNzQ2CisKKy8vbWFzayBpcyBIRVgKKy8vc2hpZnQgaXMgSW50ZWdlcgorI2RlZmluZSBTVEFUVVNfVlNJTTFfRU5fTUFTSyAweDEKKyNkZWZpbmUgU1RBVFVTX1ZTSU0xX0VOX1NISUZUIDEyCisjZGVmaW5lIFNUQVRVU19WU0lNMl9FTl9NQVNLIDB4MQorI2RlZmluZSBTVEFUVVNfVlNJTTJfRU5fU0hJRlQgMTEKKyNkZWZpbmUgT0NfU1RBVFVTX1ZTSU0xX01BU0sgMHgxCisjZGVmaW5lIE9DX1NUQVRVU19WU0lNMV9TSElGVCAxMgorI2RlZmluZSBPQ19TVEFUVVNfVlNJTTJfTUFTSyAweDEKKyNkZWZpbmUgT0NfU1RBVFVTX1ZTSU0yX1NISUZUIDExCisjZGVmaW5lIFJHX1NJTUxTMl9TUlNUX0NPTkZfTUFTSyAweEYKKyNkZWZpbmUgUkdfU0lNTFMyX1NSU1RfQ09ORl9TSElGVCAxMgorI2RlZmluZSBSR19TSU1MUzJfU0NMS19DT05GX01BU0sgMHhGCisjZGVmaW5lIFJHX1NJTUxTMl9TQ0xLX0NPTkZfU0hJRlQgOAorI2RlZmluZSBSR19TSU1MUzFfU1JTVF9DT05GX01BU0sgMHhGCisjZGVmaW5lIFJHX1NJTUxTMV9TUlNUX0NPTkZfU0hJRlQgNAorI2RlZmluZSBSR19TSU1MUzFfU0NMS19DT05GX01BU0sgMHhGCisjZGVmaW5lIFJHX1NJTUxTMV9TQ0xLX0NPTkZfU0hJRlQgMAorI2RlZmluZSBSR19TSU1MU19URFNFTF9NQVNLIDB4MworI2RlZmluZSBSR19TSU1MU19URFNFTF9TSElGVCA3CisjZGVmaW5lIFJHX1NJTUFQX1REU0VMX01BU0sgMHgxCisjZGVmaW5lIFJHX1NJTUFQX1REU0VMX1NISUZUIDAKKyNkZWZpbmUgUkdfU0lNTFNfUkRTRUxfTUFTSyAweDMKKyNkZWZpbmUgUkdfU0lNTFNfUkRTRUxfU0hJRlQgNworI2RlZmluZSBSR19TSU1BUF9SRFNFTF9NQVNLIDB4MQorI2RlZmluZSBSR19TSU1BUF9SRFNFTF9TSElGVCAwCisjZGVmaW5lIFJHX09DVExfU0lNMV9BUF9TUlNUX01BU0sgMHhGCisjZGVmaW5lIFJHX09DVExfU0lNMV9BUF9TUlNUX1NISUZUIDEyCisjZGVmaW5lIFJHX09DVExfU0lNMV9BUF9TQ0xLX01BU0sgMHhGCisjZGVmaW5lIFJHX09DVExfU0lNMV9BUF9TQ0xLX1NISUZUIDgKKyNkZWZpbmUgUkdfT0NUTF9TSU1MUzFfU1JTVF9NQVNLIDB4RgorI2RlZmluZSBSR19PQ1RMX1NJTUxTMV9TUlNUX1NISUZUIDEyCisjZGVmaW5lIFJHX09DVExfU0lNTFMxX1NDTEtfTUFTSyAweEYKKyNkZWZpbmUgUkdfT0NUTF9TSU1MUzFfU0NMS19TSElGVCA4CisjZGVmaW5lIFJHX09DVExfU0lNMl9BUF9TUlNUX01BU0sgMHhGCisjZGVmaW5lIFJHX09DVExfU0lNMl9BUF9TUlNUX1NISUZUIDQKKyNkZWZpbmUgUkdfT0NUTF9TSU0yX0FQX1NDTEtfTUFTSyAweEYKKyNkZWZpbmUgUkdfT0NUTF9TSU0yX0FQX1NDTEtfU0hJRlQgMAorI2RlZmluZSBSR19PQ1RMX1NJTUxTMl9TUlNUX01BU0sgMHhGCisjZGVmaW5lIFJHX09DVExfU0lNTFMyX1NSU1RfU0hJRlQgNAorI2RlZmluZSBSR19PQ1RMX1NJTUxTMl9TQ0xLX01BU0sgMHhGCisjZGVmaW5lIFJHX09DVExfU0lNTFMyX1NDTEtfU0hJRlQgMAorI2RlZmluZSBSR19WSU8xOF9NT0RFU0VUX01BU0sgMHgxCisjZGVmaW5lIFJHX1ZJTzE4X01PREVTRVRfU0hJRlQgOAorI2RlZmluZSBSR19WUEFfTU9ERVNFVF9NQVNLIDB4MQorI2RlZmluZSBSR19WUEFfTU9ERVNFVF9TSElGVCA4CisjZGVmaW5lIFZQQV9FTl9NQVNLIDB4MQorI2RlZmluZSBWUEFfRU5fU0hJRlQgMAorI2RlZmluZSBSR19WUkYxOF9NT0RFU0VUX01BU0sgMHgxCisjZGVmaW5lIFJHX1ZSRjE4X01PREVTRVRfU0hJRlQgOAorI2RlZmluZSBSR19WUkYxOF9CS19MRE9fTUFTSyAweDEKKyNkZWZpbmUgUkdfVlJGMThfQktfTERPX1NISUZUIDEKKyNkZWZpbmUgVlJGMThfRU5fQ1RSTF9NQVNLIDB4MQorI2RlZmluZSBWUkYxOF9FTl9DVFJMX1NISUZUIDAKKyNkZWZpbmUgVlJGMThfRU5fTUFTSyAweDEKKyNkZWZpbmUgVlJGMThfRU5fU0hJRlQgMAorI2RlZmluZSBSR19WUkYxOF8yX01PREVTRVRfTUFTSyAweDEKKyNkZWZpbmUgUkdfVlJGMThfMl9NT0RFU0VUX1NISUZUIDgKKyNkZWZpbmUgUkdfVlJGMThfMl9CS19MRE9fTUFTSyAweDEKKyNkZWZpbmUgUkdfVlJGMThfMl9CS19MRE9fU0hJRlQgMQorI2RlZmluZSBWUkYxOF8yX0VOX0NUUkxfTUFTSyAweDEKKyNkZWZpbmUgVlJGMThfMl9FTl9DVFJMX1NISUZUIDAKKyNkZWZpbmUgVlJGMThfMl9FTl9TRUxfTUFTSyAweDcKKyNkZWZpbmUgVlJGMThfMl9FTl9TRUxfU0hJRlQgMAorI2RlZmluZSBWUkYxOF8yX0VOX01BU0sgMHgxCisjZGVmaW5lIFZSRjE4XzJfRU5fU0hJRlQgMAorI2RlZmluZSBWUkYyOF9PTl9DVFJMX01BU0sgMHgxCisjZGVmaW5lIFZSRjI4X09OX0NUUkxfU0hJRlQgMTQKKyNkZWZpbmUgUkdfVlJGMjhfRU5fTUFTSyAweDEKKyNkZWZpbmUgUkdfVlJGMjhfRU5fU0hJRlQgMTIKKyNkZWZpbmUgVlJGMjhfU1JDTEtfRU5fU0VMX01BU0sgMHg3CisjZGVmaW5lIFZSRjI4X1NSQ0xLX0VOX1NFTF9TSElGVCA0CisjZGVmaW5lIFZSRjI4X09OXzJfQ1RSTF9NQVNLIDB4MQorI2RlZmluZSBWUkYyOF9PTl8yX0NUUkxfU0hJRlQgMTQKKyNkZWZpbmUgUkdfVlJGMjhfMl9FTl9NQVNLIDB4MQorI2RlZmluZSBSR19WUkYyOF8yX0VOX1NISUZUIDEyCisjZGVmaW5lIFZSRjI4XzJfU1JDTEtfRU5fU0VMX01BU0sgMHg3CisjZGVmaW5lIFZSRjI4XzJfU1JDTEtfRU5fU0VMX1NISUZUIDQKKyNkZWZpbmUgUkdfVlNJTTFfRU5fTUFTSyAweDEKKyNkZWZpbmUgUkdfVlNJTTFfRU5fU0hJRlQgMTUKKyNkZWZpbmUgUkdfVlNJTTFfU1RCVERfTUFTSyAweDMKKyNkZWZpbmUgUkdfVlNJTTFfU1RCVERfU0hJRlQgMTIKKyNkZWZpbmUgUUlfVlNJTTFfTU9ERV9NQVNLIDB4MQorI2RlZmluZSBRSV9WU0lNMV9NT0RFX1NISUZUIDcKKyNkZWZpbmUgVlNJTTFfU1JDTEtfTU9ERV9TRUxfTUFTSyAweDcKKyNkZWZpbmUgVlNJTTFfU1JDTEtfTU9ERV9TRUxfU0hJRlQgNAorI2RlZmluZSBWU0lNMV9MUF9NT0RFX1NFVF9NQVNLIDB4MQorI2RlZmluZSBWU0lNMV9MUF9NT0RFX1NFVF9TSElGVCAxCisjZGVmaW5lIFZTSU0xX0xQX1NFTF9NQVNLIDB4MQorI2RlZmluZSBWU0lNMV9MUF9TRUxfU0hJRlQgMAorI2RlZmluZSBSR19WU0lNMl9FTl9NQVNLIDB4MQorI2RlZmluZSBSR19WU0lNMl9FTl9TSElGVCAxNQorI2RlZmluZSBSR19WU0lNMl9TVEJURF9NQVNLIDB4MworI2RlZmluZSBSR19WU0lNMl9TVEJURF9TSElGVCAxMgorI2RlZmluZSBRSV9WU0lNMl9NT0RFX01BU0sgMHgxCisjZGVmaW5lIFFJX1ZTSU0yX01PREVfU0hJRlQgNworI2RlZmluZSBWU0lNMl9TUkNMS19NT0RFX1NFTF9NQVNLIDB4NworI2RlZmluZSBWU0lNMl9TUkNMS19NT0RFX1NFTF9TSElGVCA0CisjZGVmaW5lIFZTSU0yX1RIRVJfU0hETl9FTl9NQVNLIDB4MQorI2RlZmluZSBWU0lNMl9USEVSX1NIRE5fRU5fU0hJRlQgMgorI2RlZmluZSBWU0lNMl9MUF9NT0RFX1NFVF9NQVNLIDB4MQorI2RlZmluZSBWU0lNMl9MUF9NT0RFX1NFVF9TSElGVCAxCisjZGVmaW5lIFZTSU0yX0xQX1NFTF9NQVNLIDB4MQorI2RlZmluZSBWU0lNMl9MUF9TRUxfU0hJRlQgMAorI2RlZmluZSBRSV9WU0lNMV9PQ19TVEFUVVNfTUFTSyAweDEKKyNkZWZpbmUgUUlfVlNJTTFfT0NfU1RBVFVTX1NISUZUIDMKKyNkZWZpbmUgUUlfVlNJTTJfT0NfU1RBVFVTX01BU0sgMHgxCisjZGVmaW5lIFFJX1ZTSU0yX09DX1NUQVRVU19TSElGVCAyCisjZGVmaW5lIFJHX1ZTSU0xX0NBTF9NQVNLIDB4RgorI2RlZmluZSBSR19WU0lNMV9DQUxfU0hJRlQgOAorI2RlZmluZSBSR19WU0lNMV9WT1NFTF9NQVNLIDB4NworI2RlZmluZSBSR19WU0lNMV9WT1NFTF9TSElGVCA1CisjZGVmaW5lIFJHX1ZTSU0xX1NUQl9TRUxfTUFTSyAweDEKKyNkZWZpbmUgUkdfVlNJTTFfU1RCX1NFTF9TSElGVCA0CisjZGVmaW5lIFJHX1ZTSU0xX09DRkJfTUFTSyAweDEKKyNkZWZpbmUgUkdfVlNJTTFfT0NGQl9TSElGVCAyCisjZGVmaW5lIFJHX1ZTSU0xX05ESVNfRU5fTUFTSyAweDEKKyNkZWZpbmUgUkdfVlNJTTFfTkRJU19FTl9TSElGVCAwCisjZGVmaW5lIFJHX1ZTSU0yX0NBTF9NQVNLIDB4RgorI2RlZmluZSBSR19WU0lNMl9DQUxfU0hJRlQgOAorI2RlZmluZSBSR19WU0lNMl9WT1NFTF9NQVNLIDB4NworI2RlZmluZSBSR19WU0lNMl9WT1NFTF9TSElGVCA1CisjZGVmaW5lIFJHX1ZTSU0yX1NUQl9TRUxfTUFTSyAweDEKKyNkZWZpbmUgUkdfVlNJTTJfU1RCX1NFTF9TSElGVCA0CisjZGVmaW5lIFJHX1ZTSU0yX09DRkJfTUFTSyAweDEKKyNkZWZpbmUgUkdfVlNJTTJfT0NGQl9TSElGVCAyCisjZGVmaW5lIFJHX1ZTSU0yX05ESVNfRU5fTUFTSyAweDEKKyNkZWZpbmUgUkdfVlNJTTJfTkRJU19FTl9TSElGVCAwCisjZGVmaW5lIFZTSU0xX09OX0NUUkxfTUFTSyAweDEKKyNkZWZpbmUgVlNJTTFfT05fQ1RSTF9TSElGVCA5CisjZGVmaW5lIFZTSU0yX09OX0NUUkxfTUFTSyAweDEKKyNkZWZpbmUgVlNJTTJfT05fQ1RSTF9TSElGVCA4CisKKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8KKworI2RlZmluZSBERVdfRVZFTlRfT1VUX0VOICAJICAgICAgKERFV19CQVNFKzB4MCkKKyNkZWZpbmUgREVXX0RJT19FTiAgICAgICAgCSAgICAgIChERVdfQkFTRSsweDIpCisjZGVmaW5lIERFV19FVkVOVF9TUkNfRU4gIAkgICAgICAoREVXX0JBU0UrMHg0KQorI2RlZmluZSBERVdfRVZFTlRfU1JDICAgICAJICAgICAgKERFV19CQVNFKzB4NikKKyNkZWZpbmUgREVXX0VWRU5UX0ZMQUcgICAgCSAgICAgIChERVdfQkFTRSsweDgpCisjZGVmaW5lIERFV19SRUFEX1RFU1QgICAgIAkgICAgICAoREVXX0JBU0UrMHhBKQorI2RlZmluZSBERVdfV1JJVEVfVEVTVCAgICAJICAgICAgKERFV19CQVNFKzB4QykKKyNkZWZpbmUgREVXX0NSQ19FTiAgICAgICAgCSAgICAgIChERVdfQkFTRSsweEUpCisjZGVmaW5lIERFV19DUkNfVkFMICAgICAgIAkgICAgICAoREVXX0JBU0UrMHgxMCkKKyNkZWZpbmUgREVXX01PTl9HUlBfU0VMICAgCSAgICAgIChERVdfQkFTRSsweDEyKQorI2RlZmluZSBERVdfTU9OX0ZMQUdfU0VMICAJICAgICAgKERFV19CQVNFKzB4MTQpCisjZGVmaW5lIERFV19FVkVOVF9URVNUICAgIAkgICAgICAoREVXX0JBU0UrMHgxNikKKyNkZWZpbmUgREVXX0NJUEhFUl9LRVlfU0VMCSAgICAgIChERVdfQkFTRSsweDE4KQorI2RlZmluZSBERVdfQ0lQSEVSX0lWX1NFTCAJICAgICAgKERFV19CQVNFKzB4MUEpCisjZGVmaW5lIERFV19DSVBIRVJfTE9BRCAgIAkgICAgICAoREVXX0JBU0UrMHgxQykKKyNkZWZpbmUgREVXX0NJUEhFUl9TVEFSVCAgCSAgICAgIChERVdfQkFTRSsweDFFKQorI2RlZmluZSBERVdfQ0lQSEVSX1JEWSAgICAJICAgICAgKERFV19CQVNFKzB4MjApCisjZGVmaW5lIERFV19DSVBIRVJfTU9ERSAgIAkgICAgICAoREVXX0JBU0UrMHgyMikKKyNkZWZpbmUgREVXX0NJUEhFUl9TV1JTVCAgCSAgICAgIChERVdfQkFTRSsweDI0KQorI2RlZmluZSBERVdfQ0lQSEVSX0lWMCAgICAJICAgICAgKERFV19CQVNFKzB4MjYpCisjZGVmaW5lIERFV19DSVBIRVJfSVYxICAgIAkgICAgICAoREVXX0JBU0UrMHgyOCkKKyNkZWZpbmUgREVXX0NJUEhFUl9JVjIgICAgCSAgICAgIChERVdfQkFTRSsweDJBKQorI2RlZmluZSBERVdfQ0lQSEVSX0lWMyAgICAJICAgICAgKERFV19CQVNFKzB4MkMpCisjZGVmaW5lIERFV19DSVBIRVJfSVY0ICAgIAkgICAgICAoREVXX0JBU0UrMHgyRSkKKyNkZWZpbmUgREVXX0NJUEhFUl9JVjUgICAgCSAgICAgIChERVdfQkFTRSsweDMwKQorCisjZW5kaWYgLy8gI2lmZGVmIFBNSUNfNjMyMF9SRUdfQVBJCisjZW5kaWYgLy8gI2lmbmRlZiBfX0RDTF9QTUlDNjMyMF9IV19IX1NUUlVDVF9fCisKZGlmZiAtLWdpdCBhL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvZGNsX3BtaWM2MzIwX3N3LmggYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL2RjbF9wbWljNjMyMF9zdy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhjZjJlMDQKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL2RjbF9wbWljNjMyMF9zdy5oCkBAIC0wLDAgKzEsMTcwIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTIKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4gCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRmlsZW5hbWU6CisgKiAtLS0tLS0tLS0KKyAqCQlkY2xfcG1pYzYzMjBfc3cuaAorICoKKyAqIFByb2plY3Q6CisgKiAtLS0tLS0tLQorICogICAJTWF1aV9Tb2Z0d2FyZQorICoKKyAqIERlc2NyaXB0aW9uOgorICogLS0tLS0tLS0tLS0tCisgKgkJVGhpcyBmaWxlIGlzIGZvciBQTUlDIDYzMjAKKyAqCisgKiBBdXRob3I6CisgKiAtLS0tLS0tCisgKiAtLS0tLS0tCisgKgorICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKiAgICAgICAgICAgICBISVNUT1JZCisgKiBCZWxvdyB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIFVwcGVyIHRoaXMgbGluZSwgdGhpcyBwYXJ0IGlzIGNvbnRyb2xsZWQgYnkgUFZDUyBWTS4gRE8gTk9UIE1PRElGWSEhCisgKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworIAorI2lmbmRlZiBfX0RDTF9QTUlDNjMyMF9TV19IX1NUUlVDVF9fCisjZGVmaW5lIF9fRENMX1BNSUM2MzIwX1NXX0hfU1RSVUNUX18KKworI2luY2x1ZGUgImRjbF9wbWljX2ZlYXR1cmVzLmgiCisKKyNpZmRlZiBQTUlDXzYzMjBfUkVHX0FQSQorCisjZGVmaW5lIFBNSUM2MzIwX0VDT18xX1ZFUlNJT04JCTB4MDEKKyNkZWZpbmUgUE1JQzYzMjBfRUNPXzJfVkVSU0lPTgkJMHgwMgorCisvLyBDb21iaW5hdGlvbmFsIGZ1bmN0aW9ucworZXh0ZXJuIHZvaWQgcG1pYzYzMjBfY3VzdG9taXphdGlvbl9pbml0KHZvaWQpOworCit0eXBlZGVmIGVudW0KK3sKKyAgICBTVEFUVVNfVlNJTTFfRU4sCisgICAgU1RBVFVTX1ZTSU0yX0VOLAorICAgIE9DX1NUQVRVU19WU0lNMSwKKyAgICBPQ19TVEFUVVNfVlNJTTIsCisgICAgUkdfU0lNTFMyX1NSU1RfQ09ORiwKKyAgICBSR19TSU1MUzJfU0NMS19DT05GLAorICAgIFJHX1NJTUxTMV9TUlNUX0NPTkYsCisgICAgUkdfU0lNTFMxX1NDTEtfQ09ORiwKKyAgICBSR19TSU1MU19URFNFTCwKKyAgICBSR19TSU1BUF9URFNFTCwKKyAgICBSR19TSU1MU19SRFNFTCwKKyAgICBSR19TSU1BUF9SRFNFTCwKKyAgICBSR19PQ1RMX1NJTTFfQVBfU1JTVCwKKyAgICBSR19PQ1RMX1NJTTFfQVBfU0NMSywKKyAgICBSR19PQ1RMX1NJTUxTMV9TUlNULAorICAgIFJHX09DVExfU0lNTFMxX1NDTEssCisgICAgUkdfT0NUTF9TSU0yX0FQX1NSU1QsCisgICAgUkdfT0NUTF9TSU0yX0FQX1NDTEssCisgICAgUkdfT0NUTF9TSU1MUzJfU1JTVCwKKyAgICBSR19PQ1RMX1NJTUxTMl9TQ0xLLAorICAgIFJHX1ZJTzE4X01PREVTRVQsCisgICAgUkdfVlBBX01PREVTRVQsCisgICAgVlBBX0VOLAorICAgIFJHX1ZSRjE4X01PREVTRVQsCisgICAgUkdfVlJGMThfQktfTERPLAorICAgIFZSRjE4X0VOX0NUUkwsCisgICAgVlJGMThfRU4sCisgICAgUkdfVlJGMThfMl9NT0RFU0VULAorICAgIFJHX1ZSRjE4XzJfQktfTERPLAorICAgIFZSRjE4XzJfRU5fQ1RSTCwKKyAgICBWUkYxOF8yX0VOX1NFTCwKKyAgICBWUkYxOF8yX0VOLAorICAgIFZSRjI4X09OX0NUUkwsCisgICAgUkdfVlJGMjhfRU4sCisgICAgVlJGMjhfU1JDTEtfRU5fU0VMLAorICAgIFZSRjI4X09OXzJfQ1RSTCwKKyAgICBSR19WUkYyOF8yX0VOLAorICAgIFZSRjI4XzJfU1JDTEtfRU5fU0VMLAorICAgIFJHX1ZTSU0xX0VOLAorICAgIFJHX1ZTSU0xX1NUQlRELAorICAgIFFJX1ZTSU0xX01PREUsCisgICAgVlNJTTFfU1JDTEtfTU9ERV9TRUwsCisgICAgVlNJTTFfTFBfTU9ERV9TRVQsCisgICAgVlNJTTFfTFBfU0VMLAorICAgIFJHX1ZTSU0yX0VOLAorICAgIFJHX1ZTSU0yX1NUQlRELAorICAgIFFJX1ZTSU0yX01PREUsCisgICAgVlNJTTJfU1JDTEtfTU9ERV9TRUwsCisgICAgVlNJTTJfVEhFUl9TSEROX0VOLAorICAgIFZTSU0yX0xQX01PREVfU0VULAorICAgIFZTSU0yX0xQX1NFTCwKKyAgICBRSV9WU0lNMV9PQ19TVEFUVVMsCisgICAgUUlfVlNJTTJfT0NfU1RBVFVTLAorICAgIFJHX1ZTSU0xX0NBTCwKKyAgICBSR19WU0lNMV9WT1NFTCwKKyAgICBSR19WU0lNMV9TVEJfU0VMLAorICAgIFJHX1ZTSU0xX09DRkIsCisgICAgUkdfVlNJTTFfTkRJU19FTiwKKyAgICBSR19WU0lNMl9DQUwsCisgICAgUkdfVlNJTTJfVk9TRUwsCisgICAgUkdfVlNJTTJfU1RCX1NFTCwKKyAgICBSR19WU0lNMl9PQ0ZCLAorICAgIFJHX1ZTSU0yX05ESVNfRU4sCisgICAgVlNJTTFfT05fQ1RSTCwKKyAgICBWU0lNMl9PTl9DVFJMLAorfVBNSUNfRkxBR1NfTElTVF9FTlVNOworCisjZW5kaWYgLy8gI2lmZGVmIFBNSUNfNjMyMF9SRUdfQVBJCisjZW5kaWYgLy8gI2lmbmRlZiBfX0RDTF9QTUlDNjMyMF9TV19IX1NUUlVDVF9fCisKZGlmZiAtLWdpdCBhL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvZGNsX3BtaWM2MzIzX2h3LmggYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL2RjbF9wbWljNjMyM19ody5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVlNTE2MGQKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL2RjbF9wbWljNjMyM19ody5oCkBAIC0wLDAgKzEsNTM3IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTIKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4gCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRmlsZW5hbWU6CisgKiAtLS0tLS0tLS0KKyAqCQlkY2xfcG1pYzYzMjNfaHcuaAorICoKKyAqIFByb2plY3Q6CisgKiAtLS0tLS0tLQorICogICAJTWF1aV9Tb2Z0d2FyZQorICoKKyAqIERlc2NyaXB0aW9uOgorICogLS0tLS0tLS0tLS0tCisgKgkJVGhpcyBmaWxlIGlzIGZvciBQTUlDIDYzMjMKKyAqCisgKiBBdXRob3I6CisgKiAtLS0tLS0tCisgKiAtLS0tLS0tCisgKgorICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKiAgICAgICAgICAgICBISVNUT1JZCisgKiBCZWxvdyB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIFVwcGVyIHRoaXMgbGluZSwgdGhpcyBwYXJ0IGlzIGNvbnRyb2xsZWQgYnkgUFZDUyBWTS4gRE8gTk9UIE1PRElGWSEhCisgKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworIAorI2lmbmRlZiBfX0RDTF9QTUlDNjMyM19IV19IX1NUUlVDVF9fCisjZGVmaW5lIF9fRENMX1BNSUM2MzIzX0hXX0hfU1RSVUNUX18KKworCisjaW5jbHVkZSAiZGNsX3BtaWNfZmVhdHVyZXMuaCIKKworI2lmIGRlZmluZWQoUE1JQ182MzIzX1JFR19BUEkpCisKKyNkZWZpbmUgUE1JQ19CQVNFICgweDAwMDApCisjZGVmaW5lIEdQSU9fQkFTRSAoMHhDMDAwKQorI2RlZmluZSBNVDYzMjNfRTFfQ0lEICAgICAgICAgICAgICAgMHgxMDIzCisKKy8vcmVnaXN0ZXIgbnVtYmVyCisjZGVmaW5lIENIUl9DT04wICAgICAgICAweDAwMDAKKyNkZWZpbmUgQ0hSX0NPTjEgICAgICAgIDB4MDAwMgorI2RlZmluZSBDSFJfQ09OMiAgICAgICAgMHgwMDA0CisjZGVmaW5lIENIUl9DT04zICAgICAgICAweDAwMDYKKyNkZWZpbmUgQ0hSX0NPTjQgICAgICAgIDB4MDAwOAorI2RlZmluZSBDSFJfQ09ONSAgICAgICAgMHgwMDBBCisjZGVmaW5lIENIUl9DT042ICAgICAgICAweDAwMEMKKyNkZWZpbmUgQ0hSX0NPTjcgICAgICAgIDB4MDAwRQorI2RlZmluZSBDSFJfQ09OOCAgICAgICAgMHgwMDEwCisjZGVmaW5lIENIUl9DT045ICAgICAgICAweDAwMTIKKyNkZWZpbmUgQ0hSX0NPTjEwICAgICAgIDB4MDAxNAorI2RlZmluZSBDSFJfQ09OMTEgICAgICAgMHgwMDE2CisjZGVmaW5lIENIUl9DT04xMiAgICAgICAweDAwMTgKKyNkZWZpbmUgQ0hSX0NPTjEzICAgICAgIDB4MDAxQQorI2RlZmluZSBDSFJfQ09OMTQgICAgICAgMHgwMDFDCisjZGVmaW5lIENIUl9DT04xNSAgICAgICAweDAwMUUKKyNkZWZpbmUgQ0hSX0NPTjE2ICAgICAgIDB4MDAyMAorI2RlZmluZSBDSFJfQ09OMTcgICAgICAgMHgwMDIyCisjZGVmaW5lIENIUl9DT04xOCAgICAgICAweDAwMjQKKyNkZWZpbmUgQ0hSX0NPTjE5ICAgICAgIDB4MDAyNgorI2RlZmluZSBDSFJfQ09OMjAgICAgICAgMHgwMDI4CisjZGVmaW5lIENIUl9DT04yMSAgICAgICAweDAwMkEKKyNkZWZpbmUgQ0hSX0NPTjIyICAgICAgIDB4MDAyQworI2RlZmluZSBDSFJfQ09OMjMgICAgICAgMHgwMDJFCisjZGVmaW5lIENIUl9DT04yNCAgICAgICAweDAwMzAKKyNkZWZpbmUgQ0hSX0NPTjI1ICAgICAgIDB4MDAzMgorI2RlZmluZSBDSFJfQ09OMjYgICAgICAgMHgwMDM0CisjZGVmaW5lIENIUl9DT04yNyAgICAgICAweDAwMzYKKyNkZWZpbmUgQ0hSX0NPTjI4ICAgICAgIDB4MDAzOAorI2RlZmluZSBDSFJfQ09OMjkgICAgICAgMHgwMDNBCisjZGVmaW5lIFNUUlVQX0NPTjAgICAgICAweDAwM0MKKyNkZWZpbmUgU1RSVVBfQ09OMiAgICAgIDB4MDAzRQorI2RlZmluZSBTVFJVUF9DT04zICAgICAgMHgwMDQwCisjZGVmaW5lIFNUUlVQX0NPTjQgICAgICAweDAwNDIKKyNkZWZpbmUgU1RSVVBfQ09ONSAgICAgIDB4MDA0NAorI2RlZmluZSBTVFJVUF9DT042ICAgICAgMHgwMDQ2CisjZGVmaW5lIFNUUlVQX0NPTjcgICAgICAweDAwNDgKKyNkZWZpbmUgU1RSVVBfQ09OOCAgICAgIDB4MDA0QQorI2RlZmluZSBTVFJVUF9DT045ICAgICAgMHgwMDRDCisjZGVmaW5lIFNUUlVQX0NPTjEwICAgICAweDAwNEUKKyNkZWZpbmUgU1RSVVBfQ09OMTEgICAgIDB4MDA1MAorI2RlZmluZSBTUEtfQ09OMCAgICAgICAgMHgwMDUyCisjZGVmaW5lIFNQS19DT04xICAgICAgICAweDAwNTQKKyNkZWZpbmUgU1BLX0NPTjIgICAgICAgIDB4MDA1NgorI2RlZmluZSBTUEtfQ09ONiAgICAgICAgMHgwMDVFCisjZGVmaW5lIFNQS19DT043ICAgICAgICAweDAwNjAKKyNkZWZpbmUgU1BLX0NPTjggICAgICAgIDB4MDA2MgorI2RlZmluZSBTUEtfQ09OOSAgICAgICAgMHgwMDY0CisjZGVmaW5lIFNQS19DT04xMCAgICAgICAweDAwNjYKKyNkZWZpbmUgU1BLX0NPTjExICAgICAgIDB4MDA2OAorI2RlZmluZSBTUEtfQ09OMTIgICAgICAgMHgwMDZBCisjZGVmaW5lIENJRCAgICAgICAgICAgICAweDAxMDAKKyNkZWZpbmUgVE9QX0NLUEROMCAgICAgIDB4MDEwMgorI2RlZmluZSBUT1BfQ0tQRE4xICAgICAgMHgwMTA4CisjZGVmaW5lIFRPUF9DS1BETjFfU0VUCTB4MDEwQQorI2RlZmluZSBUT1BfQ0tQRE4xX0NMUgkweDAxMEMKKyNkZWZpbmUgVE9QX0NLUEROMiAgICAgIDB4MDEwRQorI2RlZmluZSBUT1BfUlNUX0NPTiAgICAgMHgwMTE0CisjZGVmaW5lIFRPUF9SU1RfTUlTQyAgICAweDAxMUEKKyNkZWZpbmUgVE9QX0NLQ09OMCAgICAgIDB4MDEyMAorI2RlZmluZSBUT1BfQ0tDT04xICAgICAgMHgwMTI2CisjZGVmaW5lIFRPUF9DS0NPTjFfQ0xSICAweDAxMkEKKyNkZWZpbmUgVE9QX0NLVFNUMCAgICAgIDB4MDEyQworI2RlZmluZSBUT1BfQ0tUU1QxICAgICAgMHgwMTJFCisjZGVmaW5lIFRPUF9DS1RTVDIgICAgICAweDAxMzAKKyNkZWZpbmUgVEVTVF9PVVQgICAgICAgIDB4MDEzMgorI2RlZmluZSBURVNUX0NPTjAgICAgICAgMHgwMTM0CisjZGVmaW5lIFRFU1RfQ09OMSAgICAgICAweDAxMzYKKyNkZWZpbmUgRU5fU1RBVFVTMCAgICAgIDB4MDEzOAorI2RlZmluZSBFTl9TVEFUVVMxICAgICAgMHgwMTNBCisjZGVmaW5lIE9DU1RBVFVTMCAgICAgICAweDAxM0MKKyNkZWZpbmUgT0NTVEFUVVMxICAgICAgIDB4MDEzRQorI2RlZmluZSBQR1NUQVRVUyAgICAgICAgMHgwMTQwCisjZGVmaW5lIENIUlNUQVRVUyAgICAgICAweDAxNDIKKyNkZWZpbmUgVERTRUxfQ09OICAgICAgIDB4MDE0NAorI2RlZmluZSBSRFNFTF9DT04gICAgICAgMHgwMTQ2CisjZGVmaW5lIFNNVF9DT04wICAgICAgICAweDAxNDgKKyNkZWZpbmUgU01UX0NPTjEgICAgICAgIDB4MDE0QQorI2RlZmluZSBTTVRfQ09OMiAgICAgICAgMHgwMTRDCisjZGVmaW5lIFNNVF9DT04zICAgICAgICAweDAxNEUKKyNkZWZpbmUgU01UX0NPTjQgICAgICAgIDB4MDE1MAorI2RlZmluZSBEUlZfQ09OMCAgICAgICAgMHgwMTUyCisjZGVmaW5lIERSVl9DT04xICAgICAgICAweDAxNTQKKyNkZWZpbmUgRFJWX0NPTjIgICAgICAgIDB4MDE1NgorI2RlZmluZSBEUlZfQ09OMyAgICAgICAgMHgwMTU4CisjZGVmaW5lIERSVl9DT040ICAgICAgICAweDAxNUEKKyNkZWZpbmUgU0lNTFMxX0NPTiAgICAgIDB4MDE1QworI2RlZmluZSBTSU1MUzJfQ09OICAgICAgMHgwMTVFCisjZGVmaW5lIElOVF9DT04wICAgICAgICAweDAxNjAKKyNkZWZpbmUgSU5UX0NPTjEgICAgICAgIDB4MDE2NgorI2RlZmluZSBJTlRfTUlTQ19DT04gICAgMHgwMTZDCisjZGVmaW5lIElOVF9TVEFUVVMwICAgICAweDAxNzIKKyNkZWZpbmUgSU5UX1NUQVRVUzEgICAgIDB4MDE3NAorI2RlZmluZSBPQ19HRUFSXzAgICAgICAgMHgwMTc2CisjZGVmaW5lIE9DX0dFQVJfMSAgICAgICAweDAxNzgKKyNkZWZpbmUgT0NfR0VBUl8yICAgICAgIDB4MDE3QQorI2RlZmluZSBPQ19DVExfVlBST0MgICAgMHgwMTdDCisjZGVmaW5lIE9DX0NUTF9WU1lTICAgICAweDAxN0UKKyNkZWZpbmUgT0NfQ1RMX1ZQQSAgICAgIDB4MDE4MAorI2RlZmluZSBGUU1UUl9DT04wICAgICAgMHgwMTgyCisjZGVmaW5lIEZRTVRSX0NPTjEgICAgICAweDAxODQKKyNkZWZpbmUgRlFNVFJfQ09OMiAgICAgIDB4MDE4NgorI2RlZmluZSBSR19TUElfQ09OICAgICAgMHgwMTg4CisjZGVmaW5lIERFV19ESU9fRU4gICAgICAweDAxOEEKKyNkZWZpbmUgREVXX1JFQURfVEVTVCAgIDB4MDE4QworI2RlZmluZSBERVdfV1JJVEVfVEVTVCAgMHgwMThFCisjZGVmaW5lIERFV19DUkNfU1dSU1QgICAweDAxOTAKKyNkZWZpbmUgREVXX0NSQ19FTiAgICAgIDB4MDE5MgorI2RlZmluZSBERVdfQ1JDX1ZBTCAgICAgMHgwMTk0CisjZGVmaW5lIERFV19EQkdfTU9OX1NFTCAweDAxOTYKKyNkZWZpbmUgREVXX0NJUEhFUl9LRVlfU0VMIDB4MDE5OAorI2RlZmluZSBERVdfQ0lQSEVSX0lWX1NFTCAweDAxOUEKKyNkZWZpbmUgREVXX0NJUEhFUl9FTiAgIDB4MDE5QworI2RlZmluZSBERVdfQ0lQSEVSX1JEWSAgMHgwMTlFCisjZGVmaW5lIERFV19DSVBIRVJfTU9ERSAweDAxQTAKKyNkZWZpbmUgREVXX0NJUEhFUl9TV1JTVCAweDAxQTIKKyNkZWZpbmUgREVXX1JERE1ZX05PICAgIDB4MDFBNAorI2RlZmluZSBERVdfUkRBVEFfRExZX1NFTCAweDAxQTYKKyNkZWZpbmUgQlVDS19DT04wICAgICAgIDB4MDIwMAorI2RlZmluZSBCVUNLX0NPTjEgICAgICAgMHgwMjAyCisjZGVmaW5lIEJVQ0tfQ09OMiAgICAgICAweDAyMDQKKyNkZWZpbmUgQlVDS19DT04zICAgICAgIDB4MDIwNgorI2RlZmluZSBCVUNLX0NPTjQgICAgICAgMHgwMjA4CisjZGVmaW5lIEJVQ0tfQ09ONSAgICAgICAweDAyMEEKKyNkZWZpbmUgVlBST0NfQ09OMCAgICAgIDB4MDIwQworI2RlZmluZSBWUFJPQ19DT04xICAgICAgMHgwMjBFCisjZGVmaW5lIFZQUk9DX0NPTjIgICAgICAweDAyMTAKKyNkZWZpbmUgVlBST0NfQ09OMyAgICAgIDB4MDIxMgorI2RlZmluZSBWUFJPQ19DT040ICAgICAgMHgwMjE0CisjZGVmaW5lIFZQUk9DX0NPTjUgICAgICAweDAyMTYKKyNkZWZpbmUgVlBST0NfQ09ONyAgICAgIDB4MDIxQQorI2RlZmluZSBWUFJPQ19DT044ICAgICAgMHgwMjFDCisjZGVmaW5lIFZQUk9DX0NPTjkgICAgICAweDAyMUUKKyNkZWZpbmUgVlBST0NfQ09OMTAgICAgIDB4MDIyMAorI2RlZmluZSBWUFJPQ19DT04xMSAgICAgMHgwMjIyCisjZGVmaW5lIFZQUk9DX0NPTjEyICAgICAweDAyMjQKKyNkZWZpbmUgVlBST0NfQ09OMTMgICAgIDB4MDIyNgorI2RlZmluZSBWUFJPQ19DT04xNCAgICAgMHgwMjI4CisjZGVmaW5lIFZQUk9DX0NPTjE1ICAgICAweDAyMkEKKyNkZWZpbmUgVlBST0NfQ09OMTggICAgIDB4MDIzMAorI2RlZmluZSBWU1lTX0NPTjAgICAgICAgMHgwMjMyCisjZGVmaW5lIFZTWVNfQ09OMSAgICAgICAweDAyMzQKKyNkZWZpbmUgVlNZU19DT04yICAgICAgIDB4MDIzNgorI2RlZmluZSBWU1lTX0NPTjMgICAgICAgMHgwMjM4CisjZGVmaW5lIFZTWVNfQ09ONCAgICAgICAweDAyM0EKKyNkZWZpbmUgVlNZU19DT041ICAgICAgIDB4MDIzQworI2RlZmluZSBWU1lTX0NPTjcgICAgICAgMHgwMjQwCisjZGVmaW5lIFZTWVNfQ09OOCAgICAgICAweDAyNDIKKyNkZWZpbmUgVlNZU19DT045ICAgICAgIDB4MDI0NAorI2RlZmluZSBWU1lTX0NPTjEwICAgICAgMHgwMjQ2CisjZGVmaW5lIFZTWVNfQ09OMTEgICAgICAweDAyNDgKKyNkZWZpbmUgVlNZU19DT04xMiAgICAgIDB4MDI0QQorI2RlZmluZSBWU1lTX0NPTjEzICAgICAgMHgwMjRDCisjZGVmaW5lIFZTWVNfQ09OMTQgICAgICAweDAyNEUKKyNkZWZpbmUgVlNZU19DT04xNSAgICAgIDB4MDI1MAorI2RlZmluZSBWU1lTX0NPTjE4ICAgICAgMHgwMjU2CisjZGVmaW5lIFZQQV9DT04wICAgICAgICAweDAzMDAKKyNkZWZpbmUgVlBBX0NPTjEgICAgICAgIDB4MDMwMgorI2RlZmluZSBWUEFfQ09OMiAgICAgICAgMHgwMzA0CisjZGVmaW5lIFZQQV9DT04zICAgICAgICAweDAzMDYKKyNkZWZpbmUgVlBBX0NPTjQgICAgICAgIDB4MDMwOAorI2RlZmluZSBWUEFfQ09ONSAgICAgICAgMHgwMzBBCisjZGVmaW5lIFZQQV9DT043ICAgICAgICAweDAzMEUKKyNkZWZpbmUgVlBBX0NPTjggICAgICAgIDB4MDMxMAorI2RlZmluZSBWUEFfQ09OOSAgICAgICAgMHgwMzEyCisjZGVmaW5lIFZQQV9DT04xMCAgICAgICAweDAzMTQKKyNkZWZpbmUgVlBBX0NPTjExICAgICAgIDB4MDMxNgorI2RlZmluZSBWUEFfQ09OMTIgICAgICAgMHgwMzE4CisjZGVmaW5lIFZQQV9DT04xNCAgICAgICAweDAzMUMKKyNkZWZpbmUgVlBBX0NPTjE2ICAgICAgIDB4MDMyMAorI2RlZmluZSBWUEFfQ09OMTcgICAgICAgMHgwMzIyCisjZGVmaW5lIFZQQV9DT04xOCAgICAgICAweDAzMjQKKyNkZWZpbmUgVlBBX0NPTjE5ICAgICAgIDB4MDMyNgorI2RlZmluZSBWUEFfQ09OMjAgICAgICAgMHgwMzI4CisjZGVmaW5lIEJVQ0tfS19DT04wICAgICAweDAzMkEKKyNkZWZpbmUgQlVDS19LX0NPTjEgICAgIDB4MDMyQworI2RlZmluZSBCVUNLX0tfQ09OMiAgICAgMHgwMzJFCisjZGVmaW5lIElTSU5LMF9DT04wICAgICAweDAzMzAKKyNkZWZpbmUgSVNJTkswX0NPTjEgICAgIDB4MDMzMgorI2RlZmluZSBJU0lOSzBfQ09OMiAgICAgMHgwMzM0CisjZGVmaW5lIElTSU5LMF9DT04zICAgICAweDAzMzYKKyNkZWZpbmUgSVNJTksxX0NPTjAgICAgIDB4MDMzOAorI2RlZmluZSBJU0lOSzFfQ09OMSAgICAgMHgwMzNBCisjZGVmaW5lIElTSU5LMV9DT04yICAgICAweDAzM0MKKyNkZWZpbmUgSVNJTksxX0NPTjMgICAgIDB4MDMzRQorI2RlZmluZSBJU0lOSzJfQ09OMCAgICAgMHgwMzQwCisjZGVmaW5lIElTSU5LMl9DT04xICAgICAweDAzNDIKKyNkZWZpbmUgSVNJTksyX0NPTjIgICAgIDB4MDM0NAorI2RlZmluZSBJU0lOSzJfQ09OMyAgICAgMHgwMzQ2CisjZGVmaW5lIElTSU5LM19DT04wICAgICAweDAzNDgKKyNkZWZpbmUgSVNJTkszX0NPTjEgICAgIDB4MDM0QQorI2RlZmluZSBJU0lOSzNfQ09OMiAgICAgMHgwMzRDCisjZGVmaW5lIElTSU5LM19DT04zICAgICAweDAzNEUKKyNkZWZpbmUgSVNJTktfQU5BMCAgICAgIDB4MDM1MAorI2RlZmluZSBJU0lOS19BTkExICAgICAgMHgwMzUyCisjZGVmaW5lIElTSU5LX1BIQVNFX0RMWSAweDAzNTQKKyNkZWZpbmUgSVNJTktfRU5fQ1RSTCAgIDB4MDM1NgorI2RlZmluZSBBTkFMRE9fQ09OMCAgICAgMHgwNDAwCisjZGVmaW5lIEFOQUxET19DT04xICAgICAweDA0MDIKKyNkZWZpbmUgQU5BTERPX0NPTjIgICAgIDB4MDQwNAorI2RlZmluZSBBTkFMRE9fQ09OMyAgICAgMHgwNDA2CisjZGVmaW5lIEFOQUxET19DT040ICAgICAweDA0MDgKKyNkZWZpbmUgQU5BTERPX0NPTjUgICAgIDB4MDQwQQorI2RlZmluZSBBTkFMRE9fQ09ONiAgICAgMHgwNDBDCisjZGVmaW5lIEFOQUxET19DT043ICAgICAweDA0MEUKKyNkZWZpbmUgQU5BTERPX0NPTjggICAgIDB4MDQxMAorI2RlZmluZSBBTkFMRE9fQ09OMTAgICAgMHgwNDEyCisjZGVmaW5lIEFOQUxET19DT04xNSAgICAweDA0MTQKKyNkZWZpbmUgQU5BTERPX0NPTjE2ICAgIDB4MDQxNgorI2RlZmluZSBBTkFMRE9fQ09OMTcgICAgMHgwNDE4CisjZGVmaW5lIEFOQUxET19DT04xOCAgICAweDA0MUEKKyNkZWZpbmUgQU5BTERPX0NPTjE5ICAgIDB4MDQxQworI2RlZmluZSBBTkFMRE9fQ09OMjAgICAgMHgwNDFFCisjZGVmaW5lIEFOQUxET19DT04yMSAgICAweDA0MjAKKyNkZWZpbmUgRElHTERPX0NPTjAgICAgIDB4MDUwMAorI2RlZmluZSBESUdMRE9fQ09OMiAgICAgMHgwNTAyCisjZGVmaW5lIERJR0xET19DT04zICAgICAweDA1MDQKKyNkZWZpbmUgRElHTERPX0NPTjUgICAgIDB4MDUwNgorI2RlZmluZSBESUdMRE9fQ09ONiAgICAgMHgwNTA4CisjZGVmaW5lIERJR0xET19DT043ICAgICAweDA1MEEKKyNkZWZpbmUgRElHTERPX0NPTjggICAgIDB4MDUwQworI2RlZmluZSBESUdMRE9fQ09OOSAgICAgMHgwNTBFCisjZGVmaW5lIERJR0xET19DT04xMCAgICAweDA1MTAKKyNkZWZpbmUgRElHTERPX0NPTjExICAgIDB4MDUxMgorI2RlZmluZSBESUdMRE9fQ09OMTIgICAgMHgwNTE0CisjZGVmaW5lIERJR0xET19DT04xMyAgICAweDA1MTYKKyNkZWZpbmUgRElHTERPX0NPTjE0ICAgIDB4MDUxOAorI2RlZmluZSBESUdMRE9fQ09OMTUgICAgMHgwNTFBCisjZGVmaW5lIERJR0xET19DT04xNiAgICAweDA1MUMKKyNkZWZpbmUgRElHTERPX0NPTjE3ICAgIDB4MDUxRQorI2RlZmluZSBESUdMRE9fQ09OMTggICAgMHgwNTIwCisjZGVmaW5lIERJR0xET19DT04xOSAgICAweDA1MjIKKyNkZWZpbmUgRElHTERPX0NPTjIwICAgIDB4MDUyNAorI2RlZmluZSBESUdMRE9fQ09OMjEgICAgMHgwNTI2CisjZGVmaW5lIERJR0xET19DT04yMyAgICAweDA1MjgKKyNkZWZpbmUgRElHTERPX0NPTjI0ICAgIDB4MDUyQQorI2RlZmluZSBESUdMRE9fQ09OMjYgICAgMHgwNTJDCisjZGVmaW5lIERJR0xET19DT04yNyAgICAweDA1MkUKKyNkZWZpbmUgRElHTERPX0NPTjI4ICAgIDB4MDUzMAorI2RlZmluZSBESUdMRE9fQ09OMjkgICAgMHgwNTMyCisjZGVmaW5lIERJR0xET19DT04zMCAgICAweDA1MzQKKyNkZWZpbmUgRElHTERPX0NPTjMxICAgIDB4MDUzNgorI2RlZmluZSBESUdMRE9fQ09OMzIgICAgMHgwNTM4CisjZGVmaW5lIERJR0xET19DT04zMyAgICAweDA1M0EKKyNkZWZpbmUgRElHTERPX0NPTjM0ICAgIDB4MDUzQworI2RlZmluZSBESUdMRE9fQ09OMzUgICAgMHgwNTNFCisjZGVmaW5lIERJR0xET19DT04zNiAgICAweDA1NDAKKyNkZWZpbmUgRElHTERPX0NPTjM5ICAgIDB4MDU0MgorI2RlZmluZSBESUdMRE9fQ09ONDAgICAgMHgwNTQ0CisjZGVmaW5lIERJR0xET19DT040MSAgICAweDA1NDYKKyNkZWZpbmUgRElHTERPX0NPTjQyICAgIDB4MDU0OAorI2RlZmluZSBESUdMRE9fQ09ONDMgICAgMHgwNTRBCisjZGVmaW5lIERJR0xET19DT040NCAgICAweDA1NEMKKyNkZWZpbmUgRElHTERPX0NPTjQ1ICAgIDB4MDU0RQorI2RlZmluZSBESUdMRE9fQ09ONDYgICAgMHgwNTUwCisjZGVmaW5lIERJR0xET19DT040NyAgICAweDA1NTIKKyNkZWZpbmUgRElHTERPX0NPTjQ4ICAgIDB4MDU1NAorI2RlZmluZSBESUdMRE9fQ09ONDkgICAgMHgwNTU2CisjZGVmaW5lIERJR0xET19DT041MCAgICAweDA1NTgKKyNkZWZpbmUgRElHTERPX0NPTjUxICAgIDB4MDU1QQorI2RlZmluZSBESUdMRE9fQ09ONTIgICAgMHgwNTVDCisjZGVmaW5lIERJR0xET19DT041MyAgICAweDA1NUUKKyNkZWZpbmUgRElHTERPX0NPTjU0ICAgIDB4MDU2MAorI2RlZmluZSBFRlVTRV9DT04wICAgICAgMHgwNjAwCisjZGVmaW5lIEVGVVNFX0NPTjEgICAgICAweDA2MDIKKyNkZWZpbmUgRUZVU0VfQ09OMiAgICAgIDB4MDYwNAorI2RlZmluZSBFRlVTRV9DT04zICAgICAgMHgwNjA2CisjZGVmaW5lIEVGVVNFX0NPTjQgICAgICAweDA2MDgKKyNkZWZpbmUgRUZVU0VfQ09ONSAgICAgIDB4MDYwQQorI2RlZmluZSBFRlVTRV9DT042ICAgICAgMHgwNjBDCisjZGVmaW5lIEVGVVNFX1ZBTF8wXzE1ICAweDA2MEUKKyNkZWZpbmUgRUZVU0VfVkFMXzE2XzMxIDB4MDYxMAorI2RlZmluZSBFRlVTRV9WQUxfMzJfNDcgMHgwNjEyCisjZGVmaW5lIEVGVVNFX1ZBTF80OF82MyAweDA2MTQKKyNkZWZpbmUgRUZVU0VfVkFMXzY0Xzc5IDB4MDYxNgorI2RlZmluZSBFRlVTRV9WQUxfODBfOTUgMHgwNjE4CisjZGVmaW5lIEVGVVNFX1ZBTF85Nl8xMTEgMHgwNjFBCisjZGVmaW5lIEVGVVNFX1ZBTF8xMTJfMTI3IDB4MDYxQworI2RlZmluZSBFRlVTRV9WQUxfMTI4XzE0MyAweDA2MUUKKyNkZWZpbmUgRUZVU0VfVkFMXzE0NF8xNTkgMHgwNjIwCisjZGVmaW5lIEVGVVNFX1ZBTF8xNjBfMTc1IDB4MDYyMgorI2RlZmluZSBFRlVTRV9WQUxfMTc2XzE5MSAweDA2MjQKKyNkZWZpbmUgRUZVU0VfRE9VVF8wXzE1IDB4MDYyNgorI2RlZmluZSBFRlVTRV9ET1VUXzE2XzMxIDB4MDYyOAorI2RlZmluZSBFRlVTRV9ET1VUXzMyXzQ3IDB4MDYyQQorI2RlZmluZSBFRlVTRV9ET1VUXzQ4XzYzIDB4MDYyQworI2RlZmluZSBFRlVTRV9ET1VUXzY0Xzc5IDB4MDYyRQorI2RlZmluZSBFRlVTRV9ET1VUXzgwXzk1IDB4MDYzMAorI2RlZmluZSBFRlVTRV9ET1VUXzk2XzExMSAweDA2MzIKKyNkZWZpbmUgRUZVU0VfRE9VVF8xMTJfMTI3IDB4MDYzNAorI2RlZmluZSBFRlVTRV9ET1VUXzEyOF8xNDMgMHgwNjM2CisjZGVmaW5lIEVGVVNFX0RPVVRfMTQ0XzE1OSAweDA2MzgKKyNkZWZpbmUgRUZVU0VfRE9VVF8xNjBfMTc1IDB4MDYzQQorI2RlZmluZSBFRlVTRV9ET1VUXzE3Nl8xOTEgMHgwNjNDCisjZGVmaW5lIEVGVVNFX0NPTjcgICAgICAweDA2M0UKKyNkZWZpbmUgRUZVU0VfQ09OOCAgICAgIDB4MDY0MAorI2RlZmluZSBFRlVTRV9DT045ICAgICAgMHgwNjQyCisjZGVmaW5lIFJUQ19NSVhfQ09OMCAgICAweDA2NDQKKyNkZWZpbmUgUlRDX01JWF9DT04xICAgIDB4MDY0NgorI2RlZmluZSBBVURUT1BfQ09OMCAgICAgMHgwNzAwCisjZGVmaW5lIEFVRFRPUF9DT04xICAgICAweDA3MDIKKyNkZWZpbmUgQVVEVE9QX0NPTjIgICAgIDB4MDcwNAorI2RlZmluZSBBVURUT1BfQ09OMyAgICAgMHgwNzA2CisjZGVmaW5lIEFVRFRPUF9DT040ICAgICAweDA3MDgKKyNkZWZpbmUgQVVEVE9QX0NPTjUgICAgIDB4MDcwQQorI2RlZmluZSBBVURUT1BfQ09ONiAgICAgMHgwNzBDCisjZGVmaW5lIEFVRFRPUF9DT043ICAgICAweDA3MEUKKyNkZWZpbmUgQVVEVE9QX0NPTjggICAgIDB4MDcxMAorI2RlZmluZSBBVURUT1BfQ09OOSAgICAgMHgwNzEyCisjZGVmaW5lIEFVWEFEQ19BREMwICAgICAweDA3MTQKKyNkZWZpbmUgQVVYQURDX0FEQzEgICAgIDB4MDcxNgorI2RlZmluZSBBVVhBRENfQURDMiAgICAgMHgwNzE4CisjZGVmaW5lIEFVWEFEQ19BREMzICAgICAweDA3MUEKKyNkZWZpbmUgQVVYQURDX0FEQzQgICAgIDB4MDcxQworI2RlZmluZSBBVVhBRENfQURDNSAgICAgMHgwNzFFCisjZGVmaW5lIEFVWEFEQ19BREM2ICAgICAweDA3MjAKKyNkZWZpbmUgQVVYQURDX0FEQzcgICAgIDB4MDcyMgorI2RlZmluZSBBVVhBRENfQURDOCAgICAgMHgwNzI0CisjZGVmaW5lIEFVWEFEQ19BREM5ICAgICAweDA3MjYKKyNkZWZpbmUgQVVYQURDX0FEQzEwICAgIDB4MDcyOAorI2RlZmluZSBBVVhBRENfQURDMTEgICAgMHgwNzJBCisjZGVmaW5lIEFVWEFEQ19BREMxMiAgICAweDA3MkMKKyNkZWZpbmUgQVVYQURDX0FEQzEzICAgIDB4MDcyRQorI2RlZmluZSBBVVhBRENfQURDMTQgICAgMHgwNzMwCisjZGVmaW5lIEFVWEFEQ19BREMxNSAgICAweDA3MzIKKyNkZWZpbmUgQVVYQURDX0FEQzE2ICAgIDB4MDczNAorI2RlZmluZSBBVVhBRENfQURDMTcgICAgMHgwNzM2CisjZGVmaW5lIEFVWEFEQ19BREMxOCAgICAweDA3MzgKKyNkZWZpbmUgQVVYQURDX0FEQzE5ICAgIDB4MDczQQorI2RlZmluZSBBVVhBRENfQURDMjAgICAgMHgwNzNDCisjZGVmaW5lIEFVWEFEQ19SU1YxICAgICAweDA3M0UKKyNkZWZpbmUgQVVYQURDX1JTVjIgICAgIDB4MDc0MAorI2RlZmluZSBBVVhBRENfQ09OMCAgICAgMHgwNzQyCisjZGVmaW5lIEFVWEFEQ19DT04xICAgICAweDA3NDQKKyNkZWZpbmUgQVVYQURDX0NPTjIgICAgIDB4MDc0NgorI2RlZmluZSBBVVhBRENfQ09OMyAgICAgMHgwNzQ4CisjZGVmaW5lIEFVWEFEQ19DT040ICAgICAweDA3NEEKKyNkZWZpbmUgQVVYQURDX0NPTjUgICAgIDB4MDc0QworI2RlZmluZSBBVVhBRENfQ09ONiAgICAgMHgwNzRFCisjZGVmaW5lIEFVWEFEQ19DT043ICAgICAweDA3NTAKKyNkZWZpbmUgQVVYQURDX0NPTjggICAgIDB4MDc1MgorI2RlZmluZSBBVVhBRENfQ09OOSAgICAgMHgwNzU0CisjZGVmaW5lIEFVWEFEQ19DT04xMCAgICAweDA3NTYKKyNkZWZpbmUgQVVYQURDX0NPTjExICAgIDB4MDc1OAorI2RlZmluZSBBVVhBRENfQ09OMTIgICAgMHgwNzVBCisjZGVmaW5lIEFVWEFEQ19DT04xMyAgICAweDA3NUMKKyNkZWZpbmUgQVVYQURDX0NPTjE0ICAgIDB4MDc1RQorI2RlZmluZSBBVVhBRENfQ09OMTUgICAgMHgwNzYwCisjZGVmaW5lIEFVWEFEQ19DT04xNiAgICAweDA3NjIKKyNkZWZpbmUgQVVYQURDX0NPTjE3ICAgIDB4MDc2NAorI2RlZmluZSBBVVhBRENfQ09OMTggICAgMHgwNzY2CisjZGVmaW5lIEFVWEFEQ19DT04xOSAgICAweDA3NjgKKyNkZWZpbmUgQVVYQURDX0NPTjIwICAgIDB4MDc2QQorI2RlZmluZSBBVVhBRENfQ09OMjEgICAgMHgwNzZDCisjZGVmaW5lIEFVWEFEQ19DT04yMiAgICAweDA3NkUKKyNkZWZpbmUgQVVYQURDX0NPTjIzICAgIDB4MDc3MAorI2RlZmluZSBBVVhBRENfQ09OMjQgICAgMHgwNzcyCisjZGVmaW5lIEFVWEFEQ19DT04yNSAgICAweDA3NzQKKyNkZWZpbmUgQVVYQURDX0NPTjI2ICAgIDB4MDc3NgorI2RlZmluZSBBVVhBRENfQ09OMjcgICAgMHgwNzc4CisjZGVmaW5lIEFDQ0RFVF9DT04wICAgICAweDA3N0EKKyNkZWZpbmUgQUNDREVUX0NPTjEgICAgIDB4MDc3QworI2RlZmluZSBBQ0NERVRfQ09OMiAgICAgMHgwNzdFCisjZGVmaW5lIEFDQ0RFVF9DT04zICAgICAweDA3ODAKKyNkZWZpbmUgQUNDREVUX0NPTjQgICAgIDB4MDc4MgorI2RlZmluZSBBQ0NERVRfQ09ONSAgICAgMHgwNzg0CisjZGVmaW5lIEFDQ0RFVF9DT042ICAgICAweDA3ODYKKyNkZWZpbmUgQUNDREVUX0NPTjcgICAgIDB4MDc4OAorI2RlZmluZSBBQ0NERVRfQ09OOCAgICAgMHgwNzhBCisjZGVmaW5lIEFDQ0RFVF9DT045ICAgICAweDA3OEMKKyNkZWZpbmUgQUNDREVUX0NPTjEwICAgIDB4MDc4RQorI2RlZmluZSBBQ0NERVRfQ09OMTEgICAgMHgwNzkwCisjZGVmaW5lIEFDQ0RFVF9DT04xMiAgICAweDA3OTIKKyNkZWZpbmUgQUNDREVUX0NPTjEzICAgIDB4MDc5NAorI2RlZmluZSBBQ0NERVRfQ09OMTQgICAgMHgwNzk2CisjZGVmaW5lIEFDQ0RFVF9DT04xNSAgICAweDA3OTgKKyNkZWZpbmUgQUNDREVUX0NPTjE2ICAgIDB4MDc5QQorCisvL21hc2sgaXMgSEVYCisvL3NoaWZ0IGlzIEludGVnZXIKKyNkZWZpbmUgUkdfQ0xLU1FfRU5fQVVYX01EX01BU0sJMHgxCisjZGVmaW5lIFJHX0NMS1NRX0VOX0FVWF9NRF9TSElGVCAxNAorI2RlZmluZSBSR19WUEFfTU9ERVNFVF9NQVNLIDB4MQorI2RlZmluZSBSR19WUEFfTU9ERVNFVF9TSElGVCA4CisjZGVmaW5lIFZQQV9FTl9NQVNLIDB4MQorI2RlZmluZSBWUEFfRU5fU0hJRlQgMAorI2RlZmluZSBSR19TVEJfU0lNMV9TSU9fTUFTSyAweDEKKyNkZWZpbmUgUkdfU1RCX1NJTTFfU0lPX1NISUZUIDAKKyNkZWZpbmUgUkdfVlNJTTFfRU5fTUFTSyAweDEKKyNkZWZpbmUgUkdfVlNJTTFfRU5fU0hJRlQgMTUKKyNkZWZpbmUgVlNJTTFfTFBfTU9ERV9TRVRfTUFTSyAweDEKKyNkZWZpbmUgVlNJTTFfTFBfTU9ERV9TRVRfU0hJRlQgMQorI2RlZmluZSBWU0lNMV9MUF9TRUxfTUFTSyAweDEKKyNkZWZpbmUgVlNJTTFfTFBfU0VMX1NISUZUIDAKKyNkZWZpbmUgUkdfVlNJTTJfRU5fTUFTSyAweDEKKyNkZWZpbmUgUkdfVlNJTTJfRU5fU0hJRlQgMTUKKyNkZWZpbmUgVlNJTTJfTFBfTU9ERV9TRVRfTUFTSyAweDEKKyNkZWZpbmUgVlNJTTJfTFBfTU9ERV9TRVRfU0hJRlQgMQorI2RlZmluZSBWU0lNMl9MUF9TRUxfTUFTSyAweDEKKyNkZWZpbmUgVlNJTTJfTFBfU0VMX1NISUZUIDAKKyNkZWZpbmUgUkdfU1RCX1NJTTJfU0lPX01BU0sgMHgxCisjZGVmaW5lIFJHX1NUQl9TSU0yX1NJT19TSElGVCAwCisjZGVmaW5lIFJHX1ZTSU0xX1ZPU0VMX01BU0sgMHgxCisjZGVmaW5lIFJHX1ZTSU0xX1ZPU0VMX1NISUZUIDUKKyNkZWZpbmUgUkdfVlNJTTJfVk9TRUxfTUFTSyAweDEKKyNkZWZpbmUgUkdfVlNJTTJfVk9TRUxfU0hJRlQgNQorI2RlZmluZSBSR19WUkYxOF9FTl9NQVNLIDB4MQorI2RlZmluZSBSR19WUkYxOF9FTl9TSElGVCAxNQorI2RlZmluZSBWUkYxOF9MUF9NT0RFX1NFVF9NQVNLIDB4MQorI2RlZmluZSBWUkYxOF9MUF9NT0RFX1NFVF9TSElGVCAxCisjZGVmaW5lIFZSRjE4X0xQX1NFTF9NQVNLIDB4MQorI2RlZmluZSBWUkYxOF9MUF9TRUxfU0hJRlQgMAorI2RlZmluZSBWUkYxOF9PTl9DVFJMX01BU0sgMHgxCisjZGVmaW5lIFZSRjE4X09OX0NUUkxfU0hJRlQgMQorI2RlZmluZSBSR19BRENfT1VUX01EX01BU0sgMHhGRkZGCisjZGVmaW5lIFJHX0FEQ19PVVRfTURfU0hJRlQgMAorI2RlZmluZSBSR19BRENfUkRZX01EX01BU0sgMHgxCisjZGVmaW5lIFJHX0FEQ19SRFlfTURfU0hJRlQgMTUKKyNkZWZpbmUgUkdfTURfUlFTVF9NQVNLIDB4MQorI2RlZmluZSBSR19NRF9SUVNUX1NISUZUIDE1CisKKy8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLy8KKyNkZWZpbmUgR1BJT19ET1VUMV9TRVQgICAgICAweDAwODIKKyNkZWZpbmUgR1BJT19ET1VUMV9DTFIgICAgICAweDAwODQKKyNkZWZpbmUgR1BJT19ET1VUMl9TRVQgICAgICAweDAwOEEKKyNkZWZpbmUgR1BJT19ET1VUMl9DTFIgICAgICAweDAwOEMKKworI2RlZmluZSBHUElPMTVfRE9VVF9TRVRfTUFTSyAweDEKKyNkZWZpbmUgR1BJTzE1X0RPVVRfU0VUX1NISUZUIDE1CisjZGVmaW5lIEdQSU8xNV9ET1VUX0NMUl9NQVNLIDB4MQorI2RlZmluZSBHUElPMTVfRE9VVF9DTFJfU0hJRlQgMTUKKyNkZWZpbmUgR1BJTzE3X0RPVVRfU0VUX01BU0sgMHgxCisjZGVmaW5lIEdQSU8xN19ET1VUX1NFVF9TSElGVCAxCisjZGVmaW5lIEdQSU8xN19ET1VUX0NMUl9NQVNLIDB4MQorI2RlZmluZSBHUElPMTdfRE9VVF9DTFJfU0hJRlQgMQorCisjZW5kaWYgLy8gI2lmZGVmIFBNSUNfNjMyM19SRUdfQVBJCisjZW5kaWYgLy8gI2lmbmRlZiBfX0RDTF9QTUlDNjMyM19IV19IX1NUUlVDVF9fCisKZGlmZiAtLWdpdCBhL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvZGNsX3BtaWM2MzIzX3N3LmggYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL2RjbF9wbWljNjMyM19zdy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVkOWY2YmMKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL2RjbF9wbWljNjMyM19zdy5oCkBAIC0wLDAgKzEsMTIwIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTIKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4gCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRmlsZW5hbWU6CisgKiAtLS0tLS0tLS0KKyAqCQlkY2xfcG1pYzYzMjNfc3cuaAorICoKKyAqIFByb2plY3Q6CisgKiAtLS0tLS0tLQorICogICAJTWF1aV9Tb2Z0d2FyZQorICoKKyAqIERlc2NyaXB0aW9uOgorICogLS0tLS0tLS0tLS0tCisgKgkJVGhpcyBmaWxlIGlzIGZvciBQTUlDIDYzMjMKKyAqCisgKiBBdXRob3I6CisgKiAtLS0tLS0tCisgKiAtLS0tLS0tCisgKgorICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKiAgICAgICAgICAgICBISVNUT1JZCisgKiBCZWxvdyB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiBVcHBlciB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyAKKyNpZm5kZWYgX19EQ0xfUE1JQzYzMjNfU1dfSF9TVFJVQ1RfXworI2RlZmluZSBfX0RDTF9QTUlDNjMyM19TV19IX1NUUlVDVF9fCisKKyNpbmNsdWRlICJkY2xfcG1pY19mZWF0dXJlcy5oIgorCisjaWZkZWYgUE1JQ182MzIzX1JFR19BUEkKKworI2RlZmluZSBQTUlDNjMyM19FQ09fMV9WRVJTSU9OCQkweDAxCisjZGVmaW5lIFBNSUM2MzIzX0VDT18yX1ZFUlNJT04JCTB4MDIKKworLy8gQ29tYmluYXRpb25hbCBmdW5jdGlvbnMKK2V4dGVybiB2b2lkIHBtaWM2MzIzX2N1c3RvbWl6YXRpb25faW5pdCh2b2lkKTsKKwordHlwZWRlZiBlbnVtCit7CisgICAgUkdfVlBBX01PREVTRVQsCisgICAgVlBBX0VOLAorICAgIFJHX1NUQl9TSU0xX1NJTywKKyAgICBSR19WU0lNMV9FTiwKKyAgICBWU0lNMV9MUF9NT0RFX1NFVCwKKyAgICBWU0lNMV9MUF9TRUwsCisgICAgUkdfVlNJTTJfRU4sCisgICAgVlNJTTJfTFBfTU9ERV9TRVQsCisgICAgVlNJTTJfTFBfU0VMLAorICAgIFJHX1NUQl9TSU0yX1NJTywKKyAgICBSR19WU0lNMV9WT1NFTCwKKyAgICBSR19WU0lNMl9WT1NFTCwKKyAgICBSR19WUkYxOF9FTiwKKyAgICBWUkYxOF9MUF9NT0RFX1NFVCwKKyAgICBWUkYxOF9MUF9TRUwsCisgICAgVlJGMThfT05fQ1RSTCwKKyAgICBSR19BRENfT1VUX01ELAorICAgIFJHX0FEQ19SRFlfTUQsCisgICAgUkdfTURfUlFTVCwKKyAgICBHUElPMTVfRE9VVF9TRVQsCisgICAgR1BJTzE1X0RPVVRfQ0xSLAorICAgIEdQSU8xN19ET1VUX1NFVCwKKyAgICBHUElPMTdfRE9VVF9DTFIsICAgIAorfVBNSUNfRkxBR1NfTElTVF9FTlVNOworCisjZW5kaWYgLy8gI2lmZGVmIFBNSUNfNjMyM19SRUdfQVBJCisjZW5kaWYgLy8gI2lmbmRlZiBfX0RDTF9QTUlDNjMyM19TV19IX1NUUlVDVF9fCisKZGlmZiAtLWdpdCBhL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvZGNsX3BtaWM2MzI1X2h3LmggYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL2RjbF9wbWljNjMyNV9ody5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFkMDUwYTkKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL2RjbF9wbWljNjMyNV9ody5oCkBAIC0wLDAgKzEsNjgyMiBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE0CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRmlsZW5hbWU6CisgKiAtLS0tLS0tLS0KKyAqICAgICBkY2xfcG1pYzYzMjVfaHcuaAorICoKKyAqIFByb2plY3Q6CisgKiAtLS0tLS0tLQorICogICAgIE1PTFkgU29mdHdhcmUKKyAqCisgKiBEZXNjcmlwdGlvbjoKKyAqIC0tLS0tLS0tLS0tLQorICogICAgIFRoaXMgZmlsZSBpcyBmb3IgUE1JQyA2MzI1CisgKgorICogQXV0aG9yOgorICogLS0tLS0tLQorICogLS0tLS0tLQorICoKKyAqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICogSElTVE9SWQorICogQmVsb3cgdGhpcyBsaW5lLCB0aGlzIHBhcnQgaXMgY29udHJvbGxlZCBieSBQVkNTIFZNLiBETyBOT1QgTU9ESUZZISEKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogVXBwZXIgdGhpcyBsaW5lLCB0aGlzIHBhcnQgaXMgY29udHJvbGxlZCBieSBQVkNTIFZNLiBETyBOT1QgTU9ESUZZISEKKyAqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZm5kZWYgX19EQ0xfUE1JQzYzMjVfSFdfSF9TVFJVQ1RfXworI2RlZmluZSBfX0RDTF9QTUlDNjMyNV9IV19IX1NUUlVDVF9fCisKKyNpbmNsdWRlICJkY2xfcG1pY19mZWF0dXJlcy5oIgorCisjaWZkZWYgUE1JQ182MzI1X1JFR19BUEkKKworI2RlZmluZSBNVDYzMjVfUE1JQ19SRUdfQkFTRSAJKDB4MDAwMCkKKworI2RlZmluZSBNVDYzMjVfU1RSVVBfQ09OMCAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMDAwKQorI2RlZmluZSBNVDYzMjVfU1RSVVBfQ09OMiAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMDAyKQorI2RlZmluZSBNVDYzMjVfU1RSVVBfQ09OMyAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMDA0KQorI2RlZmluZSBNVDYzMjVfU1RSVVBfQ09ONCAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMDA2KQorI2RlZmluZSBNVDYzMjVfU1RSVVBfQ09ONSAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMDA4KQorI2RlZmluZSBNVDYzMjVfU1RSVVBfQ09ONiAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMDBBKQorI2RlZmluZSBNVDYzMjVfU1RSVVBfQ09ONyAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMDBDKQorI2RlZmluZSBNVDYzMjVfU1RSVVBfQ09OOCAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMDBFKQorI2RlZmluZSBNVDYzMjVfU1RSVVBfQ09OOSAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMDEwKQorI2RlZmluZSBNVDYzMjVfU1RSVVBfQ09OMTAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMDEyKQorI2RlZmluZSBNVDYzMjVfU1RSVVBfQ09OMTEgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMDE0KQorI2RlZmluZSBNVDYzMjVfU1RSVVBfQ09OMTIgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMDE2KQorI2RlZmluZSBNVDYzMjVfU1RSVVBfQ09OMTMgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMDE4KQorI2RlZmluZSBNVDYzMjVfU1RSVVBfQ09OMTQgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMDFBKQorI2RlZmluZSBNVDYzMjVfU1RSVVBfQ09OMTUgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMDFDKQorI2RlZmluZSBNVDYzMjVfU1RSVVBfQ09OMTYgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMDFFKQorI2RlZmluZSBNVDYzMjVfU1RSVVBfQ09OMTcgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMDIwKQorI2RlZmluZSBNVDYzMjVfU1RSVVBfQ09OMTggICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMDIyKQorI2RlZmluZSBNVDYzMjVfU1RSVVBfQ09OMTkgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMDI0KQorI2RlZmluZSBNVDYzMjVfU1RSVVBfQ09OMjAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMDI2KQorI2RlZmluZSBNVDYzMjVfU1RSVVBfQ09OMjEgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMDI4KQorI2RlZmluZSBNVDYzMjVfU1RSVVBfQ09OMjIgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMDJBKQorI2RlZmluZSBNVDYzMjVfU1RSVVBfQ09OMjMgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMDJDKQorI2RlZmluZSBNVDYzMjVfU1RSVVBfQU5BX0NPTjAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMDJFKQorI2RlZmluZSBNVDYzMjVfSFdDSUQgICAgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjAwKQorI2RlZmluZSBNVDYzMjVfU1dDSUQgICAgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjAyKQorI2RlZmluZSBNVDYzMjVfVE9QX0NPTiAgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjA0KQorI2RlZmluZSBNVDYzMjVfVEVTVF9PVVQgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjA2KQorI2RlZmluZSBNVDYzMjVfVEVTVF9DT04wICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjA4KQorI2RlZmluZSBNVDYzMjVfVEVTVF9DT04xICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjBBKQorI2RlZmluZSBNVDYzMjVfVEVTVE1PREVfU1cgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjBDKQorI2RlZmluZSBNVDYzMjVfRU5fU1RBVFVTMCAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjBFKQorI2RlZmluZSBNVDYzMjVfRU5fU1RBVFVTMSAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjEwKQorI2RlZmluZSBNVDYzMjVfRU5fU1RBVFVTMiAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjEyKQorI2RlZmluZSBNVDYzMjVfT0NTVEFUVVMwICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjE0KQorI2RlZmluZSBNVDYzMjVfT0NTVEFUVVMxICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjE2KQorI2RlZmluZSBNVDYzMjVfT0NTVEFUVVMyICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjE4KQorI2RlZmluZSBNVDYzMjVfUEdTVEFUVVMgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjFBKQorI2RlZmluZSBNVDYzMjVfVE9QU1RBVFVTICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjFDKQorI2RlZmluZSBNVDYzMjVfVERTRUxfQ09OICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjFFKQorI2RlZmluZSBNVDYzMjVfUkRTRUxfQ09OICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjIwKQorI2RlZmluZSBNVDYzMjVfU01UX0NPTjAgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjIyKQorI2RlZmluZSBNVDYzMjVfU01UX0NPTjEgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjI0KQorI2RlZmluZSBNVDYzMjVfU01UX0NPTjIgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjI2KQorI2RlZmluZSBNVDYzMjVfRFJWX0NPTjAgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjI4KQorI2RlZmluZSBNVDYzMjVfRFJWX0NPTjEgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjJBKQorI2RlZmluZSBNVDYzMjVfRFJWX0NPTjIgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjJDKQorI2RlZmluZSBNVDYzMjVfRFJWX0NPTjMgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjJFKQorI2RlZmluZSBNVDYzMjVfVE9QX1NUQVRVUyAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjMwKQorI2RlZmluZSBNVDYzMjVfVE9QX1NUQVRVU19TRVQgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjMyKQorI2RlZmluZSBNVDYzMjVfVE9QX1NUQVRVU19DTFIgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjM0KQorI2RlZmluZSBNVDYzMjVfUkdTX0FOQV9NT04gICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjM2KQorI2RlZmluZSBNVDYzMjVfVE9QX0NLUEROX0NPTjAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjM4KQorI2RlZmluZSBNVDYzMjVfVE9QX0NLUEROX0NPTjBfU0VUICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjNBKQorI2RlZmluZSBNVDYzMjVfVE9QX0NLUEROX0NPTjBfQ0xSICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjNDKQorI2RlZmluZSBNVDYzMjVfVE9QX0NLUEROX0NPTjEgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjNFKQorI2RlZmluZSBNVDYzMjVfVE9QX0NLUEROX0NPTjFfU0VUICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjQwKQorI2RlZmluZSBNVDYzMjVfVE9QX0NLUEROX0NPTjFfQ0xSICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjQyKQorI2RlZmluZSBNVDYzMjVfVE9QX0NLUEROX0NPTjIgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjQ0KQorI2RlZmluZSBNVDYzMjVfVE9QX0NLUEROX0NPTjJfU0VUICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjQ2KQorI2RlZmluZSBNVDYzMjVfVE9QX0NLUEROX0NPTjJfQ0xSICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjQ4KQorI2RlZmluZSBNVDYzMjVfVE9QX0NLUEROX0NPTjMgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjRBKQorI2RlZmluZSBNVDYzMjVfVE9QX0NLUEROX0NPTjNfU0VUICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjRDKQorI2RlZmluZSBNVDYzMjVfVE9QX0NLUEROX0NPTjNfQ0xSICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjRFKQorI2RlZmluZSBNVDYzMjVfVE9QX0NLU0VMX0NPTjAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjUwKQorI2RlZmluZSBNVDYzMjVfVE9QX0NLU0VMX0NPTjBfU0VUICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjUyKQorI2RlZmluZSBNVDYzMjVfVE9QX0NLU0VMX0NPTjBfQ0xSICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjU0KQorI2RlZmluZSBNVDYzMjVfVE9QX0NLU0VMX0NPTjEgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjU2KQorI2RlZmluZSBNVDYzMjVfVE9QX0NLU0VMX0NPTjFfU0VUICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjU4KQorI2RlZmluZSBNVDYzMjVfVE9QX0NLU0VMX0NPTjFfQ0xSICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjVBKQorI2RlZmluZSBNVDYzMjVfVE9QX0NLU0VMX0NPTjIgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjVDKQorI2RlZmluZSBNVDYzMjVfVE9QX0NLU0VMX0NPTjJfU0VUICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjVFKQorI2RlZmluZSBNVDYzMjVfVE9QX0NLU0VMX0NPTjJfQ0xSICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjYwKQorI2RlZmluZSBNVDYzMjVfVE9QX0NLRElWU0VMX0NPTiAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjYyKQorI2RlZmluZSBNVDYzMjVfVE9QX0NLRElWU0VMX0NPTl9TRVQgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjY0KQorI2RlZmluZSBNVDYzMjVfVE9QX0NLRElWU0VMX0NPTl9DTFIgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjY2KQorI2RlZmluZSBNVDYzMjVfVE9QX0NLSFdFTl9DT04gICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjY4KQorI2RlZmluZSBNVDYzMjVfVE9QX0NLSFdFTl9DT05fU0VUICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjZBKQorI2RlZmluZSBNVDYzMjVfVE9QX0NLSFdFTl9DT05fQ0xSICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjZDKQorI2RlZmluZSBNVDYzMjVfVE9QX0NLVFNUX0NPTjAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjZFKQorI2RlZmluZSBNVDYzMjVfVE9QX0NLVFNUX0NPTjEgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjcwKQorI2RlZmluZSBNVDYzMjVfVE9QX0NLVFNUX0NPTjIgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjcyKQorI2RlZmluZSBNVDYzMjVfVE9QX0NMS1NRICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjc0KQorI2RlZmluZSBNVDYzMjVfVE9QX0NMS1NRX1NFVCAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjc2KQorI2RlZmluZSBNVDYzMjVfVE9QX0NMS1NRX0NMUiAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjc4KQorI2RlZmluZSBNVDYzMjVfVE9QX0NMS1NRX1JUQyAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjdBKQorI2RlZmluZSBNVDYzMjVfVE9QX0NMS1NRX1JUQ19TRVQgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjdDKQorI2RlZmluZSBNVDYzMjVfVE9QX0NMS1NRX1JUQ19DTFIgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjdFKQorI2RlZmluZSBNVDYzMjVfVE9QX0NMS19UUklNICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjgwKQorI2RlZmluZSBNVDYzMjVfVE9QX1JTVF9DT04wICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjgyKQorI2RlZmluZSBNVDYzMjVfVE9QX1JTVF9DT04wX1NFVCAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjg0KQorI2RlZmluZSBNVDYzMjVfVE9QX1JTVF9DT04wX0NMUiAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjg2KQorI2RlZmluZSBNVDYzMjVfVE9QX1JTVF9DT04xICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjg4KQorI2RlZmluZSBNVDYzMjVfVE9QX1JTVF9NSVNDICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjhBKQorI2RlZmluZSBNVDYzMjVfVE9QX1JTVF9NSVNDX1NFVCAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjhDKQorI2RlZmluZSBNVDYzMjVfVE9QX1JTVF9NSVNDX0NMUiAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjhFKQorI2RlZmluZSBNVDYzMjVfVE9QX1JTVF9TVEFUVVMgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjkwKQorI2RlZmluZSBNVDYzMjVfVE9QX1JTVF9TVEFUVVNfU0VUICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjkyKQorI2RlZmluZSBNVDYzMjVfVE9QX1JTVF9TVEFUVVNfQ0xSICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjk0KQorI2RlZmluZSBNVDYzMjVfSU5UX0NPTjAgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjk2KQorI2RlZmluZSBNVDYzMjVfSU5UX0NPTjBfU0VUICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjk4KQorI2RlZmluZSBNVDYzMjVfSU5UX0NPTjBfQ0xSICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjlBKQorI2RlZmluZSBNVDYzMjVfSU5UX0NPTjEgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjlDKQorI2RlZmluZSBNVDYzMjVfSU5UX0NPTjFfU0VUICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMjlFKQorI2RlZmluZSBNVDYzMjVfSU5UX0NPTjFfQ0xSICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMkEwKQorI2RlZmluZSBNVDYzMjVfSU5UX0NPTjIgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMkEyKQorI2RlZmluZSBNVDYzMjVfSU5UX0NPTjJfU0VUICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMkE0KQorI2RlZmluZSBNVDYzMjVfSU5UX0NPTjJfQ0xSICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMkE2KQorI2RlZmluZSBNVDYzMjVfSU5UX01JU0NfQ09OICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMkE4KQorI2RlZmluZSBNVDYzMjVfSU5UX01JU0NfQ09OX1NFVCAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMkFBKQorI2RlZmluZSBNVDYzMjVfSU5UX01JU0NfQ09OX0NMUiAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMkFDKQorI2RlZmluZSBNVDYzMjVfSU5UX1NUQVRVUzAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMkFFKQorI2RlZmluZSBNVDYzMjVfSU5UX1NUQVRVUzEgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMkIwKQorI2RlZmluZSBNVDYzMjVfSU5UX1NUQVRVUzIgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMkIyKQorI2RlZmluZSBNVDYzMjVfT0NfR0VBUl8wICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMkI0KQorI2RlZmluZSBNVDYzMjVfRlFNVFJfQ09OMCAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMkI2KQorI2RlZmluZSBNVDYzMjVfRlFNVFJfQ09OMSAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMkI4KQorI2RlZmluZSBNVDYzMjVfRlFNVFJfQ09OMiAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMkJBKQorI2RlZmluZSBNVDYzMjVfUkdfU1BJX0NPTiAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMkJDKQorI2RlZmluZSBNVDYzMjVfREVXX0RJT19FTiAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMkJFKQorI2RlZmluZSBNVDYzMjVfREVXX1JFQURfVEVTVCAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMkMwKQorI2RlZmluZSBNVDYzMjVfREVXX1dSSVRFX1RFU1QgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMkMyKQorI2RlZmluZSBNVDYzMjVfREVXX0NSQ19TV1JTVCAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMkM0KQorI2RlZmluZSBNVDYzMjVfREVXX0NSQ19FTiAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMkM2KQorI2RlZmluZSBNVDYzMjVfREVXX0NSQ19WQUwgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMkM4KQorI2RlZmluZSBNVDYzMjVfREVXX0RCR19NT05fU0VMICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMkNBKQorI2RlZmluZSBNVDYzMjVfREVXX0NJUEhFUl9LRVlfU0VMICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMkNDKQorI2RlZmluZSBNVDYzMjVfREVXX0NJUEhFUl9JVl9TRUwgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMkNFKQorI2RlZmluZSBNVDYzMjVfREVXX0NJUEhFUl9FTiAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMkQwKQorI2RlZmluZSBNVDYzMjVfREVXX0NJUEhFUl9SRFkgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMkQyKQorI2RlZmluZSBNVDYzMjVfREVXX0NJUEhFUl9NT0RFICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMkQ0KQorI2RlZmluZSBNVDYzMjVfREVXX0NJUEhFUl9TV1JTVCAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMkQ2KQorI2RlZmluZSBNVDYzMjVfREVXX1JERE1ZX05PICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMkQ4KQorI2RlZmluZSBNVDYzMjVfSU5UX1RZUEVfQ09OMCAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMkRBKQorI2RlZmluZSBNVDYzMjVfSU5UX1RZUEVfQ09OMF9TRVQgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMkRDKQorI2RlZmluZSBNVDYzMjVfSU5UX1RZUEVfQ09OMF9DTFIgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMkRFKQorI2RlZmluZSBNVDYzMjVfSU5UX1RZUEVfQ09OMSAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMkUwKQorI2RlZmluZSBNVDYzMjVfSU5UX1RZUEVfQ09OMV9TRVQgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMkUyKQorI2RlZmluZSBNVDYzMjVfSU5UX1RZUEVfQ09OMV9DTFIgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMkU0KQorI2RlZmluZSBNVDYzMjVfSU5UX1RZUEVfQ09OMiAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMkU2KQorI2RlZmluZSBNVDYzMjVfSU5UX1RZUEVfQ09OMl9TRVQgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMkU4KQorI2RlZmluZSBNVDYzMjVfSU5UX1RZUEVfQ09OMl9DTFIgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMkVBKQorI2RlZmluZSBNVDYzMjVfSU5UX1NUQSAgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwMkVDKQorI2RlZmluZSBNVDYzMjVfQlVDS19BTExfQ09OMCAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDAwKQorI2RlZmluZSBNVDYzMjVfQlVDS19BTExfQ09OMSAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDAyKQorI2RlZmluZSBNVDYzMjVfQlVDS19BTExfQ09OMiAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDA0KQorI2RlZmluZSBNVDYzMjVfQlVDS19BTExfQ09OMyAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDA2KQorI2RlZmluZSBNVDYzMjVfQlVDS19BTExfQ09ONCAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDA4KQorI2RlZmluZSBNVDYzMjVfQlVDS19BTExfQ09ONSAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDBBKQorI2RlZmluZSBNVDYzMjVfQlVDS19BTExfQ09ONiAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDBDKQorI2RlZmluZSBNVDYzMjVfQlVDS19BTExfQ09ONyAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDBFKQorI2RlZmluZSBNVDYzMjVfQlVDS19BTExfQ09OOCAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDEwKQorI2RlZmluZSBNVDYzMjVfQlVDS19BTExfQ09OOSAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDEyKQorI2RlZmluZSBNVDYzMjVfQlVDS19BTExfQ09OMTAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDE0KQorI2RlZmluZSBNVDYzMjVfQlVDS19BTExfQ09OMTEgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDE2KQorI2RlZmluZSBNVDYzMjVfQlVDS19BTExfQ09OMTIgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDE4KQorI2RlZmluZSBNVDYzMjVfQlVDS19BTExfQ09OMTMgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDFBKQorI2RlZmluZSBNVDYzMjVfQlVDS19BTExfQ09OMTQgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDFDKQorI2RlZmluZSBNVDYzMjVfQlVDS19BTExfQ09OMTUgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDFFKQorI2RlZmluZSBNVDYzMjVfQlVDS19BTExfQ09OMTYgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDIwKQorI2RlZmluZSBNVDYzMjVfQlVDS19BTExfQ09OMTcgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDIyKQorI2RlZmluZSBNVDYzMjVfQlVDS19BTExfQ09OMTggICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDI0KQorI2RlZmluZSBNVDYzMjVfQlVDS19BTExfQ09OMTkgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDI2KQorI2RlZmluZSBNVDYzMjVfQlVDS19BTExfQ09OMjAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDI4KQorI2RlZmluZSBNVDYzMjVfQlVDS19BTExfQ09OMjEgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDJBKQorI2RlZmluZSBNVDYzMjVfQlVDS19BTExfQ09OMjIgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDJDKQorI2RlZmluZSBNVDYzMjVfQlVDS19BTExfQ09OMjMgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDJFKQorI2RlZmluZSBNVDYzMjVfQlVDS19BTExfQ09OMjQgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDMwKQorI2RlZmluZSBNVDYzMjVfQlVDS19BTExfQ09OMjUgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDMyKQorI2RlZmluZSBNVDYzMjVfQlVDS19BTExfQ09OMjYgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDM0KQorI2RlZmluZSBNVDYzMjVfQlVDS19BTExfQ09OMjcgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDM2KQorI2RlZmluZSBNVDYzMjVfQlVDS19BTExfQ09OMjggICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDM4KQorI2RlZmluZSBNVDYzMjVfVkRSQU1fQU5BX0NPTjAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDNBKQorI2RlZmluZSBNVDYzMjVfVkRSQU1fQU5BX0NPTjEgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDNDKQorI2RlZmluZSBNVDYzMjVfVkRSQU1fQU5BX0NPTjIgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDNFKQorI2RlZmluZSBNVDYzMjVfVkRSQU1fQU5BX0NPTjMgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDQwKQorI2RlZmluZSBNVDYzMjVfVkRSQU1fQU5BX0NPTjQgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDQyKQorI2RlZmluZSBNVDYzMjVfVkNPUkUxX0FOQV9DT04wICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDQ0KQorI2RlZmluZSBNVDYzMjVfVkNPUkUxX0FOQV9DT04xICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDQ2KQorI2RlZmluZSBNVDYzMjVfVkNPUkUxX0FOQV9DT04yICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDQ4KQorI2RlZmluZSBNVDYzMjVfVkNPUkUxX0FOQV9DT04zICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDRBKQorI2RlZmluZSBNVDYzMjVfVkNPUkUxX0FOQV9DT040ICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDRDKQorI2RlZmluZSBNVDYzMjVfU01QU19UT1BfQU5BX0NPTjAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDRFKQorI2RlZmluZSBNVDYzMjVfU01QU19UT1BfQU5BX0NPTjEgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDUwKQorI2RlZmluZSBNVDYzMjVfU01QU19UT1BfQU5BX0NPTjIgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDUyKQorI2RlZmluZSBNVDYzMjVfU01QU19UT1BfQU5BX0NPTjMgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDU0KQorI2RlZmluZSBNVDYzMjVfU01QU19UT1BfQU5BX0NPTjQgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDU2KQorI2RlZmluZSBNVDYzMjVfU01QU19UT1BfQU5BX0NPTjUgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDU4KQorI2RlZmluZSBNVDYzMjVfU01QU19UT1BfQU5BX0NPTjYgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDVBKQorI2RlZmluZSBNVDYzMjVfU01QU19UT1BfQU5BX0NPTjcgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDVDKQorI2RlZmluZSBNVDYzMjVfU01QU19UT1BfQU5BX0NPTjggICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDVFKQorI2RlZmluZSBNVDYzMjVfU01QU19UT1BfQU5BX0NPTjkgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDYwKQorI2RlZmluZSBNVDYzMjVfVkRWRlMxX0FOQV9DT04wICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDYyKQorI2RlZmluZSBNVDYzMjVfVkRWRlMxX0FOQV9DT04xICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDY0KQorI2RlZmluZSBNVDYzMjVfVkRWRlMxX0FOQV9DT04yICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDY2KQorI2RlZmluZSBNVDYzMjVfVkRWRlMxX0FOQV9DT04zICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDY4KQorI2RlZmluZSBNVDYzMjVfVkRWRlMxX0FOQV9DT040ICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDZBKQorI2RlZmluZSBNVDYzMjVfVkRWRlMxX0FOQV9DT041ICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDZDKQorI2RlZmluZSBNVDYzMjVfVkRWRlMxX0FOQV9DT042ICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDZFKQorI2RlZmluZSBNVDYzMjVfVkRWRlMxX0FOQV9DT043ICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDcwKQorI2RlZmluZSBNVDYzMjVfVkdQVV9BTkFfQ09OMCAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDcyKQorI2RlZmluZSBNVDYzMjVfVkdQVV9BTkFfQ09OMSAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDc0KQorI2RlZmluZSBNVDYzMjVfVkdQVV9BTkFfQ09OMiAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDc2KQorI2RlZmluZSBNVDYzMjVfVkdQVV9BTkFfQ09OMyAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDc4KQorI2RlZmluZSBNVDYzMjVfVkdQVV9BTkFfQ09ONCAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDdBKQorI2RlZmluZSBNVDYzMjVfVlBBX0FOQV9DT04wICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDdDKQorI2RlZmluZSBNVDYzMjVfVlBBX0FOQV9DT04xICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDdFKQorI2RlZmluZSBNVDYzMjVfVlBBX0FOQV9DT04yICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDgwKQorI2RlZmluZSBNVDYzMjVfVlBBX0FOQV9DT04zICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDgyKQorI2RlZmluZSBNVDYzMjVfVkNPUkUyX0FOQV9DT04wICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDg0KQorI2RlZmluZSBNVDYzMjVfVkNPUkUyX0FOQV9DT04xICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDg2KQorI2RlZmluZSBNVDYzMjVfVkNPUkUyX0FOQV9DT04yICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDg4KQorI2RlZmluZSBNVDYzMjVfVkNPUkUyX0FOQV9DT04zICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDhBKQorI2RlZmluZSBNVDYzMjVfVkNPUkUyX0FOQV9DT040ICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDhDKQorI2RlZmluZSBNVDYzMjVfVklPMThfQU5BX0NPTjAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDhFKQorI2RlZmluZSBNVDYzMjVfVklPMThfQU5BX0NPTjEgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDkwKQorI2RlZmluZSBNVDYzMjVfVklPMThfQU5BX0NPTjIgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDkyKQorI2RlZmluZSBNVDYzMjVfVklPMThfQU5BX0NPTjMgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDk0KQorI2RlZmluZSBNVDYzMjVfVklPMThfQU5BX0NPTjQgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDk2KQorI2RlZmluZSBNVDYzMjVfVlJGMThfMF9BTkFfQ09OMCAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDk4KQorI2RlZmluZSBNVDYzMjVfVlJGMThfMF9BTkFfQ09OMSAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDlBKQorI2RlZmluZSBNVDYzMjVfVlJGMThfMF9BTkFfQ09OMiAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDlDKQorI2RlZmluZSBNVDYzMjVfVlJGMThfMF9BTkFfQ09OMyAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNDlFKQorI2RlZmluZSBNVDYzMjVfVlJGMThfMF9BTkFfQ09ONCAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNEEwKQorI2RlZmluZSBNVDYzMjVfVkRWRlMxMV9DT04wICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNEEyKQorI2RlZmluZSBNVDYzMjVfVkRWRlMxMV9DT043ICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNEIwKQorI2RlZmluZSBNVDYzMjVfVkRWRlMxMV9DT044ICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNEIyKQorI2RlZmluZSBNVDYzMjVfVkRWRlMxMV9DT045ICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNEI0KQorI2RlZmluZSBNVDYzMjVfVkRWRlMxMV9DT04xMCAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNEI2KQorI2RlZmluZSBNVDYzMjVfVkRWRlMxMV9DT04xMSAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNEI4KQorI2RlZmluZSBNVDYzMjVfVkRWRlMxMV9DT04xMiAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNEJBKQorI2RlZmluZSBNVDYzMjVfVkRWRlMxMV9DT04xMyAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNEJDKQorI2RlZmluZSBNVDYzMjVfVkRWRlMxMV9DT04xNCAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNEJFKQorI2RlZmluZSBNVDYzMjVfVkRWRlMxMV9DT04xOCAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNEM2KQorI2RlZmluZSBNVDYzMjVfVkRWRlMxMl9DT04wICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNEM4KQorI2RlZmluZSBNVDYzMjVfVkRWRlMxMl9DT043ICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNEQ2KQorI2RlZmluZSBNVDYzMjVfVkRWRlMxMl9DT044ICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNEQ4KQorI2RlZmluZSBNVDYzMjVfVkRWRlMxMl9DT045ICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNERBKQorI2RlZmluZSBNVDYzMjVfVkRWRlMxMl9DT04xMCAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNERDKQorI2RlZmluZSBNVDYzMjVfVkRWRlMxMl9DT04xMSAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNERFKQorI2RlZmluZSBNVDYzMjVfVkRWRlMxMl9DT04xMiAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNEUwKQorI2RlZmluZSBNVDYzMjVfVkRWRlMxMl9DT04xMyAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNEUyKQorI2RlZmluZSBNVDYzMjVfVkRWRlMxMl9DT04xNCAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNEU0KQorI2RlZmluZSBNVDYzMjVfVkRWRlMxMl9DT04xOCAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNEVDKQorI2RlZmluZSBNVDYzMjVfVlNSQU1fRFZGUzFfQ09OMCAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNEVFKQorI2RlZmluZSBNVDYzMjVfVlNSQU1fRFZGUzFfQ09ONyAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNEZDKQorI2RlZmluZSBNVDYzMjVfVlNSQU1fRFZGUzFfQ09OOCAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNEZFKQorI2RlZmluZSBNVDYzMjVfVlNSQU1fRFZGUzFfQ09OOSAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNTAwKQorI2RlZmluZSBNVDYzMjVfVlNSQU1fRFZGUzFfQ09OMTAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNTAyKQorI2RlZmluZSBNVDYzMjVfVlNSQU1fRFZGUzFfQ09OMTEgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNTA0KQorI2RlZmluZSBNVDYzMjVfVlNSQU1fRFZGUzFfQ09OMTIgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNTA2KQorI2RlZmluZSBNVDYzMjVfVlNSQU1fRFZGUzFfQ09OMTMgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNTA4KQorI2RlZmluZSBNVDYzMjVfVlNSQU1fRFZGUzFfQ09OMTQgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNTBBKQorI2RlZmluZSBNVDYzMjVfVlNSQU1fRFZGUzFfQ09OMTggICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNTEyKQorI2RlZmluZSBNVDYzMjVfVkRSQU1fQ09OMCAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNTE0KQorI2RlZmluZSBNVDYzMjVfVkRSQU1fQ09ONyAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNTIyKQorI2RlZmluZSBNVDYzMjVfVkRSQU1fQ09OOCAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNTI0KQorI2RlZmluZSBNVDYzMjVfVkRSQU1fQ09OOSAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNTI2KQorI2RlZmluZSBNVDYzMjVfVkRSQU1fQ09OMTAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNTI4KQorI2RlZmluZSBNVDYzMjVfVkRSQU1fQ09OMTEgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNTJBKQorI2RlZmluZSBNVDYzMjVfVkRSQU1fQ09OMTIgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNTJDKQorI2RlZmluZSBNVDYzMjVfVkRSQU1fQ09OMTMgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNTJFKQorI2RlZmluZSBNVDYzMjVfVkRSQU1fQ09OMTQgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNTMwKQorI2RlZmluZSBNVDYzMjVfVkRSQU1fQ09OMTUgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNTMyKQorI2RlZmluZSBNVDYzMjVfVkRSQU1fQ09OMTggICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNTM4KQorI2RlZmluZSBNVDYzMjVfVlJGMThfMF9DT04wICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNTNBKQorI2RlZmluZSBNVDYzMjVfVlJGMThfMF9DT043ICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNTQ4KQorI2RlZmluZSBNVDYzMjVfVlJGMThfMF9DT044ICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNTRBKQorI2RlZmluZSBNVDYzMjVfVlJGMThfMF9DT045ICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNTRDKQorI2RlZmluZSBNVDYzMjVfVlJGMThfMF9DT04xMCAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNTRFKQorI2RlZmluZSBNVDYzMjVfVlJGMThfMF9DT04xMSAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNTUwKQorI2RlZmluZSBNVDYzMjVfVlJGMThfMF9DT04xMiAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNTUyKQorI2RlZmluZSBNVDYzMjVfVlJGMThfMF9DT04xMyAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNTU0KQorI2RlZmluZSBNVDYzMjVfVlJGMThfMF9DT04xNCAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNTU2KQorI2RlZmluZSBNVDYzMjVfVlJGMThfMF9DT04xNSAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNTU4KQorI2RlZmluZSBNVDYzMjVfVlJGMThfMF9DT04xOCAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNTVFKQorI2RlZmluZSBNVDYzMjVfVkdQVV9DT04wICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNjAwKQorI2RlZmluZSBNVDYzMjVfVkdQVV9DT043ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNjBFKQorI2RlZmluZSBNVDYzMjVfVkdQVV9DT044ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNjEwKQorI2RlZmluZSBNVDYzMjVfVkdQVV9DT045ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNjEyKQorI2RlZmluZSBNVDYzMjVfVkdQVV9DT04xMCAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNjE0KQorI2RlZmluZSBNVDYzMjVfVkdQVV9DT04xMSAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNjE2KQorI2RlZmluZSBNVDYzMjVfVkdQVV9DT04xMiAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNjE4KQorI2RlZmluZSBNVDYzMjVfVkdQVV9DT04xMyAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNjFBKQorI2RlZmluZSBNVDYzMjVfVkdQVV9DT04xNCAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNjFDKQorI2RlZmluZSBNVDYzMjVfVkdQVV9DT04xNSAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNjFFKQorI2RlZmluZSBNVDYzMjVfVkdQVV9DT04xNiAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNjIwKQorI2RlZmluZSBNVDYzMjVfVkdQVV9DT04xNyAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNjIyKQorI2RlZmluZSBNVDYzMjVfVkdQVV9DT04xOCAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNjI0KQorI2RlZmluZSBNVDYzMjVfVkNPUkUxX0NPTjAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNjI2KQorI2RlZmluZSBNVDYzMjVfVkNPUkUxX0NPTjcgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNjM0KQorI2RlZmluZSBNVDYzMjVfVkNPUkUxX0NPTjggICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNjM2KQorI2RlZmluZSBNVDYzMjVfVkNPUkUxX0NPTjkgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNjM4KQorI2RlZmluZSBNVDYzMjVfVkNPUkUxX0NPTjEwICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNjNBKQorI2RlZmluZSBNVDYzMjVfVkNPUkUxX0NPTjExICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNjNDKQorI2RlZmluZSBNVDYzMjVfVkNPUkUxX0NPTjEyICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNjNFKQorI2RlZmluZSBNVDYzMjVfVkNPUkUxX0NPTjEzICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNjQwKQorI2RlZmluZSBNVDYzMjVfVkNPUkUxX0NPTjE0ICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNjQyKQorI2RlZmluZSBNVDYzMjVfVkNPUkUxX0NPTjE1ICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNjQ0KQorI2RlZmluZSBNVDYzMjVfVkNPUkUxX0NPTjE2ICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNjQ2KQorI2RlZmluZSBNVDYzMjVfVkNPUkUxX0NPTjE3ICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNjQ4KQorI2RlZmluZSBNVDYzMjVfVkNPUkUxX0NPTjE4ICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNjRBKQorI2RlZmluZSBNVDYzMjVfVkNPUkUyX0NPTjAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNjRDKQorI2RlZmluZSBNVDYzMjVfVkNPUkUyX0NPTjcgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNjVBKQorI2RlZmluZSBNVDYzMjVfVkNPUkUyX0NPTjggICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNjVDKQorI2RlZmluZSBNVDYzMjVfVkNPUkUyX0NPTjkgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNjVFKQorI2RlZmluZSBNVDYzMjVfVkNPUkUyX0NPTjEwICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNjYwKQorI2RlZmluZSBNVDYzMjVfVkNPUkUyX0NPTjExICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNjYyKQorI2RlZmluZSBNVDYzMjVfVkNPUkUyX0NPTjEyICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNjY0KQorI2RlZmluZSBNVDYzMjVfVkNPUkUyX0NPTjEzICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNjY2KQorI2RlZmluZSBNVDYzMjVfVkNPUkUyX0NPTjE0ICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNjY4KQorI2RlZmluZSBNVDYzMjVfVkNPUkUyX0NPTjE1ICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNjZBKQorI2RlZmluZSBNVDYzMjVfVkNPUkUyX0NPTjE2ICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNjZDKQorI2RlZmluZSBNVDYzMjVfVkNPUkUyX0NPTjE3ICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNjZFKQorI2RlZmluZSBNVDYzMjVfVkNPUkUyX0NPTjE4ICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNjcwKQorI2RlZmluZSBNVDYzMjVfVkNPUkUyX0NPTjE5ICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNjcyKQorI2RlZmluZSBNVDYzMjVfVkNPUkUyX0NPTjIwICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNjc0KQorI2RlZmluZSBNVDYzMjVfVklPMThfQ09OMCAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNjc2KQorI2RlZmluZSBNVDYzMjVfVklPMThfQ09ONyAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNjg0KQorI2RlZmluZSBNVDYzMjVfVklPMThfQ09OOCAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNjg2KQorI2RlZmluZSBNVDYzMjVfVklPMThfQ09OOSAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNjg4KQorI2RlZmluZSBNVDYzMjVfVklPMThfQ09OMTAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNjhBKQorI2RlZmluZSBNVDYzMjVfVklPMThfQ09OMTEgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNjhDKQorI2RlZmluZSBNVDYzMjVfVklPMThfQ09OMTIgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNjhFKQorI2RlZmluZSBNVDYzMjVfVklPMThfQ09OMTMgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNjkwKQorI2RlZmluZSBNVDYzMjVfVklPMThfQ09OMTQgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNjkyKQorI2RlZmluZSBNVDYzMjVfVklPMThfQ09OMTUgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNjk0KQorI2RlZmluZSBNVDYzMjVfVklPMThfQ09OMTYgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNjk2KQorI2RlZmluZSBNVDYzMjVfVklPMThfQ09OMTcgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNjk4KQorI2RlZmluZSBNVDYzMjVfVklPMThfQ09OMTggICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNjlBKQorI2RlZmluZSBNVDYzMjVfVlBBX0NPTjAgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNjlDKQorI2RlZmluZSBNVDYzMjVfVlBBX0NPTjcgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNkFBKQorI2RlZmluZSBNVDYzMjVfVlBBX0NPTjggICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNkFDKQorI2RlZmluZSBNVDYzMjVfVlBBX0NPTjkgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNkFFKQorI2RlZmluZSBNVDYzMjVfVlBBX0NPTjEwICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNkIwKQorI2RlZmluZSBNVDYzMjVfVlBBX0NPTjExICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNkIyKQorI2RlZmluZSBNVDYzMjVfVlBBX0NPTjEyICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNkI0KQorI2RlZmluZSBNVDYzMjVfVlBBX0NPTjEzICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNkI2KQorI2RlZmluZSBNVDYzMjVfVlBBX0NPTjE0ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNkI4KQorI2RlZmluZSBNVDYzMjVfVlBBX0NPTjE1ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNkJBKQorI2RlZmluZSBNVDYzMjVfVlBBX0NPTjE2ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNkJDKQorI2RlZmluZSBNVDYzMjVfVlBBX0NPTjE3ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNkJFKQorI2RlZmluZSBNVDYzMjVfVlBBX0NPTjE4ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNkMwKQorI2RlZmluZSBNVDYzMjVfVlBBX0NPTjE5ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNkMyKQorI2RlZmluZSBNVDYzMjVfVlBBX0NPTjIwICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNkM0KQorI2RlZmluZSBNVDYzMjVfVlBBX0NPTjIxICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNkM2KQorI2RlZmluZSBNVDYzMjVfVlBBX0NPTjIyICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNkM4KQorI2RlZmluZSBNVDYzMjVfVlBBX0NPTjIzICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNkNBKQorI2RlZmluZSBNVDYzMjVfQlVDS19LX0NPTjAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNkNDKQorI2RlZmluZSBNVDYzMjVfQlVDS19LX0NPTjEgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNkNFKQorI2RlZmluZSBNVDYzMjVfQlVDS19LX0NPTjIgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNkQwKQorI2RlZmluZSBNVDYzMjVfQlVDS19LX0NPTjMgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwNkQyKQorI2RlZmluZSBNVDYzMjVfWkNEX0NPTjAgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwODAwKQorI2RlZmluZSBNVDYzMjVfWkNEX0NPTjEgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwODAyKQorI2RlZmluZSBNVDYzMjVfWkNEX0NPTjIgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwODA0KQorI2RlZmluZSBNVDYzMjVfWkNEX0NPTjMgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwODA2KQorI2RlZmluZSBNVDYzMjVfWkNEX0NPTjQgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwODA4KQorI2RlZmluZSBNVDYzMjVfWkNEX0NPTjUgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwODBBKQorI2RlZmluZSBNVDYzMjVfSVNJTkswX0NPTjAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwODBDKQorI2RlZmluZSBNVDYzMjVfSVNJTkswX0NPTjEgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwODBFKQorI2RlZmluZSBNVDYzMjVfSVNJTkswX0NPTjIgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwODEwKQorI2RlZmluZSBNVDYzMjVfSVNJTkswX0NPTjMgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwODEyKQorI2RlZmluZSBNVDYzMjVfSVNJTksxX0NPTjAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwODE0KQorI2RlZmluZSBNVDYzMjVfSVNJTksxX0NPTjEgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwODE2KQorI2RlZmluZSBNVDYzMjVfSVNJTksxX0NPTjIgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwODE4KQorI2RlZmluZSBNVDYzMjVfSVNJTksxX0NPTjMgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwODFBKQorI2RlZmluZSBNVDYzMjVfSVNJTksyX0NPTjAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwODFDKQorI2RlZmluZSBNVDYzMjVfSVNJTksyX0NPTjEgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwODFFKQorI2RlZmluZSBNVDYzMjVfSVNJTksyX0NPTjIgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwODIwKQorI2RlZmluZSBNVDYzMjVfSVNJTksyX0NPTjMgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwODIyKQorI2RlZmluZSBNVDYzMjVfSVNJTkszX0NPTjAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwODI0KQorI2RlZmluZSBNVDYzMjVfSVNJTkszX0NPTjEgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwODI2KQorI2RlZmluZSBNVDYzMjVfSVNJTkszX0NPTjIgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwODI4KQorI2RlZmluZSBNVDYzMjVfSVNJTkszX0NPTjMgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwODJBKQorI2RlZmluZSBNVDYzMjVfSVNJTktfQU5BMCAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwODJDKQorI2RlZmluZSBNVDYzMjVfSVNJTktfQU5BMSAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwODJFKQorI2RlZmluZSBNVDYzMjVfSVNJTktfUEhBU0VfRExZICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwODMwKQorI2RlZmluZSBNVDYzMjVfSVNJTktfU0ZTVFIgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwODMyKQorI2RlZmluZSBNVDYzMjVfSVNJTktfRU5fQ1RSTCAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwODM0KQorI2RlZmluZSBNVDYzMjVfSVNJTktfTU9ERV9DVFJMICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwODM2KQorI2RlZmluZSBNVDYzMjVfSVNJTktfQU5BX0NPTjAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwODM4KQorI2RlZmluZSBNVDYzMjVfTERPX0NPTjAgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTAwKQorI2RlZmluZSBNVDYzMjVfTERPX0NPTjEgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTAyKQorI2RlZmluZSBNVDYzMjVfTERPX0NPTjIgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTA0KQorI2RlZmluZSBNVDYzMjVfTERPX0NPTjMgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTA2KQorI2RlZmluZSBNVDYzMjVfTERPX0NPTjQgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTA4KQorI2RlZmluZSBNVDYzMjVfTERPX0NPTjUgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTBBKQorI2RlZmluZSBNVDYzMjVfTERPX0NPTjYgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTBDKQorI2RlZmluZSBNVDYzMjVfTERPX0NPTjcgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTBFKQorI2RlZmluZSBNVDYzMjVfTERPX0NPTjggICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTEwKQorI2RlZmluZSBNVDYzMjVfTERPX0NPTjkgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTEyKQorI2RlZmluZSBNVDYzMjVfTERPX0NPTjEwICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTE0KQorI2RlZmluZSBNVDYzMjVfTERPX0NPTjExICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTE2KQorI2RlZmluZSBNVDYzMjVfTERPX0NPTjEyICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTE4KQorI2RlZmluZSBNVDYzMjVfTERPX0NPTjEzICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTFBKQorI2RlZmluZSBNVDYzMjVfTERPX0NPTjE0ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTFDKQorI2RlZmluZSBNVDYzMjVfTERPX0NPTjE1ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTFFKQorI2RlZmluZSBNVDYzMjVfTERPX0NPTjE2ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTIwKQorI2RlZmluZSBNVDYzMjVfTERPX0NPTjE3ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTIyKQorI2RlZmluZSBNVDYzMjVfTERPX0NPTjE4ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTI0KQorI2RlZmluZSBNVDYzMjVfTERPX0NPTjE5ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTI2KQorI2RlZmluZSBNVDYzMjVfTERPX0NPTjIwICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTI4KQorI2RlZmluZSBNVDYzMjVfTERPX0NPTjIxICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTJBKQorI2RlZmluZSBNVDYzMjVfTERPX0NPTjIyICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTJDKQorI2RlZmluZSBNVDYzMjVfTERPX0NPTjIzICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTJFKQorI2RlZmluZSBNVDYzMjVfTERPX0NPTjI0ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTMwKQorI2RlZmluZSBNVDYzMjVfTERPX0NPTjI1ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTMyKQorI2RlZmluZSBNVDYzMjVfTERPX0NPTjI2ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTM0KQorI2RlZmluZSBNVDYzMjVfTERPX0NPTjI3ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTM2KQorI2RlZmluZSBNVDYzMjVfTERPX0NPTjI4ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTM4KQorI2RlZmluZSBNVDYzMjVfTERPX0NPTjI5ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTNBKQorI2RlZmluZSBNVDYzMjVfTERPX0NPTjMwICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTNDKQorI2RlZmluZSBNVDYzMjVfTERPX1ZDT04wICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTNFKQorI2RlZmluZSBNVDYzMjVfTERPX1ZDT04xICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTQwKQorI2RlZmluZSBNVDYzMjVfTERPX1ZDT04yICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTQyKQorI2RlZmluZSBNVDYzMjVfTERPX1ZDT04zICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTQ0KQorI2RlZmluZSBNVDYzMjVfTERPX1ZDT040ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTQ2KQorI2RlZmluZSBNVDYzMjVfTERPX1ZDT041ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTQ4KQorI2RlZmluZSBNVDYzMjVfTERPX1ZDT042ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTRBKQorI2RlZmluZSBNVDYzMjVfTERPX1ZDT043ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTRDKQorI2RlZmluZSBNVDYzMjVfTERPX1ZDT044ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTRFKQorI2RlZmluZSBNVDYzMjVfTERPX1ZDT045ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTUwKQorI2RlZmluZSBNVDYzMjVfTERPX1ZDT04xMCAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTUyKQorI2RlZmluZSBNVDYzMjVfTERPX1ZDT04xMSAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTU0KQorI2RlZmluZSBNVDYzMjVfTERPX1ZDT04xMyAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTU2KQorI2RlZmluZSBNVDYzMjVfTERPX1ZDT04xNCAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTU4KQorI2RlZmluZSBNVDYzMjVfTERPX1ZDT04xNSAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTVBKQorI2RlZmluZSBNVDYzMjVfTERPX1ZDT04xNiAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTVDKQorI2RlZmluZSBNVDYzMjVfTERPX1JTVjAgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTVFKQorI2RlZmluZSBNVDYzMjVfTERPX1JTVjEgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTYwKQorI2RlZmluZSBNVDYzMjVfTERPX1JTVjIgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTYyKQorI2RlZmluZSBNVDYzMjVfTERPX1JTVjMgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTY0KQorI2RlZmluZSBNVDYzMjVfTERPX09DRkIwICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTY2KQorI2RlZmluZSBNVDYzMjVfTERPX09DRkIxICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTY4KQorI2RlZmluZSBNVDYzMjVfTERPX09DRkIyICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTZBKQorI2RlZmluZSBNVDYzMjVfTERPX09DRkIzICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTZDKQorI2RlZmluZSBNVDYzMjVfTERPX0FOQV9DT04wICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTZFKQorI2RlZmluZSBNVDYzMjVfQklGX0NPTjAgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTcwKQorI2RlZmluZSBNVDYzMjVfQklGX0NPTjEgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTcyKQorI2RlZmluZSBNVDYzMjVfQklGX0NPTjIgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTc0KQorI2RlZmluZSBNVDYzMjVfQklGX0NPTjMgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTc2KQorI2RlZmluZSBNVDYzMjVfQklGX0NPTjQgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTc4KQorI2RlZmluZSBNVDYzMjVfQklGX0NPTjUgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTdBKQorI2RlZmluZSBNVDYzMjVfQklGX0NPTjYgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTdDKQorI2RlZmluZSBNVDYzMjVfQklGX0NPTjcgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTdFKQorI2RlZmluZSBNVDYzMjVfQklGX0NPTjggICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTgwKQorI2RlZmluZSBNVDYzMjVfQklGX0NPTjkgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTgyKQorI2RlZmluZSBNVDYzMjVfQklGX0NPTjEwICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTg0KQorI2RlZmluZSBNVDYzMjVfQklGX0NPTjExICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTg2KQorI2RlZmluZSBNVDYzMjVfQklGX0NPTjEyICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTg4KQorI2RlZmluZSBNVDYzMjVfQklGX0NPTjEzICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQThBKQorI2RlZmluZSBNVDYzMjVfQklGX0NPTjE0ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQThDKQorI2RlZmluZSBNVDYzMjVfQklGX0NPTjE1ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQThFKQorI2RlZmluZSBNVDYzMjVfQklGX0NPTjE2ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTkwKQorI2RlZmluZSBNVDYzMjVfQklGX0NPTjE3ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTkyKQorI2RlZmluZSBNVDYzMjVfQklGX0NPTjE4ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTk0KQorI2RlZmluZSBNVDYzMjVfQklGX0NPTjE5ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTk2KQorI2RlZmluZSBNVDYzMjVfQklGX0NPTjIwICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTk4KQorI2RlZmluZSBNVDYzMjVfQklGX0NPTjIxICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTlBKQorI2RlZmluZSBNVDYzMjVfQklGX0NPTjIyICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTlDKQorI2RlZmluZSBNVDYzMjVfQklGX0NPTjIzICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQTlFKQorI2RlZmluZSBNVDYzMjVfQklGX0NPTjI0ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQUEwKQorI2RlZmluZSBNVDYzMjVfQklGX0NPTjI1ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQUEyKQorI2RlZmluZSBNVDYzMjVfQklGX0NPTjI2ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQUE0KQorI2RlZmluZSBNVDYzMjVfQklGX0NPTjI3ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQUE2KQorI2RlZmluZSBNVDYzMjVfQklGX0NPTjI4ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQUE4KQorI2RlZmluZSBNVDYzMjVfQklGX0NPTjI5ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQUFBKQorI2RlZmluZSBNVDYzMjVfQklGX0NPTjMwICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQUFDKQorI2RlZmluZSBNVDYzMjVfQklGX0NPTjMxICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQUFFKQorI2RlZmluZSBNVDYzMjVfQklGX0NPTjMyICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQUIwKQorI2RlZmluZSBNVDYzMjVfQklGX0NPTjMzICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQUIyKQorI2RlZmluZSBNVDYzMjVfQklGX0NPTjM0ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQUI0KQorI2RlZmluZSBNVDYzMjVfQklGX0NPTjM1ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQUI2KQorI2RlZmluZSBNVDYzMjVfQklGX0NPTjM2ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQUI4KQorI2RlZmluZSBNVDYzMjVfQkFUT05fQ09OMCAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQUJBKQorI2RlZmluZSBNVDYzMjVfQklGX0NPTjM3ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQUJDKQorI2RlZmluZSBNVDYzMjVfQklGX0NPTjM4ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQUJFKQorI2RlZmluZSBNVDYzMjVfQklGX0NPTjM5ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQUMwKQorI2RlZmluZSBNVDYzMjVfU1BLX0NPTjAgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQUMyKQorI2RlZmluZSBNVDYzMjVfU1BLX0NPTjEgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQUM0KQorI2RlZmluZSBNVDYzMjVfU1BLX0NPTjIgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQUM2KQorI2RlZmluZSBNVDYzMjVfU1BLX0NPTjMgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQUM4KQorI2RlZmluZSBNVDYzMjVfU1BLX0NPTjQgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQUNBKQorI2RlZmluZSBNVDYzMjVfU1BLX0NPTjUgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQUNDKQorI2RlZmluZSBNVDYzMjVfU1BLX0NPTjYgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQUNFKQorI2RlZmluZSBNVDYzMjVfU1BLX0NPTjcgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQUQwKQorI2RlZmluZSBNVDYzMjVfU1BLX0NPTjggICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQUQyKQorI2RlZmluZSBNVDYzMjVfU1BLX0NPTjkgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQUQ0KQorI2RlZmluZSBNVDYzMjVfU1BLX0NPTjEwICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQUQ2KQorI2RlZmluZSBNVDYzMjVfU1BLX0NPTjExICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQUQ4KQorI2RlZmluZSBNVDYzMjVfU1BLX0NPTjEyICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQURBKQorI2RlZmluZSBNVDYzMjVfU1BLX0NPTjEzICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQURDKQorI2RlZmluZSBNVDYzMjVfU1BLX0NPTjE0ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQURFKQorI2RlZmluZSBNVDYzMjVfU1BLX0NPTjE1ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQUUwKQorI2RlZmluZSBNVDYzMjVfU1BLX0NPTjE2ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQUUyKQorI2RlZmluZSBNVDYzMjVfU1BLX0FOQV9DT04wICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQUU0KQorI2RlZmluZSBNVDYzMjVfU1BLX0FOQV9DT04xICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQUU2KQorI2RlZmluZSBNVDYzMjVfU1BLX0FOQV9DT04zICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQUU4KQorI2RlZmluZSBNVDYzMjVfT1RQX0NPTjAgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzAwKQorI2RlZmluZSBNVDYzMjVfT1RQX0NPTjEgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzAyKQorI2RlZmluZSBNVDYzMjVfT1RQX0NPTjIgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzA0KQorI2RlZmluZSBNVDYzMjVfT1RQX0NPTjMgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzA2KQorI2RlZmluZSBNVDYzMjVfT1RQX0NPTjQgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzA4KQorI2RlZmluZSBNVDYzMjVfT1RQX0NPTjUgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzBBKQorI2RlZmluZSBNVDYzMjVfT1RQX0NPTjYgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzBDKQorI2RlZmluZSBNVDYzMjVfT1RQX0NPTjcgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzBFKQorI2RlZmluZSBNVDYzMjVfT1RQX0NPTjggICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzEwKQorI2RlZmluZSBNVDYzMjVfT1RQX0NPTjkgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzEyKQorI2RlZmluZSBNVDYzMjVfT1RQX0NPTjEwICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzE0KQorI2RlZmluZSBNVDYzMjVfT1RQX0NPTjExICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzE2KQorI2RlZmluZSBNVDYzMjVfT1RQX0NPTjEyICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzE4KQorI2RlZmluZSBNVDYzMjVfT1RQX0NPTjEzICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzFBKQorI2RlZmluZSBNVDYzMjVfT1RQX0NPTjE0ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzFDKQorI2RlZmluZSBNVDYzMjVfT1RQX0RPVVRfMF8xNSAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzFFKQorI2RlZmluZSBNVDYzMjVfT1RQX0RPVVRfMTZfMzEgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzIwKQorI2RlZmluZSBNVDYzMjVfT1RQX0RPVVRfMzJfNDcgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzIyKQorI2RlZmluZSBNVDYzMjVfT1RQX0RPVVRfNDhfNjMgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzI0KQorI2RlZmluZSBNVDYzMjVfT1RQX0RPVVRfNjRfNzkgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzI2KQorI2RlZmluZSBNVDYzMjVfT1RQX0RPVVRfODBfOTUgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzI4KQorI2RlZmluZSBNVDYzMjVfT1RQX0RPVVRfOTZfMTExICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzJBKQorI2RlZmluZSBNVDYzMjVfT1RQX0RPVVRfMTEyXzEyNyAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzJDKQorI2RlZmluZSBNVDYzMjVfT1RQX0RPVVRfMTI4XzE0MyAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzJFKQorI2RlZmluZSBNVDYzMjVfT1RQX0RPVVRfMTQ0XzE1OSAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzMwKQorI2RlZmluZSBNVDYzMjVfT1RQX0RPVVRfMTYwXzE3NSAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzMyKQorI2RlZmluZSBNVDYzMjVfT1RQX0RPVVRfMTc2XzE5MSAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzM0KQorI2RlZmluZSBNVDYzMjVfT1RQX0RPVVRfMTkyXzIwNyAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzM2KQorI2RlZmluZSBNVDYzMjVfT1RQX0RPVVRfMjA4XzIyMyAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzM4KQorI2RlZmluZSBNVDYzMjVfT1RQX0RPVVRfMjI0XzIzOSAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzNBKQorI2RlZmluZSBNVDYzMjVfT1RQX0RPVVRfMjQwXzI1NSAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzNDKQorI2RlZmluZSBNVDYzMjVfT1RQX0RPVVRfMjU2XzI3MSAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzNFKQorI2RlZmluZSBNVDYzMjVfT1RQX0RPVVRfMjcyXzI4NyAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzQwKQorI2RlZmluZSBNVDYzMjVfT1RQX0RPVVRfMjg4XzMwMyAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzQyKQorI2RlZmluZSBNVDYzMjVfT1RQX0RPVVRfMzA0XzMxOSAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzQ0KQorI2RlZmluZSBNVDYzMjVfT1RQX0RPVVRfMzIwXzMzNSAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzQ2KQorI2RlZmluZSBNVDYzMjVfT1RQX0RPVVRfMzM2XzM1MSAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzQ4KQorI2RlZmluZSBNVDYzMjVfT1RQX0RPVVRfMzUyXzM2NyAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzRBKQorI2RlZmluZSBNVDYzMjVfT1RQX0RPVVRfMzY4XzM4MyAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzRDKQorI2RlZmluZSBNVDYzMjVfT1RQX0RPVVRfMzg0XzM5OSAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzRFKQorI2RlZmluZSBNVDYzMjVfT1RQX0RPVVRfNDAwXzQxNSAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzUwKQorI2RlZmluZSBNVDYzMjVfT1RQX0RPVVRfNDE2XzQzMSAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzUyKQorI2RlZmluZSBNVDYzMjVfT1RQX0RPVVRfNDMyXzQ0NyAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzU0KQorI2RlZmluZSBNVDYzMjVfT1RQX0RPVVRfNDQ4XzQ2MyAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzU2KQorI2RlZmluZSBNVDYzMjVfT1RQX0RPVVRfNDY0XzQ3OSAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzU4KQorI2RlZmluZSBNVDYzMjVfT1RQX0RPVVRfNDgwXzQ5NSAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzVBKQorI2RlZmluZSBNVDYzMjVfT1RQX0RPVVRfNDk2XzUxMSAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzVDKQorI2RlZmluZSBNVDYzMjVfT1RQX1ZBTF8wXzE1ICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzVFKQorI2RlZmluZSBNVDYzMjVfT1RQX1ZBTF8xNl8zMSAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzYwKQorI2RlZmluZSBNVDYzMjVfT1RQX1ZBTF8zMl80NyAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzYyKQorI2RlZmluZSBNVDYzMjVfT1RQX1ZBTF80OF82MyAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzY0KQorI2RlZmluZSBNVDYzMjVfT1RQX1ZBTF82NF83OSAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzY2KQorI2RlZmluZSBNVDYzMjVfT1RQX1ZBTF84MF85NSAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzY4KQorI2RlZmluZSBNVDYzMjVfT1RQX1ZBTF85Nl8xMTEgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzZBKQorI2RlZmluZSBNVDYzMjVfT1RQX1ZBTF8xMTJfMTI3ICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzZDKQorI2RlZmluZSBNVDYzMjVfT1RQX1ZBTF8xMjhfMTQzICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzZFKQorI2RlZmluZSBNVDYzMjVfT1RQX1ZBTF8xNDRfMTU5ICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzcwKQorI2RlZmluZSBNVDYzMjVfT1RQX1ZBTF8xNjBfMTc1ICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzcyKQorI2RlZmluZSBNVDYzMjVfT1RQX1ZBTF8xNzZfMTkxICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzc0KQorI2RlZmluZSBNVDYzMjVfT1RQX1ZBTF8xOTJfMjA3ICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzc2KQorI2RlZmluZSBNVDYzMjVfT1RQX1ZBTF8yMDhfMjIzICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzc4KQorI2RlZmluZSBNVDYzMjVfT1RQX1ZBTF8yMjRfMjM5ICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzdBKQorI2RlZmluZSBNVDYzMjVfT1RQX1ZBTF8yNDBfMjU1ICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzdDKQorI2RlZmluZSBNVDYzMjVfT1RQX1ZBTF8yNTZfMjcxICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzdFKQorI2RlZmluZSBNVDYzMjVfT1RQX1ZBTF8yNzJfMjg3ICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzgwKQorI2RlZmluZSBNVDYzMjVfT1RQX1ZBTF8yODhfMzAzICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzgyKQorI2RlZmluZSBNVDYzMjVfT1RQX1ZBTF8zMDRfMzE5ICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzg0KQorI2RlZmluZSBNVDYzMjVfT1RQX1ZBTF8zMjBfMzM1ICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzg2KQorI2RlZmluZSBNVDYzMjVfT1RQX1ZBTF8zMzZfMzUxICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzg4KQorI2RlZmluZSBNVDYzMjVfT1RQX1ZBTF8zNTJfMzY3ICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzhBKQorI2RlZmluZSBNVDYzMjVfT1RQX1ZBTF8zNjhfMzgzICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzhDKQorI2RlZmluZSBNVDYzMjVfT1RQX1ZBTF8zODRfMzk5ICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzhFKQorI2RlZmluZSBNVDYzMjVfT1RQX1ZBTF80MDBfNDE1ICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzkwKQorI2RlZmluZSBNVDYzMjVfT1RQX1ZBTF80MTZfNDMxICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzkyKQorI2RlZmluZSBNVDYzMjVfT1RQX1ZBTF80MzJfNDQ3ICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzk0KQorI2RlZmluZSBNVDYzMjVfT1RQX1ZBTF80NDhfNDYzICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzk2KQorI2RlZmluZSBNVDYzMjVfT1RQX1ZBTF80NjRfNDc5ICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzk4KQorI2RlZmluZSBNVDYzMjVfT1RQX1ZBTF80ODBfNDk1ICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzlBKQorI2RlZmluZSBNVDYzMjVfT1RQX1ZBTF80OTZfNTExICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzlDKQorI2RlZmluZSBNVDYzMjVfUlRDX01JWF9DT04wICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQzlFKQorI2RlZmluZSBNVDYzMjVfUlRDX01JWF9DT04xICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQ0EwKQorI2RlZmluZSBNVDYzMjVfUlRDX01JWF9DT04yICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQ0EyKQorI2RlZmluZSBNVDYzMjVfRkdBRENfQ09OMCAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQ0E0KQorI2RlZmluZSBNVDYzMjVfRkdBRENfQ09OMSAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQ0E2KQorI2RlZmluZSBNVDYzMjVfRkdBRENfQ09OMiAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQ0E4KQorI2RlZmluZSBNVDYzMjVfRkdBRENfQ09OMyAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQ0FBKQorI2RlZmluZSBNVDYzMjVfRkdBRENfQ09ONCAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQ0FDKQorI2RlZmluZSBNVDYzMjVfRkdBRENfQ09ONSAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQ0FFKQorI2RlZmluZSBNVDYzMjVfRkdBRENfQ09ONiAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQ0IwKQorI2RlZmluZSBNVDYzMjVfRkdBRENfQ09ONyAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQ0IyKQorI2RlZmluZSBNVDYzMjVfRkdBRENfQ09OOCAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQ0I0KQorI2RlZmluZSBNVDYzMjVfRkdBRENfQ09OOSAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQ0I2KQorI2RlZmluZSBNVDYzMjVfRkdBRENfQ09OMTAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQ0I4KQorI2RlZmluZSBNVDYzMjVfRkdBRENfQ09OMTEgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQ0JBKQorI2RlZmluZSBNVDYzMjVfRkdBRENfQ09OMTIgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQ0JDKQorI2RlZmluZSBNVDYzMjVfRkdBRENfQ09OMTMgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQ0JFKQorI2RlZmluZSBNVDYzMjVfRkdBRENfQ09OMTQgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQ0MwKQorI2RlZmluZSBNVDYzMjVfRkdBRENfQ09OMTUgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQ0MyKQorI2RlZmluZSBNVDYzMjVfRkdBRENfQ09OMTYgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQ0M0KQorI2RlZmluZSBNVDYzMjVfRkdBRENfQ09OMTcgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQ0M2KQorI2RlZmluZSBNVDYzMjVfRkdBRENfQ09OMTggICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQ0M4KQorI2RlZmluZSBNVDYzMjVfRkdBRENfQ09OMTkgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQ0NBKQorI2RlZmluZSBNVDYzMjVfRkdBRENfQ09OMjAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQ0NDKQorI2RlZmluZSBNVDYzMjVfRkdBRENfQ09OMjEgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQ0NFKQorI2RlZmluZSBNVDYzMjVfRkdBRENfQ09OMjIgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQ0QwKQorI2RlZmluZSBNVDYzMjVfRkdBRENfQ09OMjMgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQ0QyKQorI2RlZmluZSBNVDYzMjVfRkdBRENfQ09OMjQgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQ0Q0KQorI2RlZmluZSBNVDYzMjVfRkdBRENfQ09OMjUgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQ0Q2KQorI2RlZmluZSBNVDYzMjVfRkdBRENfQ09OMjYgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQ0Q4KQorI2RlZmluZSBNVDYzMjVfRkdBRENfQ09OMjcgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQ0RBKQorI2RlZmluZSBNVDYzMjVfRkdBRENfQU5BX0NPTjAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQ0RDKQorI2RlZmluZSBNVDYzMjVfQVVEREVDX0FOQV9DT04wICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQ0RFKQorI2RlZmluZSBNVDYzMjVfQVVEREVDX0FOQV9DT04xICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQ0UwKQorI2RlZmluZSBNVDYzMjVfQVVEREVDX0FOQV9DT04yICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQ0UyKQorI2RlZmluZSBNVDYzMjVfQVVEREVDX0FOQV9DT04zICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQ0U0KQorI2RlZmluZSBNVDYzMjVfQVVEREVDX0FOQV9DT040ICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQ0U2KQorI2RlZmluZSBNVDYzMjVfQVVEREVDX0FOQV9DT041ICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQ0U4KQorI2RlZmluZSBNVDYzMjVfQVVEREVDX0FOQV9DT042ICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQ0VBKQorI2RlZmluZSBNVDYzMjVfQVVEREVDX0FOQV9DT043ICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQ0VDKQorI2RlZmluZSBNVDYzMjVfQVVEREVDX0FOQV9DT044ICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQ0VFKQorI2RlZmluZSBNVDYzMjVfQVVERU5DX0FOQV9DT04wICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQ0YwKQorI2RlZmluZSBNVDYzMjVfQVVERU5DX0FOQV9DT04xICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQ0YyKQorI2RlZmluZSBNVDYzMjVfQVVERU5DX0FOQV9DT04yICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQ0Y0KQorI2RlZmluZSBNVDYzMjVfQVVERU5DX0FOQV9DT04zICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQ0Y2KQorI2RlZmluZSBNVDYzMjVfQVVERU5DX0FOQV9DT040ICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQ0Y4KQorI2RlZmluZSBNVDYzMjVfQVVERU5DX0FOQV9DT041ICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQ0ZBKQorI2RlZmluZSBNVDYzMjVfQVVERU5DX0FOQV9DT042ICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQ0ZDKQorI2RlZmluZSBNVDYzMjVfQVVERU5DX0FOQV9DT043ICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwQ0ZFKQorI2RlZmluZSBNVDYzMjVfQVVERU5DX0FOQV9DT044ICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRDAwKQorI2RlZmluZSBNVDYzMjVfQVVERU5DX0FOQV9DT045ICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRDAyKQorI2RlZmluZSBNVDYzMjVfQVVERU5DX0FOQV9DT04xMSAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRDA0KQorI2RlZmluZSBNVDYzMjVfQVVERU5DX0FOQV9DT04xMiAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRDA2KQorI2RlZmluZSBNVDYzMjVfQVVERU5DX0FOQV9DT04xMyAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRDA4KQorI2RlZmluZSBNVDYzMjVfQVVERU5DX0FOQV9DT04xNCAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRDBBKQorI2RlZmluZSBNVDYzMjVfQVVERU5DX0FOQV9DT04xNSAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRDBDKQorI2RlZmluZSBNVDYzMjVfQVVETkNQX0NMS0RJVl9DT04wICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRDBFKQorI2RlZmluZSBNVDYzMjVfQVVETkNQX0NMS0RJVl9DT04xICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRDEwKQorI2RlZmluZSBNVDYzMjVfQVVETkNQX0NMS0RJVl9DT04yICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRDEyKQorI2RlZmluZSBNVDYzMjVfQVVETkNQX0NMS0RJVl9DT04zICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRDE0KQorI2RlZmluZSBNVDYzMjVfQVVETkNQX0NMS0RJVl9DT040ICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRDE2KQorI2RlZmluZSBNVDYzMjVfQVVYQURDX1JTVjAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTAwKQorI2RlZmluZSBNVDYzMjVfQVVYQURDX1NUQTAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTAyKQorI2RlZmluZSBNVDYzMjVfQVVYQURDX1NUQTEgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTA0KQorI2RlZmluZSBNVDYzMjVfQVVYQURDX1JRU1QwICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTA2KQorI2RlZmluZSBNVDYzMjVfQVVYQURDX1JRU1QwX1NFVCAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTA4KQorI2RlZmluZSBNVDYzMjVfQVVYQURDX1JRU1QwX0NMUiAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTBBKQorI2RlZmluZSBNVDYzMjVfQVVYQURDX1JRU1QxICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTBDKQorI2RlZmluZSBNVDYzMjVfQVVYQURDX1JRU1QxX1NFVCAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTBFKQorI2RlZmluZSBNVDYzMjVfQVVYQURDX1JRU1QxX0NMUiAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTEwKQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0NLMCAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTEyKQorI2RlZmluZSBNVDYzMjVfQVVYQURDX1RIUjAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTE0KQorI2RlZmluZSBNVDYzMjVfQVVYQURDX1RIUjEgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTE2KQorI2RlZmluZSBNVDYzMjVfQVVYQURDX1RIUjIgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTE4KQorI2RlZmluZSBNVDYzMjVfQVVYQURDX1RIUjMgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTFBKQorI2RlZmluZSBNVDYzMjVfQVVYQURDX1RIUjQgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTFDKQorI2RlZmluZSBNVDYzMjVfQVVYQURDX1RIUjUgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTFFKQorI2RlZmluZSBNVDYzMjVfQVVYQURDX1RIUjYgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTIwKQorI2RlZmluZSBNVDYzMjVfQVVYQURDX1RIUjcgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTIyKQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0RCRzAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTI0KQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0FVVE9SUFQwICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTI2KQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0lNUDAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTI4KQorI2RlZmluZSBNVDYzMjVfQVVYQURDX1ZJU01QUzBfMSAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTJBKQorI2RlZmluZSBNVDYzMjVfQVVYQURDX1ZJU01QUzBfMiAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTJDKQorI2RlZmluZSBNVDYzMjVfQVVYQURDX1ZJU01QUzBfMyAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTJFKQorI2RlZmluZSBNVDYzMjVfQVVYQURDX1ZJU01QUzBfNCAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTMwKQorI2RlZmluZSBNVDYzMjVfQVVYQURDX1ZJU01QUzBfNSAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTMyKQorI2RlZmluZSBNVDYzMjVfQVVYQURDX1ZJU01QUzBfNiAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTM0KQorI2RlZmluZSBNVDYzMjVfQVVYQURDX1ZJU01QUzBfNyAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTM2KQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0xCQVQyXzEgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTM4KQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0xCQVQyXzIgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTNBKQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0xCQVQyXzMgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTNDKQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0xCQVQyXzQgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTNFKQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0xCQVQyXzUgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTQwKQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0xCQVQyXzYgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTQyKQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0xCQVQyXzcgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTQ0KQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0FEQzAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTQ2KQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0FEQzEgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTQ4KQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0FEQzIgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTRBKQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0FEQzMgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTRDKQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0FEQzQgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTRFKQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0FEQzUgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTUwKQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0FEQzYgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTUyKQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0FEQzcgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTU0KQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0FEQzggICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTU2KQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0FEQzkgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTU4KQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0FEQzEwICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTVBKQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0FEQzExICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTVDKQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0FEQzEyICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTVFKQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0FEQzEzICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTYwKQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0FEQzE0ICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTYyKQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0FEQzE1ICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTY0KQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0FEQzE2ICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTY2KQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0FEQzE3ICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTY4KQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0FEQzE4ICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTZBKQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0FEQzE5ICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTZDKQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0FEQzIwICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTZFKQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0FEQzIxICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTcwKQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0FEQzIyICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTcyKQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0FEQzIzICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTc0KQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0FEQzI0ICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTc2KQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0FEQzI1ICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTc4KQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0FEQzI2ICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTdBKQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0FEQzI3ICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTdDKQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0FEQzI4ICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTdFKQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0FEQzI5ICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTgwKQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0FEQzMwICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTgyKQorI2RlZmluZSBNVDYzMjVfQVVYQURDX1JTVjEgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTg0KQorI2RlZmluZSBNVDYzMjVfQVVYQURDX1JTVjIgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTg2KQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0NPTjAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTg4KQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0NPTjEgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRThBKQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0NPTjIgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRThDKQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0NPTjMgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRThFKQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0NPTjQgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTkwKQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0NPTjUgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTkyKQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0NPTjYgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTk0KQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0NPTjcgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTk2KQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0NPTjggICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTk4KQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0NPTjkgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTlBKQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0NPTjEwICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTlDKQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0NPTjExICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRTlFKQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0NPTjEyICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRUEwKQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0NPTjEzICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRUEyKQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0NPTjE0ICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRUE0KQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0NPTjE1ICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRUE2KQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0NPTjE2ICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRUE4KQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0NPTjE3ICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRUFBKQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0NPTjE4ICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRUFDKQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0NPTjE5ICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRUFFKQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0NPTjIwICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRUIwKQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0NPTjIxICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRUIyKQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0NPTjIyICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRUI0KQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0NPTjIzICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRUI2KQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0NPTjI0ICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRUI4KQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0NPTjI1ICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRUJBKQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0NPTjI2ICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRUJDKQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0NPTjI3ICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRUJFKQorI2RlZmluZSBNVDYzMjVfQUNDREVUX0NPTjAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRUMwKQorI2RlZmluZSBNVDYzMjVfQUNDREVUX0NPTjEgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRUMyKQorI2RlZmluZSBNVDYzMjVfQUNDREVUX0NPTjIgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRUM0KQorI2RlZmluZSBNVDYzMjVfQUNDREVUX0NPTjMgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRUM2KQorI2RlZmluZSBNVDYzMjVfQUNDREVUX0NPTjQgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRUM4KQorI2RlZmluZSBNVDYzMjVfQUNDREVUX0NPTjUgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRUNBKQorI2RlZmluZSBNVDYzMjVfQUNDREVUX0NPTjYgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRUNDKQorI2RlZmluZSBNVDYzMjVfQUNDREVUX0NPTjcgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRUNFKQorI2RlZmluZSBNVDYzMjVfQUNDREVUX0NPTjggICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRUQwKQorI2RlZmluZSBNVDYzMjVfQUNDREVUX0NPTjkgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRUQyKQorI2RlZmluZSBNVDYzMjVfQUNDREVUX0NPTjEwICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRUQ0KQorI2RlZmluZSBNVDYzMjVfQUNDREVUX0NPTjExICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRUQ2KQorI2RlZmluZSBNVDYzMjVfQUNDREVUX0NPTjEyICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRUQ4KQorI2RlZmluZSBNVDYzMjVfQUNDREVUX0NPTjEzICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRURBKQorI2RlZmluZSBNVDYzMjVfQUNDREVUX0NPTjE0ICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRURDKQorI2RlZmluZSBNVDYzMjVfQUNDREVUX0NPTjE1ICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRURFKQorI2RlZmluZSBNVDYzMjVfQUNDREVUX0NPTjE2ICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRUUwKQorI2RlZmluZSBNVDYzMjVfQUNDREVUX0NPTjE3ICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRUUyKQorI2RlZmluZSBNVDYzMjVfQUNDREVUX0NPTjE4ICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRUU0KQorI2RlZmluZSBNVDYzMjVfQUNDREVUX0NPTjE5ICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRUU2KQorI2RlZmluZSBNVDYzMjVfQUNDREVUX0NPTjIwICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRUU4KQorI2RlZmluZSBNVDYzMjVfQUNDREVUX0NPTjIxICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRUVBKQorI2RlZmluZSBNVDYzMjVfQUNDREVUX0NPTjIyICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRUVDKQorI2RlZmluZSBNVDYzMjVfQUNDREVUX0NPTjIzICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRUVFKQorI2RlZmluZSBNVDYzMjVfQUNDREVUX0NPTjI0ICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRUYwKQorI2RlZmluZSBNVDYzMjVfQ0hSX0NPTjAgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRUYyKQorI2RlZmluZSBNVDYzMjVfQ0hSX0NPTjEgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRUY0KQorI2RlZmluZSBNVDYzMjVfQ0hSX0NPTjIgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRUY2KQorI2RlZmluZSBNVDYzMjVfQ0hSX0NPTjMgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRUY4KQorI2RlZmluZSBNVDYzMjVfQ0hSX0NPTjQgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRUZBKQorI2RlZmluZSBNVDYzMjVfQ0hSX0NPTjUgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRUZDKQorI2RlZmluZSBNVDYzMjVfQ0hSX0NPTjYgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRUZFKQorI2RlZmluZSBNVDYzMjVfQ0hSX0NPTjcgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRjAwKQorI2RlZmluZSBNVDYzMjVfQ0hSX0NPTjggICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRjAyKQorI2RlZmluZSBNVDYzMjVfQ0hSX0NPTjkgICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRjA0KQorI2RlZmluZSBNVDYzMjVfQ0hSX0NPTjEwICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRjA2KQorI2RlZmluZSBNVDYzMjVfQ0hSX0NPTjExICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRjA4KQorI2RlZmluZSBNVDYzMjVfQ0hSX0NPTjEyICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRjBBKQorI2RlZmluZSBNVDYzMjVfQ0hSX0NPTjEzICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRjBDKQorI2RlZmluZSBNVDYzMjVfQ0hSX0NPTjE0ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRjBFKQorI2RlZmluZSBNVDYzMjVfQ0hSX0NPTjE1ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRjEwKQorI2RlZmluZSBNVDYzMjVfQ0hSX0NPTjE2ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRjEyKQorI2RlZmluZSBNVDYzMjVfQ0hSX0NPTjE3ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRjE0KQorI2RlZmluZSBNVDYzMjVfQ0hSX0NPTjE4ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRjE2KQorI2RlZmluZSBNVDYzMjVfQ0hSX0NPTjE5ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRjE4KQorI2RlZmluZSBNVDYzMjVfQ0hSX0NPTjIwICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRjFBKQorI2RlZmluZSBNVDYzMjVfQ0hSX0NPTjIxICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRjFDKQorI2RlZmluZSBNVDYzMjVfQ0hSX0NPTjIyICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRjFFKQorI2RlZmluZSBNVDYzMjVfQ0hSX0NPTjIzICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRjIwKQorI2RlZmluZSBNVDYzMjVfQ0hSX0NPTjI0ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRjIyKQorI2RlZmluZSBNVDYzMjVfQ0hSX0NPTjI1ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRjI0KQorI2RlZmluZSBNVDYzMjVfQ0hSX0NPTjI2ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRjI2KQorI2RlZmluZSBNVDYzMjVfQ0hSX0NPTjI3ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRjI4KQorI2RlZmluZSBNVDYzMjVfQ0hSX0NPTjI4ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRjJBKQorI2RlZmluZSBNVDYzMjVfQ0hSX0NPTjI5ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRjJDKQorI2RlZmluZSBNVDYzMjVfQ0hSX0NPTjMwICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRjJFKQorI2RlZmluZSBNVDYzMjVfQ0hSX0NPTjMxICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRjMwKQorI2RlZmluZSBNVDYzMjVfQ0hSX0NPTjMyICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRjMyKQorI2RlZmluZSBNVDYzMjVfQ0hSX0NPTjMzICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRjM0KQorI2RlZmluZSBNVDYzMjVfQ0hSX0NPTjM0ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRjM2KQorI2RlZmluZSBNVDYzMjVfQ0hSX0NPTjM1ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRjM4KQorI2RlZmluZSBNVDYzMjVfQ0hSX0NPTjM2ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRjNBKQorI2RlZmluZSBNVDYzMjVfQ0hSX0NPTjM3ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRjNDKQorI2RlZmluZSBNVDYzMjVfQ0hSX0NPTjM4ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRjNFKQorI2RlZmluZSBNVDYzMjVfQ0hSX0NPTjM5ICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRjQwKQorI2RlZmluZSBNVDYzMjVfQ0hSX0NPTjQwICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRjQyKQorI2RlZmluZSBNVDYzMjVfQ0hSX0NPTjQxICAgICAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRjQ0KQorI2RlZmluZSBNVDYzMjVfRU9TQ19DQUxJX0NPTjAgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRjQ2KQorI2RlZmluZSBNVDYzMjVfRU9TQ19DQUxJX0NPTjEgICAgICAgKE1UNjMyNV9QTUlDX1JFR19CQVNFICsgMHgwRjQ4KQorLy8gbWFzayBpcyBIRVg7ICBzaGlmdCBpcyBJbnRlZ2VyCisjZGVmaW5lIE1UNjMyNV9USFJfREVUX0RJU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1RIUl9ERVRfRElTX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX1RIUl9UTU9ERV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVEhSX1RNT0RFX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBNVDYzMjVfUkdfVEhSX1RFTVBfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19USFJfVEVNUF9TRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAyCisjZGVmaW5lIE1UNjMyNV9SR19TVFJVUF9USFJfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1NUUlVQX1RIUl9TRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgIDMKKyNkZWZpbmUgTVQ2MzI1X1RIUl9IV1BETl9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVEhSX0hXUEROX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgNQorI2RlZmluZSBNVDYzMjVfUkdfVEhSREVUX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19USFJERVRfU0VMX1NISUZUICAgICAgICAgICAgICAgICAgICAgICA2CisjZGVmaW5lIE1UNjMyNV9SR19TVFJVUF9JUkVGX1RSSU1fTUFTSyAgICAgICAgICAgICAgICAgICAweDFGCisjZGVmaW5lIE1UNjMyNV9SR19TVFJVUF9JUkVGX1RSSU1fU0hJRlQgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19VU0JETF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1VTQkRMX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX0ZDSFJfS0VZREVUX0VOX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfRkNIUl9LRVlERVRfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBNVDYzMjVfUkdfRkNIUl9QVV9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19GQ0hSX1BVX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAyCisjZGVmaW5lIE1UNjMyNV9SR19FTl9EUlZTRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0VOX0RSVlNFTF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1JHX1JTVEJfRFJWX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfUlNUQl9EUlZfU0VMX1NISUZUICAgICAgICAgICAgICAgICAgICAgNQorI2RlZmluZSBNVDYzMjVfUkdfVlJFRl9CR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg3CisjZGVmaW5lIE1UNjMyNV9SR19WUkVGX0JHX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfUkdfUE1VX1JTVl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhGCisjZGVmaW5lIE1UNjMyNV9SR19QTVVfUlNWX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9USFJfVEVTVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1RIUl9URVNUX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1BNVV9USFJfREVCX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NworI2RlZmluZSBNVDYzMjVfUE1VX1RIUl9ERUJfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgNAorI2RlZmluZSBNVDYzMjVfUE1VX1RIUl9TVEFUVVNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHg3CisjZGVmaW5lIE1UNjMyNV9QTVVfVEhSX1NUQVRVU19TSElGVCAgICAgICAgICAgICAgICAgICAgICA4CisjZGVmaW5lIE1UNjMyNV9ERFVWTE9fREVCX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0REVVZMT19ERUJfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1BXUkJCX0RFQl9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUFdSQkJfREVCX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBNVDYzMjVfU1RSVVBfT1NDX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9TVFJVUF9PU0NfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAyCisjZGVmaW5lIE1UNjMyNV9TVFJVUF9PU0NfRU5fU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1NUUlVQX09TQ19FTl9TRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgIDMKKyNkZWZpbmUgTVQ2MzI1X1NUUlVQX0ZUX0NUUkxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfU1RSVVBfRlRfQ1RSTF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgNAorI2RlZmluZSBNVDYzMjVfU1RSVVBfUFdST05fRk9SQ0VfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9TVFJVUF9QV1JPTl9GT1JDRV9TSElGVCAgICAgICAgICAgICAgICAgICA2CisjZGVmaW5lIE1UNjMyNV9CSUFTX0dFTl9FTl9GT1JDRV9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0JJQVNfR0VOX0VOX0ZPUkNFX1NISUZUICAgICAgICAgICAgICAgICAgIDcKKyNkZWZpbmUgTVQ2MzI1X1NUUlVQX1BXUk9OX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfU1RSVVBfUFdST05fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfU1RSVVBfUFdST05fU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9TVFJVUF9QV1JPTl9TRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICA5CisjZGVmaW5lIE1UNjMyNV9CSUFTX0dFTl9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0JJQVNfR0VOX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgIDEwCisjZGVmaW5lIE1UNjMyNV9CSUFTX0dFTl9FTl9TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0JJQVNfR0VOX0VOX1NFTF9TSElGVCAgICAgICAgICAgICAgICAgICAgIDExCisjZGVmaW5lIE1UNjMyNV9SVENfWE9TQzMyX0VOQl9TV19NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JUQ19YT1NDMzJfRU5CX1NXX1NISUZUICAgICAgICAgICAgICAgICAgIDEyCisjZGVmaW5lIE1UNjMyNV9SVENfWE9TQzMyX0VOQl9TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JUQ19YT1NDMzJfRU5CX1NFTF9TSElGVCAgICAgICAgICAgICAgICAgIDEzCisjZGVmaW5lIE1UNjMyNV9TVFJVUF9ESUdfSU9fUEdfRk9SQ0VfTUFTSyAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1NUUlVQX0RJR19JT19QR19GT1JDRV9TSElGVCAgICAgICAgICAgICAgIDE1CisjZGVmaW5lIE1UNjMyNV9WRFZGUzExX1BHX0gyTF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1ZEVkZTMTFfUEdfSDJMX0VOX1NISUZUICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1ZEVkZTMTJfUEdfSDJMX0VOX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVkRWRlMxMl9QR19IMkxfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBNVDYzMjVfVkNPUkUxX1BHX0gyTF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9WQ09SRTFfUEdfSDJMX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9WQ09SRTJfUEdfSDJMX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFMl9QR19IMkxfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgIDUKKyNkZWZpbmUgTVQ2MzI1X1ZHUFVfUEdfSDJMX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVkdQVV9QR19IMkxfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgNgorI2RlZmluZSBNVDYzMjVfVklPMThfUEdfSDJMX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9WSU8xOF9QR19IMkxfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICA3CisjZGVmaW5lIE1UNjMyNV9WQVVEMjhfUEdfSDJMX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1ZBVUQyOF9QR19IMkxfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1ZUQ1hPX1BHX0gyTF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVlRDWE9fUEdfSDJMX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgOQorI2RlZmluZSBNVDYzMjVfVlVTQl9QR19IMkxfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9WVVNCX1BHX0gyTF9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAxMAorI2RlZmluZSBNVDYzMjVfVlNSQU1fRFZGUzFfUEdfSDJMX0VOX01BU0sgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9WU1JBTV9EVkZTMV9QR19IMkxfRU5fU0hJRlQgICAgICAgICAgICAgICAxMQorI2RlZmluZSBNVDYzMjVfVklPMjhfUEdfSDJMX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9WSU8yOF9QR19IMkxfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfVkRSQU1fUEdfSDJMX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9WRFJBTV9QR19IMkxfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAxMworI2RlZmluZSBNVDYzMjVfVkRWRlMxMV9QR19FTkJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9WRFZGUzExX1BHX0VOQl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9WRFZGUzEyX1BHX0VOQl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1ZEVkZTMTJfUEdfRU5CX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFMV9QR19FTkJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVkNPUkUxX1BHX0VOQl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgNAorI2RlZmluZSBNVDYzMjVfVkNPUkUyX1BHX0VOQl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9WQ09SRTJfUEdfRU5CX1NISUZUICAgICAgICAgICAgICAgICAgICAgICA1CisjZGVmaW5lIE1UNjMyNV9WR1BVX1BHX0VOQl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1ZHUFVfUEdfRU5CX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgIDYKKyNkZWZpbmUgTVQ2MzI1X1ZJTzE4X1BHX0VOQl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVklPMThfUEdfRU5CX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgNworI2RlZmluZSBNVDYzMjVfVkFVRDI4X1BHX0VOQl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9WQVVEMjhfUEdfRU5CX1NISUZUICAgICAgICAgICAgICAgICAgICAgICA4CisjZGVmaW5lIE1UNjMyNV9WVENYT19QR19FTkJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1ZUQ1hPX1BHX0VOQl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgIDkKKyNkZWZpbmUgTVQ2MzI1X1ZVU0JfUEdfRU5CX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVlVTQl9QR19FTkJfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgMTAKKyNkZWZpbmUgTVQ2MzI1X1ZTUkFNX0RWRlMxX1BHX0VOQl9NQVNLICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVlNSQU1fRFZGUzFfUEdfRU5CX1NISUZUICAgICAgICAgICAgICAgICAgMTEKKyNkZWZpbmUgTVQ2MzI1X1ZJTzI4X1BHX0VOQl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVklPMjhfUEdfRU5CX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgMTIKKyNkZWZpbmUgTVQ2MzI1X1ZEUkFNX1BHX0VOQl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVkRSQU1fUEdfRU5CX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgMTMKKyNkZWZpbmUgTVQ2MzI1X1JHX0VYVF9QTUlDX0VOX1BHX0VOQl9NQVNLICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfRVhUX1BNSUNfRU5fUEdfRU5CX1NISUZUICAgICAgICAgICAgICAgMTQKKyNkZWZpbmUgTVQ2MzI1X0NMUl9KVVNUX1JTVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfQ0xSX0pVU1RfUlNUX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgNAorI2RlZmluZSBNVDYzMjVfVVZMT19MMkhfREVCX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9VVkxPX0wySF9ERUJfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICA1CisjZGVmaW5lIE1UNjMyNV9KVVNUX1BXUktFWV9SU1RfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0pVU1RfUFdSS0VZX1JTVF9TSElGVCAgICAgICAgICAgICAgICAgICAgIDE0CisjZGVmaW5lIE1UNjMyNV9RSV9PU0NfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1FJX09TQ19FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgIDE1CisjZGVmaW5lIE1UNjMyNV9TVFJVUF9FWFRfUE1JQ19FTl9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1NUUlVQX0VYVF9QTUlDX0VOX1NISUZUICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1NUUlVQX0VYVF9QTUlDX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfU1RSVVBfRVhUX1BNSUNfU0VMX1NISUZUICAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBNVDYzMjVfU1RSVVBfQ09OOF9SU1YwX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHg3RgorI2RlZmluZSBNVDYzMjVfU1RSVVBfQ09OOF9SU1YwX1NISUZUICAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfUUlfRVhUX1BNSUNfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9RSV9FWFRfUE1JQ19FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAxNQorI2RlZmluZSBNVDYzMjVfU1RSVVBfQVVYQURDX1NUQVJUX1NXX01BU0sgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9TVFJVUF9BVVhBRENfU1RBUlRfU1dfU0hJRlQgICAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9TVFJVUF9BVVhBRENfUlNUQl9TV19NQVNLICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1NUUlVQX0FVWEFEQ19SU1RCX1NXX1NISUZUICAgICAgICAgICAgICAgIDUKKyNkZWZpbmUgTVQ2MzI1X1NUUlVQX0FVWEFEQ19TVEFSVF9TRUxfTUFTSyAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfU1RSVVBfQVVYQURDX1NUQVJUX1NFTF9TSElGVCAgICAgICAgICAgICAgNgorI2RlZmluZSBNVDYzMjVfU1RSVVBfQVVYQURDX1JTVEJfU0VMX01BU0sgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9TVFJVUF9BVVhBRENfUlNUQl9TRUxfU0hJRlQgICAgICAgICAgICAgICA3CisjZGVmaW5lIE1UNjMyNV9TVFJVUF9QV1JPRkZfU0VRX0VOX01BU0sgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1NUUlVQX1BXUk9GRl9TRVFfRU5fU0hJRlQgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1NUUlVQX1BXUk9GRl9QUkVPRkZfRU5fTUFTSyAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfU1RSVVBfUFdST0ZGX1BSRU9GRl9FTl9TSElGVCAgICAgICAgICAgICAgMQorI2RlZmluZSBNVDYzMjVfU1RSVVBfUFBfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9TVFJVUF9QUF9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9TVFJVUF9QUF9FTl9TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1NUUlVQX1BQX0VOX1NFTF9TSElGVCAgICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgTVQ2MzI1X1NUUlVQX0RJRzBfUlNWMF9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4RgorI2RlZmluZSBNVDYzMjVfU1RSVVBfRElHMF9SU1YwX1NISUZUICAgICAgICAgICAgICAgICAgICAgMgorI2RlZmluZSBNVDYzMjVfU1RSVVBfRElHMV9SU1YwX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgxRgorI2RlZmluZSBNVDYzMjVfU1RSVVBfRElHMV9SU1YwX1NISUZUICAgICAgICAgICAgICAgICAgICAgNgorI2RlZmluZSBNVDYzMjVfUkdfVVZMT19WVEhMX1JTVjBfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgxRgorI2RlZmluZSBNVDYzMjVfUkdfVVZMT19WVEhMX1JTVjBfU0hJRlQgICAgICAgICAgICAgICAgICAgMTEKKyNkZWZpbmUgTVQ2MzI1X1JHX0JHUl9SU1Y2X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQkdSX1JTVjZfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfQkdSX1JTVjVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19CR1JfUlNWNV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9SR19CR1JfUlNWNF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAweDFGCisjZGVmaW5lIE1UNjMyNV9SR19CR1JfUlNWNF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICA1CisjZGVmaW5lIE1UNjMyNV9SR19CR1JfUlNWM19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0JHUl9SU1YzX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgIDEwCisjZGVmaW5lIE1UNjMyNV9SR19CR1JfUlNWMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAweDcKKyNkZWZpbmUgTVQ2MzI1X1JHX0JHUl9SU1YyX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgIDExCisjZGVmaW5lIE1UNjMyNV9SR19CR1JfUlNWMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0JHUl9SU1YxX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgIDE0CisjZGVmaW5lIE1UNjMyNV9SR19CR1JfUlNWMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0JHUl9SU1YwX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgIDE1CisjZGVmaW5lIE1UNjMyNV9SR19TVFJVUF9SU1ZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAweEZGCisjZGVmaW5lIE1UNjMyNV9SR19TVFJVUF9SU1ZfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19FTl9TTVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0VOX1NNVF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX0VOX1NSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfRU5fU1JfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBNVDYzMjVfUkdfRU5fRThfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19FTl9FOF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAyCisjZGVmaW5lIE1UNjMyNV9SR19FTl9FNF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0VOX0U0X1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1RFU1RNT0RFX1NXRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVEVTVE1PREVfU1dFTl9TSElGVCAgICAgICAgICAgICAgICAgICAgMTEKKyNkZWZpbmUgTVQ2MzI1X1NUUlVQX0RJRzBfUlNWMV9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4RgorI2RlZmluZSBNVDYzMjVfU1RSVVBfRElHMF9SU1YxX1NISUZUICAgICAgICAgICAgICAgICAgICAgMTIKKyNkZWZpbmUgTVQ2MzI1X1JHX1JTVl9TV1JFR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkZGRgorI2RlZmluZSBNVDYzMjVfUkdfUlNWX1NXUkVHX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfU1RSVVBfUEdfU1RBVFVTX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9TVFJVUF9QR19TVEFUVVNfU0hJRlQgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9VU0JETF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1VTQkRMX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgTVQ2MzI1X1NUUlVQX1BHX1NUQVRVU19DTFJfTUFTSyAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfU1RSVVBfUEdfU1RBVFVTX0NMUl9TSElGVCAgICAgICAgICAgICAgICAgMTUKKyNkZWZpbmUgTVQ2MzI1X1NUUlVQX1BQX0VOX1BXUk9GRl9DTlRfTUFTSyAgICAgICAgICAgICAgIDB4M0ZGCisjZGVmaW5lIE1UNjMyNV9TVFJVUF9QUF9FTl9QV1JPRkZfQ05UX1NISUZUICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9TVFJVUF9ESUcwX1JTVjJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDNGCisjZGVmaW5lIE1UNjMyNV9TVFJVUF9ESUcwX1JTVjJfU0hJRlQgICAgICAgICAgICAgICAgICAgICAxMAorI2RlZmluZSBNVDYzMjVfU1RSVVBfVVZMT19VMVUyX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9TVFJVUF9VVkxPX1UxVTJfU0VMX1NISUZUICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9TVFJVUF9VVkxPX1UxVTJfU0VMX1NXQ1RSTF9NQVNLICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1NUUlVQX1VWTE9fVTFVMl9TRUxfU1dDVFJMX1NISUZUICAgICAgICAgIDEKKyNkZWZpbmUgTVQ2MzI1X1NUUlVQX0xCQVRfSU5UX1NFTF9DTFJfTUFTSyAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfU1RSVVBfTEJBVF9JTlRfU0VMX0NMUl9TSElGVCAgICAgICAgICAgICAgMgorI2RlZmluZSBNVDYzMjVfU1RSVVBfTEJBVF9JTlRfU0VMX1NXQ1RSTF9NQVNLICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9TVFJVUF9MQkFUX0lOVF9TRUxfU1dDVFJMX1NISUZUICAgICAgICAgICAzCisjZGVmaW5lIE1UNjMyNV9TVFJVUF9MQkFUX0lOVF9TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1NUUlVQX0xCQVRfSU5UX1NFTF9TSElGVCAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1NUUlVQX0xCQVRfSVJRX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfU1RSVVBfTEJBVF9JUlFfU0VUX1NISUZUICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfU1RSVVBfTEJBVF9JUlFfQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9TVFJVUF9MQkFUX0lSUV9DTFJfU0hJRlQgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9TVFJVUF9MQkFUX0lSUV9TV0NUUkxfTUFTSyAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1NUUlVQX0xCQVRfSVJRX1NXQ1RSTF9TSElGVCAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1JHX1VWTE9fVlNZU19ERUJfNzVLX1JQQ05UX01BWF9NQVNLICAgICAgIDB4RgorI2RlZmluZSBNVDYzMjVfUkdfVVZMT19WU1lTX0RFQl83NUtfUlBDTlRfTUFYX1NISUZUICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfVVZMT19WU1lTX0RFQl8yTV9SUENOVF9NQVhfTUFTSyAgICAgICAgMHhGCisjZGVmaW5lIE1UNjMyNV9SR19VVkxPX1ZTWVNfREVCXzJNX1JQQ05UX01BWF9TSElGVCAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9TVFJVUF9BVVhBRENfUlBDTlRfTUFYX01BU0sgICAgICAgICAgICAgICAweDdGCisjZGVmaW5lIE1UNjMyNV9TVFJVUF9BVVhBRENfUlBDTlRfTUFYX1NISUZUICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19SU1RfRFJWU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1JTVF9EUlZTRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDEyCisjZGVmaW5lIE1UNjMyNV9IV0NJRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEZGRkYKKyNkZWZpbmUgTVQ2MzI1X0hXQ0lEX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1NXQ0lEX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkZGRgorI2RlZmluZSBNVDYzMjVfU1dDSURfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfU1JDTEtFTl9JTjBfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19TUkNMS0VOX0lOMF9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19TUkNMS0VOX0lOMV9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1NSQ0xLRU5fSU4xX0VOX1NISUZUICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgTVQ2MzI1X1JHX09TQ19TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfT1NDX1NFTF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgMgorI2RlZmluZSBNVDYzMjVfUkdfU1JDTEtFTl9JTjBfSFdfTU9ERV9NQVNLICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19TUkNMS0VOX0lOMF9IV19NT0RFX1NISUZUICAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9SR19TUkNMS0VOX0lOMV9IV19NT0RFX01BU0sgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1NSQ0xLRU5fSU4xX0hXX01PREVfU0hJRlQgICAgICAgICAgICAgIDUKKyNkZWZpbmUgTVQ2MzI1X1JHX09TQ19TRUxfSFdfTU9ERV9NQVNLICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfT1NDX1NFTF9IV19NT0RFX1NISUZUICAgICAgICAgICAgICAgICAgNgorI2RlZmluZSBNVDYzMjVfUkdfU1JDTEtFTl9JTl9TWU5DX0VOX01BU0sgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19TUkNMS0VOX0lOX1NZTkNfRU5fU0hJRlQgICAgICAgICAgICAgICA4CisjZGVmaW5lIE1UNjMyNV9SR19PU0NfRU5fQVVUT19PRkZfTUFTSyAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX09TQ19FTl9BVVRPX09GRl9TSElGVCAgICAgICAgICAgICAgICAgIDkKKyNkZWZpbmUgTVQ2MzI1X1RFU1RfT1VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkYKKyNkZWZpbmUgTVQ2MzI1X1RFU1RfT1VUX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX01PTl9GTEFHX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4RkYKKyNkZWZpbmUgTVQ2MzI1X1JHX01PTl9GTEFHX1NFTF9TSElGVCAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX01PTl9HUlBfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MUYKKyNkZWZpbmUgTVQ2MzI1X1JHX01PTl9HUlBfU0VMX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1JHX05BTkRUUkVFX01PREVfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfTkFORFRSRUVfTU9ERV9TSElGVCAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfVEVTVF9BVVhBRENfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19URVNUX0FVWEFEQ19TSElGVCAgICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9SR19FRlVTRV9NT0RFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0VGVVNFX01PREVfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1JHX1RFU1RfU1RSVVBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVEVTVF9TVFJVUF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgMworI2RlZmluZSBNVDYzMjVfVEVTVE1PREVfU1dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9URVNUTU9ERV9TV19TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9FTl9TVEFUVVNfVkRWRlMxMV9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0VOX1NUQVRVU19WRFZGUzExX1NISUZUICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X0VOX1NUQVRVU19WRFZGUzEyX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfRU5fU1RBVFVTX1ZEVkZTMTJfU0hJRlQgICAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBNVDYzMjVfRU5fU1RBVFVTX1ZEUkFNX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9FTl9TVEFUVVNfVkRSQU1fU0hJRlQgICAgICAgICAgICAgICAgICAgICAyCisjZGVmaW5lIE1UNjMyNV9FTl9TVEFUVVNfVlJGMThfMF9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0VOX1NUQVRVU19WUkYxOF8wX1NISUZUICAgICAgICAgICAgICAgICAgIDMKKyNkZWZpbmUgTVQ2MzI1X0VOX1NUQVRVU19WR1BVX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfRU5fU1RBVFVTX1ZHUFVfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgNAorI2RlZmluZSBNVDYzMjVfRU5fU1RBVFVTX1ZDT1JFMV9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9FTl9TVEFUVVNfVkNPUkUxX1NISUZUICAgICAgICAgICAgICAgICAgICA1CisjZGVmaW5lIE1UNjMyNV9FTl9TVEFUVVNfVkNPUkUyX01BU0sgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0VOX1NUQVRVU19WQ09SRTJfU0hJRlQgICAgICAgICAgICAgICAgICAgIDYKKyNkZWZpbmUgTVQ2MzI1X0VOX1NUQVRVU19WSU8xOF9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfRU5fU1RBVFVTX1ZJTzE4X1NISUZUICAgICAgICAgICAgICAgICAgICAgNworI2RlZmluZSBNVDYzMjVfRU5fU1RBVFVTX1ZQQV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9FTl9TVEFUVVNfVlBBX1NISUZUICAgICAgICAgICAgICAgICAgICAgICA4CisjZGVmaW5lIE1UNjMyNV9FTl9TVEFUVVNfVlJUQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0VOX1NUQVRVU19WUlRDX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDkKKyNkZWZpbmUgTVQ2MzI1X0VOX1NUQVRVU19WVENYTzBfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfRU5fU1RBVFVTX1ZUQ1hPMF9TSElGVCAgICAgICAgICAgICAgICAgICAgMTAKKyNkZWZpbmUgTVQ2MzI1X0VOX1NUQVRVU19WVENYTzFfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfRU5fU1RBVFVTX1ZUQ1hPMV9TSElGVCAgICAgICAgICAgICAgICAgICAgMTEKKyNkZWZpbmUgTVQ2MzI1X0VOX1NUQVRVU19WQVVEMjhfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfRU5fU1RBVFVTX1ZBVUQyOF9TSElGVCAgICAgICAgICAgICAgICAgICAgMTIKKyNkZWZpbmUgTVQ2MzI1X0VOX1NUQVRVU19WQVVYQTI4X01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfRU5fU1RBVFVTX1ZBVVhBMjhfU0hJRlQgICAgICAgICAgICAgICAgICAgMTMKKyNkZWZpbmUgTVQ2MzI1X0VOX1NUQVRVU19WQ0FNQV9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfRU5fU1RBVFVTX1ZDQU1BX1NISUZUICAgICAgICAgICAgICAgICAgICAgMTQKKyNkZWZpbmUgTVQ2MzI1X0VOX1NUQVRVU19WSU8yOF9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfRU5fU1RBVFVTX1ZJTzI4X1NISUZUICAgICAgICAgICAgICAgICAgICAgMTUKKyNkZWZpbmUgTVQ2MzI1X0VOX1NUQVRVU19WQ0FNX0FGX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfRU5fU1RBVFVTX1ZDQU1fQUZfU0hJRlQgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfRU5fU1RBVFVTX1ZNQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9FTl9TVEFUVVNfVk1DX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9FTl9TVEFUVVNfVk1DSF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0VOX1NUQVRVU19WTUNIX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X0VOX1NUQVRVU19WRU1DMzNfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfRU5fU1RBVFVTX1ZFTUMzM19TSElGVCAgICAgICAgICAgICAgICAgICAgMworI2RlZmluZSBNVDYzMjVfRU5fU1RBVFVTX1ZHUDFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9FTl9TVEFUVVNfVkdQMV9TSElGVCAgICAgICAgICAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9FTl9TVEFUVVNfVkVGVVNFX01BU0sgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0VOX1NUQVRVU19WRUZVU0VfU0hJRlQgICAgICAgICAgICAgICAgICAgIDUKKyNkZWZpbmUgTVQ2MzI1X0VOX1NUQVRVU19WU0lNMV9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfRU5fU1RBVFVTX1ZTSU0xX1NISUZUICAgICAgICAgICAgICAgICAgICAgNgorI2RlZmluZSBNVDYzMjVfRU5fU1RBVFVTX1ZTSU0yX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9FTl9TVEFUVVNfVlNJTTJfU0hJRlQgICAgICAgICAgICAgICAgICAgICA3CisjZGVmaW5lIE1UNjMyNV9FTl9TVEFUVVNfVkNOMjhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0VOX1NUQVRVU19WQ04yOF9TSElGVCAgICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X0VOX1NUQVRVU19WTUlQSV9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfRU5fU1RBVFVTX1ZNSVBJX1NISUZUICAgICAgICAgICAgICAgICAgICAgOQorI2RlZmluZSBNVDYzMjVfRU5fU1RBVFVTX1ZJQlJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9FTl9TVEFUVVNfVklCUl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAxMAorI2RlZmluZSBNVDYzMjVfRU5fU1RBVFVTX1ZDQU1EX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9FTl9TVEFUVVNfVkNBTURfU0hJRlQgICAgICAgICAgICAgICAgICAgICAxMQorI2RlZmluZSBNVDYzMjVfRU5fU1RBVFVTX1ZVU0IzM19NQVNLICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9FTl9TVEFUVVNfVlVTQjMzX1NISUZUICAgICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfRU5fU1RBVFVTX1ZDQU1fSU9fTUFTSyAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9FTl9TVEFUVVNfVkNBTV9JT19TSElGVCAgICAgICAgICAgICAgICAgICAxMworI2RlZmluZSBNVDYzMjVfRU5fU1RBVFVTX1ZTUkFNX0RWRlMxX01BU0sgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9FTl9TVEFUVVNfVlNSQU1fRFZGUzFfU0hJRlQgICAgICAgICAgICAgICAxNAorI2RlZmluZSBNVDYzMjVfRU5fU1RBVFVTX1ZHUDJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9FTl9TVEFUVVNfVkdQMl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAxNQorI2RlZmluZSBNVDYzMjVfRU5fU1RBVFVTX1ZHUDNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9FTl9TVEFUVVNfVkdQM19TSElGVCAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9FTl9TVEFUVVNfVkJJQVNOX01BU0sgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0VOX1NUQVRVU19WQklBU05fU0hJRlQgICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgTVQ2MzI1X0VOX1NUQVRVU19WQ04zM19NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfRU5fU1RBVFVTX1ZDTjMzX1NISUZUICAgICAgICAgICAgICAgICAgICAgMgorI2RlZmluZSBNVDYzMjVfRU5fU1RBVFVTX1ZDTjE4X01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9FTl9TVEFUVVNfVkNOMThfU0hJRlQgICAgICAgICAgICAgICAgICAgICAzCisjZGVmaW5lIE1UNjMyNV9FTl9TVEFUVVNfVlJGMThfMV9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0VOX1NUQVRVU19WUkYxOF8xX1NISUZUICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X09DX1NUQVRVU19WRFZGUzExX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfT0NfU1RBVFVTX1ZEVkZTMTFfU0hJRlQgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfT0NfU1RBVFVTX1ZEVkZTMTJfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9PQ19TVEFUVVNfVkRWRlMxMl9TSElGVCAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9PQ19TVEFUVVNfVkRSQU1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X09DX1NUQVRVU19WRFJBTV9TSElGVCAgICAgICAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X09DX1NUQVRVU19WUkYxOF8wX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfT0NfU1RBVFVTX1ZSRjE4XzBfU0hJRlQgICAgICAgICAgICAgICAgICAgMworI2RlZmluZSBNVDYzMjVfT0NfU1RBVFVTX1ZHUFVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9PQ19TVEFUVVNfVkdQVV9TSElGVCAgICAgICAgICAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9PQ19TVEFUVVNfVkNPUkUxX01BU0sgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X09DX1NUQVRVU19WQ09SRTFfU0hJRlQgICAgICAgICAgICAgICAgICAgIDUKKyNkZWZpbmUgTVQ2MzI1X09DX1NUQVRVU19WQ09SRTJfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfT0NfU1RBVFVTX1ZDT1JFMl9TSElGVCAgICAgICAgICAgICAgICAgICAgNgorI2RlZmluZSBNVDYzMjVfT0NfU1RBVFVTX1ZJTzE4X01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9PQ19TVEFUVVNfVklPMThfU0hJRlQgICAgICAgICAgICAgICAgICAgICA3CisjZGVmaW5lIE1UNjMyNV9PQ19TVEFUVVNfVlBBX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X09DX1NUQVRVU19WUEFfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X09DX1NUQVRVU19WVENYTzBfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfT0NfU1RBVFVTX1ZUQ1hPMF9TSElGVCAgICAgICAgICAgICAgICAgICAgOQorI2RlZmluZSBNVDYzMjVfT0NfU1RBVFVTX1ZUQ1hPMV9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9PQ19TVEFUVVNfVlRDWE8xX1NISUZUICAgICAgICAgICAgICAgICAgICAxMAorI2RlZmluZSBNVDYzMjVfT0NfU1RBVFVTX1ZBVUQyOF9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9PQ19TVEFUVVNfVkFVRDI4X1NISUZUICAgICAgICAgICAgICAgICAgICAxMQorI2RlZmluZSBNVDYzMjVfT0NfU1RBVFVTX1ZBVVhBMjhfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9PQ19TVEFUVVNfVkFVWEEyOF9TSElGVCAgICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfT0NfU1RBVFVTX1ZDQU1BX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9PQ19TVEFUVVNfVkNBTUFfU0hJRlQgICAgICAgICAgICAgICAgICAgICAxMworI2RlZmluZSBNVDYzMjVfT0NfU1RBVFVTX1ZJTzI4X01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9PQ19TVEFUVVNfVklPMjhfU0hJRlQgICAgICAgICAgICAgICAgICAgICAxNAorI2RlZmluZSBNVDYzMjVfT0NfU1RBVFVTX1ZDQU1fQUZfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9PQ19TVEFUVVNfVkNBTV9BRl9TSElGVCAgICAgICAgICAgICAgICAgICAxNQorI2RlZmluZSBNVDYzMjVfT0NfU1RBVFVTX1ZNQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9PQ19TVEFUVVNfVk1DX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9PQ19TVEFUVVNfVk1DSF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X09DX1NUQVRVU19WTUNIX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgTVQ2MzI1X09DX1NUQVRVU19WRU1DMzNfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfT0NfU1RBVFVTX1ZFTUMzM19TSElGVCAgICAgICAgICAgICAgICAgICAgMgorI2RlZmluZSBNVDYzMjVfT0NfU1RBVFVTX1ZHUDFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9PQ19TVEFUVVNfVkdQMV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAzCisjZGVmaW5lIE1UNjMyNV9PQ19TVEFUVVNfVkVGVVNFX01BU0sgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X09DX1NUQVRVU19WRUZVU0VfU0hJRlQgICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X09DX1NUQVRVU19WU0lNMV9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfT0NfU1RBVFVTX1ZTSU0xX1NISUZUICAgICAgICAgICAgICAgICAgICAgNQorI2RlZmluZSBNVDYzMjVfT0NfU1RBVFVTX1ZTSU0yX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9PQ19TVEFUVVNfVlNJTTJfU0hJRlQgICAgICAgICAgICAgICAgICAgICA2CisjZGVmaW5lIE1UNjMyNV9PQ19TVEFUVVNfVkNOMjhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X09DX1NUQVRVU19WQ04yOF9TSElGVCAgICAgICAgICAgICAgICAgICAgIDcKKyNkZWZpbmUgTVQ2MzI1X09DX1NUQVRVU19WTUlQSV9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfT0NfU1RBVFVTX1ZNSVBJX1NISUZUICAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfT0NfU1RBVFVTX1ZJQlJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9PQ19TVEFUVVNfVklCUl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAxMAorI2RlZmluZSBNVDYzMjVfT0NfU1RBVFVTX1ZDQU1EX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9PQ19TVEFUVVNfVkNBTURfU0hJRlQgICAgICAgICAgICAgICAgICAgICAxMQorI2RlZmluZSBNVDYzMjVfT0NfU1RBVFVTX1ZVU0IzM19NQVNLICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9PQ19TVEFUVVNfVlVTQjMzX1NISUZUICAgICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfT0NfU1RBVFVTX1ZDQU1fSU9fTUFTSyAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9PQ19TVEFUVVNfVkNBTV9JT19TSElGVCAgICAgICAgICAgICAgICAgICAxMworI2RlZmluZSBNVDYzMjVfT0NfU1RBVFVTX1ZTUkFNX0RWRlMxX01BU0sgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9PQ19TVEFUVVNfVlNSQU1fRFZGUzFfU0hJRlQgICAgICAgICAgICAgICAxNAorI2RlZmluZSBNVDYzMjVfT0NfU1RBVFVTX1ZCSUFTTl9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9PQ19TVEFUVVNfVkJJQVNOX1NISUZUICAgICAgICAgICAgICAgICAgICAxNQorI2RlZmluZSBNVDYzMjVfT0NfU1RBVFVTX1ZHUDJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9PQ19TVEFUVVNfVkdQMl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9PQ19TVEFUVVNfVkdQM19NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X09DX1NUQVRVU19WR1AzX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgTVQ2MzI1X09DX1NUQVRVU19WQ04zM19NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfT0NfU1RBVFVTX1ZDTjMzX1NISUZUICAgICAgICAgICAgICAgICAgICAgMgorI2RlZmluZSBNVDYzMjVfT0NfU1RBVFVTX1ZDTjE4X01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9PQ19TVEFUVVNfVkNOMThfU0hJRlQgICAgICAgICAgICAgICAgICAgICAzCisjZGVmaW5lIE1UNjMyNV9PQ19TVEFUVVNfVlJGMThfMV9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X09DX1NUQVRVU19WUkYxOF8xX1NISUZUICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1ZUQ1hPX1BHX0RFQl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVlRDWE9fUEdfREVCX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgMworI2RlZmluZSBNVDYzMjVfVkFVRDI4X1BHX0RFQl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9WQVVEMjhfUEdfREVCX1NISUZUICAgICAgICAgICAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9WU1JBTV9EVkZTMV9QR19ERUJfTUFTSyAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1ZTUkFNX0RWRlMxX1BHX0RFQl9TSElGVCAgICAgICAgICAgICAgICAgIDUKKyNkZWZpbmUgTVQ2MzI1X1ZJTzI4X1BHX0RFQl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVklPMjhfUEdfREVCX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgNgorI2RlZmluZSBNVDYzMjVfVklPMThfUEdfREVCX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9WSU8xOF9QR19ERUJfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICA4CisjZGVmaW5lIE1UNjMyNV9WQ09SRTJfUEdfREVCX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFMl9QR19ERUJfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDkKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFMV9QR19ERUJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVkNPUkUxX1BHX0RFQl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgMTAKKyNkZWZpbmUgTVQ2MzI1X1ZHUFVfUEdfREVCX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVkdQVV9QR19ERUJfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgMTEKKyNkZWZpbmUgTVQ2MzI1X1ZVU0JfUEdfREVCX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVlVTQl9QR19ERUJfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgMTIKKyNkZWZpbmUgTVQ2MzI1X1ZEUkFNX1BHX0RFQl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVkRSQU1fUEdfREVCX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgMTMKKyNkZWZpbmUgTVQ2MzI1X1ZEVkZTMTJfUEdfREVCX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVkRWRlMxMl9QR19ERUJfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgMTQKKyNkZWZpbmUgTVQ2MzI1X1ZEVkZTMTFfUEdfREVCX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVkRWRlMxMV9QR19ERUJfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgMTUKKyNkZWZpbmUgTVQ2MzI1X1BNVV9URVNUX01PREVfU0NBTl9NQVNLICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUE1VX1RFU1RfTU9ERV9TQ0FOX1NISUZUICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUFdSS0VZX0RFQl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9QV1JLRVlfREVCX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9IT01FS0VZX0RFQl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0hPTUVLRVlfREVCX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1JUQ19YVEFMX0RFVF9ET05FX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUlRDX1hUQUxfREVUX0RPTkVfU0hJRlQgICAgICAgICAgICAgICAgICAgNgorI2RlZmluZSBNVDYzMjVfWE9TQzMyX0VOQl9ERVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9YT1NDMzJfRU5CX0RFVF9TSElGVCAgICAgICAgICAgICAgICAgICAgICA3CisjZGVmaW5lIE1UNjMyNV9SVENfWFRBTF9ERVRfUlNWX01BU0sgICAgICAgICAgICAgICAgICAgICAweEYKKyNkZWZpbmUgTVQ2MzI1X1JUQ19YVEFMX0RFVF9SU1ZfU0hJRlQgICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1JHX1BNVV9URFNFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfUE1VX1REU0VMX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfU1BJX1REU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19TUElfVERTRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9SR19BVURfVERTRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVRF9URFNFTF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1JHX0UzMkNBTF9URFNFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfRTMyQ0FMX1REU0VMX1NISUZUICAgICAgICAgICAgICAgICAgICAgMworI2RlZmluZSBNVDYzMjVfUkdfUE1VX1JEU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19QTVVfUkRTRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19TUElfUkRTRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1NQSV9SRFNFTF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVRF9SRFNFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQVVEX1JEU0VMX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgMgorI2RlZmluZSBNVDYzMjVfUkdfRTMyQ0FMX1JEU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19FMzJDQUxfUkRTRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAzCisjZGVmaW5lIE1UNjMyNV9SR19TTVRfV0RUUlNUQl9JTl9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1NNVF9XRFRSU1RCX0lOX1NISUZUICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX1NNVF9IT01FS0VZX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfU01UX0hPTUVLRVlfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBNVDYzMjVfUkdfU01UX1NSQ0xLRU5fSU4wX01BU0sgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19TTVRfU1JDTEtFTl9JTjBfU0hJRlQgICAgICAgICAgICAgICAgICAyCisjZGVmaW5lIE1UNjMyNV9SR19TTVRfU1JDTEtFTl9JTjFfTUFTSyAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1NNVF9TUkNMS0VOX0lOMV9TSElGVCAgICAgICAgICAgICAgICAgIDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1NNVF9SVENfMzJLMVY4XzBfTUFTSyAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfU01UX1JUQ18zMksxVjhfMF9TSElGVCAgICAgICAgICAgICAgICAgNAorI2RlZmluZSBNVDYzMjVfUkdfU01UX1JUQ18zMksxVjhfMV9NQVNLICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19TTVRfUlRDXzMySzFWOF8xX1NISUZUICAgICAgICAgICAgICAgICA1CisjZGVmaW5lIE1UNjMyNV9SR19TTVRfU1BJX0NMS19NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1NNVF9TUElfQ0xLX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX1NNVF9TUElfQ1NOX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfU01UX1NQSV9DU05fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBNVDYzMjVfUkdfU01UX1NQSV9NT1NJX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19TTVRfU1BJX01PU0lfU0hJRlQgICAgICAgICAgICAgICAgICAgICAyCisjZGVmaW5lIE1UNjMyNV9SR19TTVRfU1BJX01JU09fTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1NNVF9TUElfTUlTT19TSElGVCAgICAgICAgICAgICAgICAgICAgIDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1NNVF9BVURfQ0xLX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfU01UX0FVRF9DTEtfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfU01UX0FVRF9EQVRfTU9TSV9NQVNLICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19TTVRfQVVEX0RBVF9NT1NJX1NISUZUICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9SR19TTVRfQVVEX0RBVF9NSVNPX01BU0sgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1NNVF9BVURfREFUX01JU09fU0hJRlQgICAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1JHX1NNVF9WT0lDRV9DTEtfTUlTT19NQVNLICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfU01UX1ZPSUNFX0NMS19NSVNPX1NISUZUICAgICAgICAgICAgICAgMworI2RlZmluZSBNVDYzMjVfUkdfU01UX0VOQkJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19TTVRfRU5CQl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9SR19TTVRfWE9TQ19FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1NNVF9YT1NDX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDUKKyNkZWZpbmUgTVQ2MzI1X1JHX09DVExfU1JDTEtFTl9JTjBfTUFTSyAgICAgICAgICAgICAgICAgIDB4RgorI2RlZmluZSBNVDYzMjVfUkdfT0NUTF9TUkNMS0VOX0lOMF9TSElGVCAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfT0NUTF9TUkNMS0VOX0lOMV9NQVNLICAgICAgICAgICAgICAgICAgMHhGCisjZGVmaW5lIE1UNjMyNV9SR19PQ1RMX1NSQ0xLRU5fSU4xX1NISUZUICAgICAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9SR19PQ1RMX1JUQ18zMksxVjhfMF9NQVNLICAgICAgICAgICAgICAgICAweEYKKyNkZWZpbmUgTVQ2MzI1X1JHX09DVExfUlRDXzMySzFWOF8wX1NISUZUICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1JHX09DVExfUlRDXzMySzFWOF8xX01BU0sgICAgICAgICAgICAgICAgIDB4RgorI2RlZmluZSBNVDYzMjVfUkdfT0NUTF9SVENfMzJLMVY4XzFfU0hJRlQgICAgICAgICAgICAgICAgMTIKKyNkZWZpbmUgTVQ2MzI1X1JHX09DVExfU1BJX0NMS19NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4RgorI2RlZmluZSBNVDYzMjVfUkdfT0NUTF9TUElfQ0xLX1NISUZUICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfT0NUTF9TUElfQ1NOX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHhGCisjZGVmaW5lIE1UNjMyNV9SR19PQ1RMX1NQSV9DU05fU0hJRlQgICAgICAgICAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9SR19PQ1RMX1NQSV9NT1NJX01BU0sgICAgICAgICAgICAgICAgICAgICAweEYKKyNkZWZpbmUgTVQ2MzI1X1JHX09DVExfU1BJX01PU0lfU0hJRlQgICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1JHX09DVExfU1BJX01JU09fTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4RgorI2RlZmluZSBNVDYzMjVfUkdfT0NUTF9TUElfTUlTT19TSElGVCAgICAgICAgICAgICAgICAgICAgMTIKKyNkZWZpbmUgTVQ2MzI1X1JHX09DVExfQVVEX0RBVF9NT1NJX01BU0sgICAgICAgICAgICAgICAgIDB4RgorI2RlZmluZSBNVDYzMjVfUkdfT0NUTF9BVURfREFUX01PU0lfU0hJRlQgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfT0NUTF9BVURfREFUX01JU09fTUFTSyAgICAgICAgICAgICAgICAgMHhGCisjZGVmaW5lIE1UNjMyNV9SR19PQ1RMX0FVRF9EQVRfTUlTT19TSElGVCAgICAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9SR19PQ1RMX0FVRF9DTEtfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweEYKKyNkZWZpbmUgTVQ2MzI1X1JHX09DVExfQVVEX0NMS19TSElGVCAgICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1JHX09DVExfVk9JQ0VfQ0xLX01JU09fTUFTSyAgICAgICAgICAgICAgIDB4RgorI2RlZmluZSBNVDYzMjVfUkdfT0NUTF9WT0lDRV9DTEtfTUlTT19TSElGVCAgICAgICAgICAgICAgMTIKKyNkZWZpbmUgTVQ2MzI1X1JHX09DVExfSE9NRUtFWV9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4RgorI2RlZmluZSBNVDYzMjVfUkdfT0NUTF9IT01FS0VZX1NISUZUICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfT0NUTF9FTkJCX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHhGCisjZGVmaW5lIE1UNjMyNV9SR19PQ1RMX0VOQkJfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9SR19PQ1RMX1hPU0NfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAweEYKKyNkZWZpbmUgTVQ2MzI1X1JHX09DVExfWE9TQ19FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1RPUF9TVEFUVVNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RgorI2RlZmluZSBNVDYzMjVfVE9QX1NUQVRVU19TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfVE9QX1NUQVRVU19TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9UT1BfU1RBVFVTX1NFVF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9UT1BfU1RBVFVTX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1RPUF9TVEFUVVNfQ0xSX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHU19WRFZGUzExX0VOUFdNX1NUQVRVU19NQVNLICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdTX1ZEVkZTMTFfRU5QV01fU1RBVFVTX1NISUZUICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdTX1ZEVkZTMTJfRU5QV01fU1RBVFVTX01BU0sgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR1NfVkRWRlMxMl9FTlBXTV9TVEFUVVNfU0hJRlQgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9SR1NfVkdQVV9FTlBXTV9TVEFUVVNfTUFTSyAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHU19WR1BVX0VOUFdNX1NUQVRVU19TSElGVCAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1JHU19WSU8xOF9FTlBXTV9TVEFUVVNfTUFTSyAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdTX1ZJTzE4X0VOUFdNX1NUQVRVU19TSElGVCAgICAgICAgICAgICAgMworI2RlZmluZSBNVDYzMjVfUkdTX1ZDT1JFMV9FTlBXTV9TVEFUVVNfTUFTSyAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR1NfVkNPUkUxX0VOUFdNX1NUQVRVU19TSElGVCAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9SR1NfVkNPUkUyX0VOUFdNX1NUQVRVU19NQVNLICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHU19WQ09SRTJfRU5QV01fU1RBVFVTX1NISUZUICAgICAgICAgICAgIDUKKyNkZWZpbmUgTVQ2MzI1X1JHU19WUkYxOF8wX0VOUFdNX1NUQVRVU19NQVNLICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdTX1ZSRjE4XzBfRU5QV01fU1RBVFVTX1NISUZUICAgICAgICAgICAgNgorI2RlZmluZSBNVDYzMjVfUkdTX1ZEUkFNX0VOUFdNX1NUQVRVU19NQVNLICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR1NfVkRSQU1fRU5QV01fU1RBVFVTX1NISUZUICAgICAgICAgICAgICA3CisjZGVmaW5lIE1UNjMyNV9SR1NfUFBfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHU19QUF9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1JHU19CQzExX0lEX0ZMT0FUX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdTX0JDMTFfSURfRkxPQVRfU0hJRlQgICAgICAgICAgICAgICAgICAgOQorI2RlZmluZSBNVDYzMjVfUkdTX0JDMTFfSURfQV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR1NfQkMxMV9JRF9BX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAxMAorI2RlZmluZSBNVDYzMjVfUkdTX0JDMTFfSURfQl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR1NfQkMxMV9JRF9CX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAxMQorI2RlZmluZSBNVDYzMjVfUkdTX0JDMTFfSURfQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR1NfQkMxMV9JRF9DX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfUkdTX0JDMTFfSURfR0RfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR1NfQkMxMV9JRF9HRF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAxMworI2RlZmluZSBNVDYzMjVfUkdfR19TTVBTX1BEX0NLX1BETl9NQVNLICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19HX1NNUFNfUERfQ0tfUEROX1NISUZUICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19HX1NNUFNfQVVEX0NLX1BETl9NQVNLICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0dfU01QU19BVURfQ0tfUEROX1NISUZUICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0dfRFJWXzJNX0NLX1BETl9NQVNLICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfR19EUlZfMk1fQ0tfUEROX1NISUZUICAgICAgICAgICAgICAgICAgMgorI2RlZmluZSBNVDYzMjVfUkdfRFJWXzMyS19DS19QRE5fTUFTSyAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19EUlZfMzJLX0NLX1BETl9TSElGVCAgICAgICAgICAgICAgICAgICAzCisjZGVmaW5lIE1UNjMyNV9SR19EUlZfSVNJTkswX0NLX1BETl9NQVNLICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0RSVl9JU0lOSzBfQ0tfUEROX1NISUZUICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1JHX0RSVl9JU0lOSzFfQ0tfUEROX01BU0sgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfRFJWX0lTSU5LMV9DS19QRE5fU0hJRlQgICAgICAgICAgICAgICAgNQorI2RlZmluZSBNVDYzMjVfUkdfRFJWX0lTSU5LMl9DS19QRE5fTUFTSyAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19EUlZfSVNJTksyX0NLX1BETl9TSElGVCAgICAgICAgICAgICAgICA2CisjZGVmaW5lIE1UNjMyNV9SR19EUlZfSVNJTkszX0NLX1BETl9NQVNLICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0RSVl9JU0lOSzNfQ0tfUEROX1NISUZUICAgICAgICAgICAgICAgIDcKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVWEFEQ18xTV9DS19QRE5fTUFTSyAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQVVYQURDXzFNX0NLX1BETl9TSElGVCAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfUkdfQVVYQURDX0NLX1BETl9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19BVVhBRENfQ0tfUEROX1NISUZUICAgICAgICAgICAgICAgICAgICA5CisjZGVmaW5lIE1UNjMyNV9SR19BVVhBRENfMzJLX0NLX1BETl9NQVNLICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVWEFEQ18zMktfQ0tfUEROX1NISUZUICAgICAgICAgICAgICAgIDEwCisjZGVmaW5lIE1UNjMyNV9SR19BVUROQ1BfQ0tfUEROX01BU0sgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVRE5DUF9DS19QRE5fU0hJRlQgICAgICAgICAgICAgICAgICAgIDExCisjZGVmaW5lIE1UNjMyNV9SR19BVURJRl9DS19QRE5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVRElGX0NLX1BETl9TSElGVCAgICAgICAgICAgICAgICAgICAgIDEyCisjZGVmaW5lIE1UNjMyNV9SR19BVURfQ0tfUEROX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVRF9DS19QRE5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDEzCisjZGVmaW5lIE1UNjMyNV9SR19aQ0QxM01fQ0tfUEROX01BU0sgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1pDRDEzTV9DS19QRE5fU0hJRlQgICAgICAgICAgICAgICAgICAgIDE0CisjZGVmaW5lIE1UNjMyNV9SR19WT1cxMk1fQ0tfUEROX01BU0sgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZPVzEyTV9DS19QRE5fU0hJRlQgICAgICAgICAgICAgICAgICAgIDE1CisjZGVmaW5lIE1UNjMyNV9UT1BfQ0tQRE5fQ09OMF9TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAweEZGRkYKKyNkZWZpbmUgTVQ2MzI1X1RPUF9DS1BETl9DT04wX1NFVF9TSElGVCAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1RPUF9DS1BETl9DT04wX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgIDB4RkZGRgorI2RlZmluZSBNVDYzMjVfVE9QX0NLUEROX0NPTjBfQ0xSX1NISUZUICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfUlRDXzMyS19DS19QRE5fTUFTSyAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19SVENfMzJLX0NLX1BETl9TSElGVCAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19SVENfTUNMS19QRE5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1JUQ19NQ0xLX1BETl9TSElGVCAgICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1JUQ183NUtfQ0tfUEROX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfUlRDXzc1S19DS19QRE5fU0hJRlQgICAgICAgICAgICAgICAgICAgMgorI2RlZmluZSBNVDYzMjVfUkdfUlRDREVUX0NLX1BETl9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19SVENERVRfQ0tfUEROX1NISUZUICAgICAgICAgICAgICAgICAgICAzCisjZGVmaW5lIE1UNjMyNV9SR19SVEMzMktfMVY4XzBfT19QRE5fTUFTSyAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1JUQzMyS18xVjhfMF9PX1BETl9TSElGVCAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1JHX1JUQzMyS18xVjhfMV9PX1BETl9NQVNLICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfUlRDMzJLXzFWOF8xX09fUEROX1NISUZUICAgICAgICAgICAgICAgNQorI2RlZmluZSBNVDYzMjVfUkdfUlRDXzJTRUNfT0ZGX0RFVF9QRE5fTUFTSyAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19SVENfMlNFQ19PRkZfREVUX1BETl9TSElGVCAgICAgICAgICAgICA2CisjZGVmaW5lIE1UNjMyNV9SR19GUU1UUl9DS19QRE5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0ZRTVRSX0NLX1BETl9TSElGVCAgICAgICAgICAgICAgICAgICAgIDcKKyNkZWZpbmUgTVQ2MzI1X1JHX1NUQl8xTV9DS19QRE5fTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfU1RCXzFNX0NLX1BETl9TSElGVCAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfUkdfQlVDS18xTV9DS19QRE5fTUFTSyAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19CVUNLXzFNX0NLX1BETl9TSElGVCAgICAgICAgICAgICAgICAgICA5CisjZGVmaW5lIE1UNjMyNV9SR19CVUNLXzE4TV9DS19QRE5fTUFTSyAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0JVQ0tfMThNX0NLX1BETl9TSElGVCAgICAgICAgICAgICAgICAgIDEwCisjZGVmaW5lIE1UNjMyNV9SR19QV01PQ182TV9DS19QRE5fTUFTSyAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1BXTU9DXzZNX0NLX1BETl9TSElGVCAgICAgICAgICAgICAgICAgIDExCisjZGVmaW5lIE1UNjMyNV9SR19TVEJfQVVEXzFNX0NLX1BETl9NQVNLICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1NUQl9BVURfMU1fQ0tfUEROX1NISUZUICAgICAgICAgICAgICAgIDEyCisjZGVmaW5lIE1UNjMyNV9SR19CVUNLX0FVRF8xTV9DS19QRE5fTUFTSyAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0JVQ0tfQVVEXzFNX0NLX1BETl9TSElGVCAgICAgICAgICAgICAgIDEzCisjZGVmaW5lIE1UNjMyNV9SR19CVUNLX0FVRF8xOE1fQ0tfUEROX01BU0sgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0JVQ0tfQVVEXzE4TV9DS19QRE5fU0hJRlQgICAgICAgICAgICAgIDE0CisjZGVmaW5lIE1UNjMyNV9SR19QV01PQ19BVURfNk1fQ0tfUEROX01BU0sgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1BXTU9DX0FVRF82TV9DS19QRE5fU0hJRlQgICAgICAgICAgICAgIDE1CisjZGVmaW5lIE1UNjMyNV9UT1BfQ0tQRE5fQ09OMV9TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAweEZGRkYKKyNkZWZpbmUgTVQ2MzI1X1RPUF9DS1BETl9DT04xX1NFVF9TSElGVCAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1RPUF9DS1BETl9DT04xX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgIDB4RkZGRgorI2RlZmluZSBNVDYzMjVfVE9QX0NLUEROX0NPTjFfQ0xSX1NISUZUICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfU1BLX0NLX1BETl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19TUEtfQ0tfUEROX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19TUEtfUFdNX0NLX1BETl9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1NQS19QV01fQ0tfUEROX1NISUZUICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0ZHQURDX0FOQV9DS19QRE5fTUFTSyAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfRkdBRENfQU5BX0NLX1BETl9TSElGVCAgICAgICAgICAgICAgICAgMgorI2RlZmluZSBNVDYzMjVfUkdfRkdBRENfRElHX0NLX1BETl9NQVNLICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19GR0FEQ19ESUdfQ0tfUEROX1NISUZUICAgICAgICAgICAgICAgICAzCisjZGVmaW5lIE1UNjMyNV9SR19CSUZfWDcyX0NLX1BETl9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0JJRl9YNzJfQ0tfUEROX1NISUZUICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1JHX0JJRl9YNF9DS19QRE5fTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQklGX1g0X0NLX1BETl9TSElGVCAgICAgICAgICAgICAgICAgICAgNQorI2RlZmluZSBNVDYzMjVfUkdfQklGX1gxX0NLX1BETl9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19CSUZfWDFfQ0tfUEROX1NISUZUICAgICAgICAgICAgICAgICAgICA2CisjZGVmaW5lIE1UNjMyNV9SR19QQ0hSXzMyS19DS19QRE5fTUFTSyAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1BDSFJfMzJLX0NLX1BETl9TSElGVCAgICAgICAgICAgICAgICAgIDcKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVRDE4TV9DS19QRE5fTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQVVEMThNX0NLX1BETl9TSElGVCAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfUkdfQUNDREVUX0NLX1BETl9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19BQ0NERVRfQ0tfUEROX1NISUZUICAgICAgICAgICAgICAgICAgICA5CisjZGVmaW5lIE1UNjMyNV9SR19GUU1UUl8zMktfQ0tfUEROX01BU0sgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0ZRTVRSXzMyS19DS19QRE5fU0hJRlQgICAgICAgICAgICAgICAgIDEwCisjZGVmaW5lIE1UNjMyNV9SR19JTlRSUF9DS19QRE5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0lOVFJQX0NLX1BETl9TSElGVCAgICAgICAgICAgICAgICAgICAgIDExCisjZGVmaW5lIE1UNjMyNV9SR19SVENfMjZNX0NLX1BETl9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1JUQ18yNk1fQ0tfUEROX1NISUZUICAgICAgICAgICAgICAgICAgIDEyCisjZGVmaW5lIE1UNjMyNV9SR19SVENfRU9TQzMyX0NLX1BETl9NQVNLICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1JUQ19FT1NDMzJfQ0tfUEROX1NISUZUICAgICAgICAgICAgICAgIDEzCisjZGVmaW5lIE1UNjMyNV9SR19UUklNXzc1S19DS19QRE5fTUFTSyAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1RSSU1fNzVLX0NLX1BETl9TSElGVCAgICAgICAgICAgICAgICAgIDE0CisjZGVmaW5lIE1UNjMyNV9SR19TVFJVUF9MQkFUX1NFTF9DS19QRE5fTUFTSyAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1NUUlVQX0xCQVRfU0VMX0NLX1BETl9TSElGVCAgICAgICAgICAgIDE1CisjZGVmaW5lIE1UNjMyNV9UT1BfQ0tQRE5fQ09OMl9TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAweEZGRkYKKyNkZWZpbmUgTVQ2MzI1X1RPUF9DS1BETl9DT04yX1NFVF9TSElGVCAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1RPUF9DS1BETl9DT04yX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgIDB4RkZGRgorI2RlZmluZSBNVDYzMjVfVE9QX0NLUEROX0NPTjJfQ0xSX1NISUZUICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfU1RSVVBfNzVLX0NLX1BETl9NQVNLICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19TVFJVUF83NUtfQ0tfUEROX1NISUZUICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19TVFJVUF8zMktfQ0tfUEROX01BU0sgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1NUUlVQXzMyS19DS19QRE5fU0hJRlQgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0VGVVNFX0NLX1BETl9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfRUZVU0VfQ0tfUEROX1NISUZUICAgICAgICAgICAgICAgICAgICAgMgorI2RlZmluZSBNVDYzMjVfUkdfU01QU19DS19ESVZfUEROX01BU0sgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19TTVBTX0NLX0RJVl9QRE5fU0hJRlQgICAgICAgICAgICAgICAgICAzCisjZGVmaW5lIE1UNjMyNV9SR19TUElfQ0tfUEROX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1NQSV9DS19QRE5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1JHX0JHUl9URVNUX0NLX1BETl9NQVNLICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQkdSX1RFU1RfQ0tfUEROX1NISUZUICAgICAgICAgICAgICAgICAgNQorI2RlZmluZSBNVDYzMjVfUkdfRkdBRENfRlRfQ0tfUEROX01BU0sgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19GR0FEQ19GVF9DS19QRE5fU0hJRlQgICAgICAgICAgICAgICAgICA2CisjZGVmaW5lIE1UNjMyNV9SR19QQ0hSX1RFU1RfQ0tfUEROX01BU0sgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1BDSFJfVEVTVF9DS19QRE5fU0hJRlQgICAgICAgICAgICAgICAgIDcKKyNkZWZpbmUgTVQ2MzI1X1JHX0JVQ0tfMzJLX0NLX1BETl9NQVNLICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQlVDS18zMktfQ0tfUEROX1NISUZUICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfUkdfQlVDS19BTkFfQ0tfUEROX01BU0sgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19CVUNLX0FOQV9DS19QRE5fU0hJRlQgICAgICAgICAgICAgICAgICA5CisjZGVmaW5lIE1UNjMyNV9SR19FT1NDX0NBTElfVEVTVF9DS19QRE5fTUFTSyAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0VPU0NfQ0FMSV9URVNUX0NLX1BETl9TSElGVCAgICAgICAgICAgIDEwCisjZGVmaW5lIE1UNjMyNV9UT1BfQ0tQRE5fQ09OM19SU1ZfTUFTSyAgICAgICAgICAgICAgICAgICAweDFGCisjZGVmaW5lIE1UNjMyNV9UT1BfQ0tQRE5fQ09OM19SU1ZfU0hJRlQgICAgICAgICAgICAgICAgICAxMQorI2RlZmluZSBNVDYzMjVfVE9QX0NLUEROX0NPTjNfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgMHhGRkZGCisjZGVmaW5lIE1UNjMyNV9UT1BfQ0tQRE5fQ09OM19TRVRfU0hJRlQgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9UT1BfQ0tQRE5fQ09OM19DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAweEZGRkYKKyNkZWZpbmUgTVQ2MzI1X1RPUF9DS1BETl9DT04zX0NMUl9TSElGVCAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVRElGX0NLX0NLU0VMX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQVVESUZfQ0tfQ0tTRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfQVVEX0NLX0NLU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19BVURfQ0tfQ0tTRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9SR19EUlZfSVNJTkswX0NLX0NLU0VMX01BU0sgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0RSVl9JU0lOSzBfQ0tfQ0tTRUxfU0hJRlQgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1JHX0RSVl9JU0lOSzFfQ0tfQ0tTRUxfTUFTSyAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfRFJWX0lTSU5LMV9DS19DS1NFTF9TSElGVCAgICAgICAgICAgICAgNQorI2RlZmluZSBNVDYzMjVfUkdfRFJWX0lTSU5LMl9DS19DS1NFTF9NQVNLICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19EUlZfSVNJTksyX0NLX0NLU0VMX1NISUZUICAgICAgICAgICAgICA2CisjZGVmaW5lIE1UNjMyNV9SR19EUlZfSVNJTkszX0NLX0NLU0VMX01BU0sgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0RSVl9JU0lOSzNfQ0tfQ0tTRUxfU0hJRlQgICAgICAgICAgICAgIDcKKyNkZWZpbmUgTVQ2MzI1X1JHX0ZRTVRSX0NLX0NLU0VMX01BU0sgICAgICAgICAgICAgICAgICAgIDB4NworI2RlZmluZSBNVDYzMjVfUkdfRlFNVFJfQ0tfQ0tTRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfUkdfNzVLXzMyS19TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR183NUtfMzJLX1NFTF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAxMQorI2RlZmluZSBNVDYzMjVfUkdfQVVYQURDX0NLX0NLU0VMX01BU0sgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19BVVhBRENfQ0tfQ0tTRUxfU0hJRlQgICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfVE9QX0NLU0VMX0NPTjBfUlNWX01BU0sgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9UT1BfQ0tTRUxfQ09OMF9SU1ZfU0hJRlQgICAgICAgICAgICAgICAgICAxMworI2RlZmluZSBNVDYzMjVfUkdfT1NDX1NFTF9IV19TUkNfU0VMX01BU0sgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19PU0NfU0VMX0hXX1NSQ19TRUxfU0hJRlQgICAgICAgICAgICAgICAxNAorI2RlZmluZSBNVDYzMjVfVE9QX0NLU0VMX0NPTl9TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgMHhGRkZGCisjZGVmaW5lIE1UNjMyNV9UT1BfQ0tTRUxfQ09OX1NFVF9TSElGVCAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9UT1BfQ0tTRUxfQ09OX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAweEZGRkYKKyNkZWZpbmUgTVQ2MzI1X1RPUF9DS1NFTF9DT05fQ0xSX1NISUZUICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX1NUUlVQXzc1S19DS19DS1NFTF9NQVNLICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUkdfU1RSVVBfNzVLX0NLX0NLU0VMX1NISUZUICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfQkdSX1RFU1RfQ0tfQ0tTRUxfTUFTSyAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19CR1JfVEVTVF9DS19DS1NFTF9TSElGVCAgICAgICAgICAgICAgICAyCisjZGVmaW5lIE1UNjMyNV9SR19QQ0hSX1RFU1RfQ0tfQ0tTRUxfTUFTSyAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1BDSFJfVEVTVF9DS19DS1NFTF9TSElGVCAgICAgICAgICAgICAgIDMKKyNkZWZpbmUgTVQ2MzI1X1JHX0ZHQURDX0FOQV9DS19DS1NFTF9NQVNLICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfRkdBRENfQU5BX0NLX0NLU0VMX1NISUZUICAgICAgICAgICAgICAgNAorI2RlZmluZSBNVDYzMjVfVE9QX0NLU0VMX0NPTjFfUlNWX01BU0sgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9UT1BfQ0tTRUxfQ09OMV9SU1ZfU0hJRlQgICAgICAgICAgICAgICAgICA4CisjZGVmaW5lIE1UNjMyNV9UT1BfQ0tTRUxfQ09OMV9TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAweEZGRkYKKyNkZWZpbmUgTVQ2MzI1X1RPUF9DS1NFTF9DT04xX1NFVF9TSElGVCAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1RPUF9DS1NFTF9DT04xX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgIDB4RkZGRgorI2RlZmluZSBNVDYzMjVfVE9QX0NLU0VMX0NPTjFfQ0xSX1NISUZUICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfU1JDVk9MVEVOX1NXX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19TUkNWT0xURU5fU1dfU0hJRlQgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19WT1dFTl9TV19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZPV0VOX1NXX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0JVQ0tfT1NDX1NFTF9TV19NQVNLICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQlVDS19PU0NfU0VMX1NXX1NISUZUICAgICAgICAgICAgICAgICAgMgorI2RlZmluZSBNVDYzMjVfUkdfVkNPUkUyX09TQ19TRUxfU1dfTUFTSyAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WQ09SRTJfT1NDX1NFTF9TV19TSElGVCAgICAgICAgICAgICAgICAzCisjZGVmaW5lIE1UNjMyNV9SR19TUkNWT0xURU5fTU9ERV9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1NSQ1ZPTFRFTl9NT0RFX1NISUZUICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZPV0VOX01PREVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVk9XRU5fTU9ERV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgNQorI2RlZmluZSBNVDYzMjVfUkdfQlVDS19PU0NfU0VMX01PREVfTUFTSyAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19CVUNLX09TQ19TRUxfTU9ERV9TSElGVCAgICAgICAgICAgICAgICA2CisjZGVmaW5lIE1UNjMyNV9SR19WQ09SRTJfT1NDX1NFTF9NT0RFX01BU0sgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDT1JFMl9PU0NfU0VMX01PREVfU0hJRlQgICAgICAgICAgICAgIDcKKyNkZWZpbmUgTVQ2MzI1X1RPUF9DS1NFTF9DT04yX1JTVl9NQVNLICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfVE9QX0NLU0VMX0NPTjJfUlNWX1NISUZUICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfVE9QX0NLU0VMX0NPTjJfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgMHhGRkZGCisjZGVmaW5lIE1UNjMyNV9UT1BfQ0tTRUxfQ09OMl9TRVRfU0hJRlQgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9UT1BfQ0tTRUxfQ09OMl9DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAweEZGRkYKKyNkZWZpbmUgTVQ2MzI1X1RPUF9DS1NFTF9DT04yX0NMUl9TSElGVCAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX1NUUlVQX0xCQVRfU0VMX0NLX0RJVlNFTF9NQVNLICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUkdfU1RSVVBfTEJBVF9TRUxfQ0tfRElWU0VMX1NISUZUICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfVE9QX0NLRElWU0VMX0NPTl9SU1ZfTUFTSyAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9UT1BfQ0tESVZTRUxfQ09OX1JTVl9TSElGVCAgICAgICAgICAgICAgICAyCisjZGVmaW5lIE1UNjMyNV9SR19CSUZfWDRfQ0tfRElWU0VMX01BU0sgICAgICAgICAgICAgICAgICAweDcKKyNkZWZpbmUgTVQ2MzI1X1JHX0JJRl9YNF9DS19ESVZTRUxfU0hJRlQgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1JHX1JFR19DS19ESVZTRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUkdfUkVHX0NLX0RJVlNFTF9TSElGVCAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfUkdfQlVDS18xOE1fQ0tfRElWU0VMX01BU0sgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19CVUNLXzE4TV9DS19ESVZTRUxfU0hJRlQgICAgICAgICAgICAgICAxMAorI2RlZmluZSBNVDYzMjVfUkdfQVVYQURDX1NNUFNfQ0tfRElWU0VMX01BU0sgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19BVVhBRENfU01QU19DS19ESVZTRUxfU0hJRlQgICAgICAgICAgICAxMQorI2RlZmluZSBNVDYzMjVfUkdfU1BLX0NLX0RJVlNFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19TUEtfQ0tfRElWU0VMX1NISUZUICAgICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfUkdfU1BLX1BXTV9DS19ESVZTRUxfTUFTSyAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19TUEtfUFdNX0NLX0RJVlNFTF9TSElGVCAgICAgICAgICAgICAgICAxNAorI2RlZmluZSBNVDYzMjVfVE9QX0NLRElWU0VMX0NPTjFfU0VUX01BU0sgICAgICAgICAgICAgICAgMHhGRkZGCisjZGVmaW5lIE1UNjMyNV9UT1BfQ0tESVZTRUxfQ09OMV9TRVRfU0hJRlQgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9UT1BfQ0tESVZTRUxfQ09OMV9DTFJfTUFTSyAgICAgICAgICAgICAgICAweEZGRkYKKyNkZWZpbmUgTVQ2MzI1X1RPUF9DS0RJVlNFTF9DT04xX0NMUl9TSElGVCAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX0dfU01QU19QRF9DS19QRE5fSFdFTl9NQVNLICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfR19TTVBTX1BEX0NLX1BETl9IV0VOX1NISUZUICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfR19TTVBTX0FVRF9DS19QRE5fSFdFTl9NQVNLICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19HX1NNUFNfQVVEX0NLX1BETl9IV0VOX1NISUZUICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9SR19HX0RSVl8yTV9DS19QRE5fSFdFTl9NQVNLICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0dfRFJWXzJNX0NLX1BETl9IV0VOX1NISUZUICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVWEFEQ19DS19QRE5fSFdFTl9NQVNLICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQVVYQURDX0NLX1BETl9IV0VOX1NISUZUICAgICAgICAgICAgICAgMworI2RlZmluZSBNVDYzMjVfUkdfQlVDS18xTV9DS19QRE5fSFdFTl9NQVNLICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19CVUNLXzFNX0NLX1BETl9IV0VOX1NISUZUICAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9SR19CVUNLX0FVRF8xTV9DS19QRE5fSFdFTl9NQVNLICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0JVQ0tfQVVEXzFNX0NLX1BETl9IV0VOX1NISUZUICAgICAgICAgIDUKKyNkZWZpbmUgTVQ2MzI1X1JHX0VGVVNFX0NLX1BETl9IV0VOX01BU0sgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfRUZVU0VfQ0tfUEROX0hXRU5fU0hJRlQgICAgICAgICAgICAgICAgNgorI2RlZmluZSBNVDYzMjVfUkdfUlRDXzI2TV9DS19QRE5fSFdFTl9NQVNLICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19SVENfMjZNX0NLX1BETl9IV0VOX1NISUZUICAgICAgICAgICAgICA3CisjZGVmaW5lIE1UNjMyNV9SR19BVUQxOE1fQ0tfUEROX0hXRU5fTUFTSyAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVRDE4TV9DS19QRE5fSFdFTl9TSElGVCAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVWEFEQ19TTVBTX0NLX0RJVlNFTF9IV0VOX01BU0sgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQVVYQURDX1NNUFNfQ0tfRElWU0VMX0hXRU5fU0hJRlQgICAgICAgOQorI2RlZmluZSBNVDYzMjVfUkdfQVVYQURDX0NLX0NLU0VMX0hXRU5fTUFTSyAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19BVVhBRENfQ0tfQ0tTRUxfSFdFTl9TSElGVCAgICAgICAgICAgICAxMAorI2RlZmluZSBNVDYzMjVfVE9QX0NLSFdFTl9DT05fUlNWX01BU0sgICAgICAgICAgICAgICAgICAgMHgxRgorI2RlZmluZSBNVDYzMjVfVE9QX0NLSFdFTl9DT05fUlNWX1NISUZUICAgICAgICAgICAgICAgICAgMTEKKyNkZWZpbmUgTVQ2MzI1X1RPUF9DS0hXRU5fQ09OX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgIDB4RkZGRgorI2RlZmluZSBNVDYzMjVfVE9QX0NLSFdFTl9DT05fU0VUX1NISUZUICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfVE9QX0NLSFdFTl9DT05fQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgMHhGRkZGCisjZGVmaW5lIE1UNjMyNV9UT1BfQ0tIV0VOX0NPTl9DTFJfU0hJRlQgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19QTVU3NUtfQ0tfVFNUX0RJU19NQVNLICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1BNVTc1S19DS19UU1RfRElTX1NISUZUICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX1NNUFNfQ0tfVFNUX0RJU19NQVNLICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfU01QU19DS19UU1RfRElTX1NISUZUICAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBNVDYzMjVfUkdfQVVEMjZNX0NLX1RTVF9ESVNfTUFTSyAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19BVUQyNk1fQ0tfVFNUX0RJU19TSElGVCAgICAgICAgICAgICAgICAyCisjZGVmaW5lIE1UNjMyNV9SR19WT1cxMk1fQ0tfVFNUX0RJU19NQVNLICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZPVzEyTV9DS19UU1RfRElTX1NISUZUICAgICAgICAgICAgICAgIDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1JUQzMyS19DS19UU1RfRElTX01BU0sgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfUlRDMzJLX0NLX1RTVF9ESVNfU0hJRlQgICAgICAgICAgICAgICAgNAorI2RlZmluZSBNVDYzMjVfUkdfU1BLX0NLX1RTVF9ESVNfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19TUEtfQ0tfVFNUX0RJU19TSElGVCAgICAgICAgICAgICAgICAgICA1CisjZGVmaW5lIE1UNjMyNV9SR19GR19DS19UU1RfRElTX01BU0sgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0ZHX0NLX1RTVF9ESVNfU0hJRlQgICAgICAgICAgICAgICAgICAgIDYKKyNkZWZpbmUgTVQ2MzI1X1JHX1JUQzI2TV9DS19UU1RfRElTX01BU0sgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfUlRDMjZNX0NLX1RTVF9ESVNfU0hJRlQgICAgICAgICAgICAgICAgNworI2RlZmluZSBNVDYzMjVfVE9QX0NLVFNUX0NPTjBfUlNWX01BU0sgICAgICAgICAgICAgICAgICAgMHg3RgorI2RlZmluZSBNVDYzMjVfVE9QX0NLVFNUX0NPTjBfUlNWX1NISUZUICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfUkdfQlVDS19BTkFfQVVUT19PRkZfRElTX01BU0sgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19CVUNLX0FOQV9BVVRPX09GRl9ESVNfU0hJRlQgICAgICAgICAgICAxNQorI2RlZmluZSBNVDYzMjVfUkdfRFJWX0lTSU5LMF9DS19UU1RTRUxfTUFTSyAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19EUlZfSVNJTkswX0NLX1RTVFNFTF9TSElGVCAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19EUlZfSVNJTksxX0NLX1RTVFNFTF9NQVNLICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0RSVl9JU0lOSzFfQ0tfVFNUU0VMX1NISUZUICAgICAgICAgICAgIDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0RSVl9JU0lOSzJfQ0tfVFNUU0VMX01BU0sgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfRFJWX0lTSU5LMl9DS19UU1RTRUxfU0hJRlQgICAgICAgICAgICAgMgorI2RlZmluZSBNVDYzMjVfUkdfRFJWX0lTSU5LM19DS19UU1RTRUxfTUFTSyAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19EUlZfSVNJTkszX0NLX1RTVFNFTF9TSElGVCAgICAgICAgICAgICAzCisjZGVmaW5lIE1UNjMyNV9SR19GUU1UUl9DS19UU1RTRUxfTUFTSyAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0ZRTVRSX0NLX1RTVFNFTF9TSElGVCAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1JHX1JUQ0RFVF9DS19UU1RTRUxfTUFTSyAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfUlRDREVUX0NLX1RTVFNFTF9TSElGVCAgICAgICAgICAgICAgICAgNQorI2RlZmluZSBNVDYzMjVfUkdfUE1VNzVLX0NLX1RTVFNFTF9NQVNLICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19QTVU3NUtfQ0tfVFNUU0VMX1NISUZUICAgICAgICAgICAgICAgICA2CisjZGVmaW5lIE1UNjMyNV9SR19TTVBTX0NLX1RTVFNFTF9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1NNUFNfQ0tfVFNUU0VMX1NISUZUICAgICAgICAgICAgICAgICAgIDcKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVRDI2TV9DS19UU1RTRUxfTUFTSyAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQVVEMjZNX0NLX1RTVFNFTF9TSElGVCAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfUkdfVk9XMTJNX0NLX1RTVFNFTF9NQVNLICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WT1cxMk1fQ0tfVFNUU0VMX1NISUZUICAgICAgICAgICAgICAgICA5CisjZGVmaW5lIE1UNjMyNV9SR19BVURJRl9DS19UU1RTRUxfTUFTSyAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVRElGX0NLX1RTVFNFTF9TSElGVCAgICAgICAgICAgICAgICAgIDEwCisjZGVmaW5lIE1UNjMyNV9SR19BVURfQ0tfVFNUU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVRF9DS19UU1RTRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgIDExCisjZGVmaW5lIE1UNjMyNV9SR19TVFJVUF83NUtfQ0tfVFNUU0VMX01BU0sgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1NUUlVQXzc1S19DS19UU1RTRUxfU0hJRlQgICAgICAgICAgICAgIDEyCisjZGVmaW5lIE1UNjMyNV9SR19SVEMzMktfQ0tfVFNUU0VMX01BU0sgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1JUQzMyS19DS19UU1RTRUxfU0hJRlQgICAgICAgICAgICAgICAgIDEzCisjZGVmaW5lIE1UNjMyNV9SR19QQ0hSX1RFU1RfQ0tfVFNUU0VMX01BU0sgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1BDSFJfVEVTVF9DS19UU1RTRUxfU0hJRlQgICAgICAgICAgICAgIDE0CisjZGVmaW5lIE1UNjMyNV9SR19CR1JfVEVTVF9DS19UU1RTRUxfTUFTSyAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0JHUl9URVNUX0NLX1RTVFNFTF9TSElGVCAgICAgICAgICAgICAgIDE1CisjZGVmaW5lIE1UNjMyNV9SR19GR19DS19UU1RTRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0ZHX0NLX1RTVFNFTF9TSElGVCAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX0ZHQURDX0FOQV9DS19UU1RTRUxfTUFTSyAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfRkdBRENfQU5BX0NLX1RTVFNFTF9TSElGVCAgICAgICAgICAgICAgMQorI2RlZmluZSBNVDYzMjVfUkdfU1BLX0NLX1RTVFNFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19TUEtfQ0tfVFNUU0VMX1NISUZUICAgICAgICAgICAgICAgICAgICAyCisjZGVmaW5lIE1UNjMyNV9SR19SVEMyNk1fQ0tfVFNUU0VMX01BU0sgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1JUQzI2TV9DS19UU1RTRUxfU0hJRlQgICAgICAgICAgICAgICAgIDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1JUQ19FT1NDMzJfQ0tfVFNUU0VMX01BU0sgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfUlRDX0VPU0MzMl9DS19UU1RTRUxfU0hJRlQgICAgICAgICAgICAgNAorI2RlZmluZSBNVDYzMjVfUkdfRU9TQ19DQUxJX1RFU1RfQ0tfVFNUU0VMX01BU0sgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19FT1NDX0NBTElfVEVTVF9DS19UU1RTRUxfU0hJRlQgICAgICAgICA1CisjZGVmaW5lIE1UNjMyNV9SR19BVVhBRENfQ0tfVFNUU0VMX01BU0sgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVWEFEQ19DS19UU1RTRUxfU0hJRlQgICAgICAgICAgICAgICAgIDYKKyNkZWZpbmUgTVQ2MzI1X1RPUF9DS1RTVF9DT04yX1JTVl9NQVNLICAgICAgICAgICAgICAgICAgIDB4RgorI2RlZmluZSBNVDYzMjVfVE9QX0NLVFNUX0NPTjJfUlNWX1NISUZUICAgICAgICAgICAgICAgICAgNworI2RlZmluZSBNVDYzMjVfUkdfQ0xLU1FfRU5fQVVEX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19DTEtTUV9FTl9BVURfU0hJRlQgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19DTEtTUV9FTl9GUVJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0NMS1NRX0VOX0ZRUl9TSElGVCAgICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0NMS1NRX0VOX0FVWF9BUF9NQVNLICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQ0xLU1FfRU5fQVVYX0FQX1NISUZUICAgICAgICAgICAgICAgICAgMgorI2RlZmluZSBNVDYzMjVfUkdfQ0xLU1FfRU5fQVVYX01EX01BU0sgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19DTEtTUV9FTl9BVVhfTURfU0hJRlQgICAgICAgICAgICAgICAgICAzCisjZGVmaW5lIE1UNjMyNV9SR19DTEtTUV9FTl9BVVhfR1BTX01BU0sgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0NMS1NRX0VOX0FVWF9HUFNfU0hJRlQgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1JHX0NMS1NRX0VOX0FVWF9SU1ZfTUFTSyAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQ0xLU1FfRU5fQVVYX1JTVl9TSElGVCAgICAgICAgICAgICAgICAgNQorI2RlZmluZSBNVDYzMjVfUkdfQ0xLU1FfRU5fQVVYX0FQX01PREVfTUFTSyAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19DTEtTUV9FTl9BVVhfQVBfTU9ERV9TSElGVCAgICAgICAgICAgICA4CisjZGVmaW5lIE1UNjMyNV9SR19DTEtTUV9FTl9BVVhfTURfTU9ERV9NQVNLICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0NMS1NRX0VOX0FVWF9NRF9NT0RFX1NISUZUICAgICAgICAgICAgIDkKKyNkZWZpbmUgTVQ2MzI1X1RPUF9DTEtTUV9SU1ZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4MUYKKyNkZWZpbmUgTVQ2MzI1X1RPUF9DTEtTUV9SU1ZfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDEwCisjZGVmaW5lIE1UNjMyNV9EQV9DTEtTUV9FTl9WQTI4X01BU0sgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0RBX0NMS1NRX0VOX1ZBMjhfU0hJRlQgICAgICAgICAgICAgICAgICAgIDE1CisjZGVmaW5lIE1UNjMyNV9UT1BfQ0xLU1FfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweEZGRkYKKyNkZWZpbmUgTVQ2MzI1X1RPUF9DTEtTUV9TRVRfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1RPUF9DTEtTUV9DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4RkZGRgorI2RlZmluZSBNVDYzMjVfVE9QX0NMS1NRX0NMUl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfQ0xLU1FfUlRDX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19DTEtTUV9SVENfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19DTEtTUV9SVENfRU5fSFdfTU9ERV9NQVNLICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0NMS1NRX1JUQ19FTl9IV19NT0RFX1NISUZUICAgICAgICAgICAgIDEKKyNkZWZpbmUgTVQ2MzI1X1RPUF9DTEtTUV9SVENfUlNWMF9NQVNLICAgICAgICAgICAgICAgICAgIDB4RgorI2RlZmluZSBNVDYzMjVfVE9QX0NMS1NRX1JUQ19SU1YwX1NISUZUICAgICAgICAgICAgICAgICAgMgorI2RlZmluZSBNVDYzMjVfUkdfRU5CQl9TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19FTkJCX1NFTF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICA4CisjZGVmaW5lIE1UNjMyNV9SR19YT1NDX0VOX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1hPU0NfRU5fU0VMX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDkKKyNkZWZpbmUgTVQ2MzI1X1RPUF9DTEtTUV9SVENfUlNWMV9NQVNLICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfVE9QX0NMS1NRX1JUQ19SU1YxX1NISUZUICAgICAgICAgICAgICAgICAgMTAKKyNkZWZpbmUgTVQ2MzI1X0RBX0NMS1NRX0VOX1ZESUcxOF9NQVNLICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfREFfQ0xLU1FfRU5fVkRJRzE4X1NISUZUICAgICAgICAgICAgICAgICAgMTUKKyNkZWZpbmUgTVQ2MzI1X1RPUF9DTEtTUV9SVENfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgIDB4RkZGRgorI2RlZmluZSBNVDYzMjVfVE9QX0NMS1NRX1JUQ19TRVRfU0hJRlQgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfVE9QX0NMS1NRX1JUQ19DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgMHhGRkZGCisjZGVmaW5lIE1UNjMyNV9UT1BfQ0xLU1FfUlRDX0NMUl9TSElGVCAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9PU0NfNzVLX1RSSU1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAweDFGCisjZGVmaW5lIE1UNjMyNV9PU0NfNzVLX1RSSU1fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19PU0NfNzVLX1RSSU1fRU5fTUFTSyAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX09TQ183NUtfVFJJTV9FTl9TSElGVCAgICAgICAgICAgICAgICAgIDUKKyNkZWZpbmUgTVQ2MzI1X1JHX09TQ183NUtfVFJJTV9SQVRFX01BU0sgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUkdfT1NDXzc1S19UUklNX1JBVEVfU0hJRlQgICAgICAgICAgICAgICAgNgorI2RlZmluZSBNVDYzMjVfUkdfT1NDXzc1S19UUklNX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgxRgorI2RlZmluZSBNVDYzMjVfUkdfT1NDXzc1S19UUklNX1NISUZUICAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfUkdfRUZVU0VfTUFOX1JTVF9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19FRlVTRV9NQU5fUlNUX1NISUZUICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19BVVhBRENfUlNUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVWEFEQ19SU1RfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVWEFEQ19SRUdfUlNUX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQVVYQURDX1JFR19SU1RfU0hJRlQgICAgICAgICAgICAgICAgICAgMgorI2RlZmluZSBNVDYzMjVfUkdfQVVESU9fUlNUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19BVURJT19SU1RfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAzCisjZGVmaW5lIE1UNjMyNV9SR19BQ0NERVRfUlNUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FDQ0RFVF9SU1RfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1JHX0JJRl9SU1RfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQklGX1JTVF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgNQorI2RlZmluZSBNVDYzMjVfUkdfRFJJVkVSX1JTVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19EUklWRVJfUlNUX1NISUZUICAgICAgICAgICAgICAgICAgICAgICA2CisjZGVmaW5lIE1UNjMyNV9SR19GR0FEQ19SU1RfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0ZHQURDX1JTVF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgIDcKKyNkZWZpbmUgTVQ2MzI1X1JHX0ZRTVRSX1JTVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfRlFNVFJfUlNUX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfUkdfUlRDX1JTVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19SVENfUlNUX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICA5CisjZGVmaW5lIE1UNjMyNV9SR19TUEtfUlNUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1NQS19SU1RfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgIDEwCisjZGVmaW5lIE1UNjMyNV9SR19DSFJXRFRfUlNUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0NIUldEVF9SU1RfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDExCisjZGVmaW5lIE1UNjMyNV9SR19aQ0RfUlNUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1pDRF9SU1RfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgIDEyCisjZGVmaW5lIE1UNjMyNV9SR19BVUROQ1BfUlNUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVRE5DUF9SU1RfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDEzCisjZGVmaW5lIE1UNjMyNV9SR19DTEtfVFJJTV9SU1RfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0NMS19UUklNX1JTVF9TSElGVCAgICAgICAgICAgICAgICAgICAgIDE0CisjZGVmaW5lIE1UNjMyNV9UT1BfUlNUX0NPTjBfUlNWX01BU0sgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1RPUF9SU1RfQ09OMF9SU1ZfU0hJRlQgICAgICAgICAgICAgICAgICAgIDE1CisjZGVmaW5lIE1UNjMyNV9UT1BfUlNUX0NPTl9TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweEZGRkYKKyNkZWZpbmUgTVQ2MzI1X1RPUF9SU1RfQ09OX1NFVF9TSElGVCAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1RPUF9SU1RfQ09OX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4RkZGRgorI2RlZmluZSBNVDYzMjVfVE9QX1JTVF9DT05fQ0xSX1NISUZUICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfQ0hSX0xET19ERVRfTU9ERV9NQVNLICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19DSFJfTERPX0RFVF9NT0RFX1NISUZUICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19DSFJfTERPX0RFVF9TV19NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0NIUl9MRE9fREVUX1NXX1NISUZUICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0NIUldEVF9GTEFHX01PREVfTUFTSyAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQ0hSV0RUX0ZMQUdfTU9ERV9TSElGVCAgICAgICAgICAgICAgICAgMgorI2RlZmluZSBNVDYzMjVfUkdfQ0hSV0RUX0ZMQUdfU1dfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19DSFJXRFRfRkxBR19TV19TSElGVCAgICAgICAgICAgICAgICAgICAzCisjZGVmaW5lIE1UNjMyNV9UT1BfUlNUX0NPTjFfUlNWX01BU0sgICAgICAgICAgICAgICAgICAgICAweEYKKyNkZWZpbmUgTVQ2MzI1X1RPUF9SU1RfQ09OMV9SU1ZfU0hJRlQgICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1JHX1dEVFJTVEJfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfV0RUUlNUQl9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfV0RUUlNUQl9NT0RFX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19XRFRSU1RCX01PREVfU0hJRlQgICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9XRFRSU1RCX1NUQVRVU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1dEVFJTVEJfU1RBVFVTX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1dEVFJTVEJfU1RBVFVTX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfV0RUUlNUQl9TVEFUVVNfQ0xSX1NISUZUICAgICAgICAgICAgICAgICAgMworI2RlZmluZSBNVDYzMjVfUkdfV0RUUlNUQl9GQl9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19XRFRSU1RCX0ZCX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9SR19IT01FS0VZX1JTVF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0hPTUVLRVlfUlNUX0VOX1NISUZUICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1JHX1BXUktFWV9SU1RfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfUFdSS0VZX1JTVF9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgOQorI2RlZmluZSBNVDYzMjVfUkdfUFdSUlNUX1RNUl9ESVNfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19QV1JSU1RfVE1SX0RJU19TSElGVCAgICAgICAgICAgICAgICAgICAxMAorI2RlZmluZSBNVDYzMjVfUkdfUFdSS0VZX1JTVF9URF9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19QV1JLRVlfUlNUX1REX1NISUZUICAgICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfVE9QX1JTVF9NSVNDX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgMHhGRkZGCisjZGVmaW5lIE1UNjMyNV9UT1BfUlNUX01JU0NfU0VUX1NISUZUICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9UT1BfUlNUX01JU0NfQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICAweEZGRkYKKyNkZWZpbmUgTVQ2MzI1X1RPUF9SU1RfTUlTQ19DTFJfU0hJRlQgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1ZQV1JJTl9SU1RCX1NUQVRVU19NQVNLICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVlBXUklOX1JTVEJfU1RBVFVTX1NISUZUICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfRERMT19SU1RCX1NUQVRVU19NQVNLICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9ERExPX1JTVEJfU1RBVFVTX1NISUZUICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9VVkxPX1JTVEJfU1RBVFVTX01BU0sgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1VWTE9fUlNUQl9TVEFUVVNfU0hJRlQgICAgICAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1JUQ19ERExPX1JTVEJfU1RBVFVTX01BU0sgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUlRDX0RETE9fUlNUQl9TVEFUVVNfU0hJRlQgICAgICAgICAgICAgICAgMworI2RlZmluZSBNVDYzMjVfQ0hSV0RUX1JFR19SU1RCX1NUQVRVU19NQVNLICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9DSFJXRFRfUkVHX1JTVEJfU1RBVFVTX1NISUZUICAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9DSFJERVRfUkVHX1JTVEJfU1RBVFVTX01BU0sgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0NIUkRFVF9SRUdfUlNUQl9TVEFUVVNfU0hJRlQgICAgICAgICAgICAgIDUKKyNkZWZpbmUgTVQ2MzI1X1RPUF9SU1RfU1RBVFVTX1JTVl9NQVNLICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfVE9QX1JTVF9TVEFUVVNfUlNWX1NISUZUICAgICAgICAgICAgICAgICAgNgorI2RlZmluZSBNVDYzMjVfVE9QX1JTVF9TVEFUVVNfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgMHhGRkZGCisjZGVmaW5lIE1UNjMyNV9UT1BfUlNUX1NUQVRVU19TRVRfU0hJRlQgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9UT1BfUlNUX1NUQVRVU19DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAweEZGRkYKKyNkZWZpbmUgTVQ2MzI1X1RPUF9SU1RfU1RBVFVTX0NMUl9TSElGVCAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX0lOVF9FTl9QV1JLRVlfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfSU5UX0VOX1BXUktFWV9TSElGVCAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfSU5UX0VOX0hPTUVLRVlfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19JTlRfRU5fSE9NRUtFWV9TSElGVCAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9SR19JTlRfRU5fUFdSS0VZX1JfTUFTSyAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0lOVF9FTl9QV1JLRVlfUl9TSElGVCAgICAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1JHX0lOVF9FTl9IT01FS0VZX1JfTUFTSyAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfSU5UX0VOX0hPTUVLRVlfUl9TSElGVCAgICAgICAgICAgICAgICAgMworI2RlZmluZSBNVDYzMjVfUkdfSU5UX0VOX1RIUl9IX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19JTlRfRU5fVEhSX0hfU0hJRlQgICAgICAgICAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9SR19JTlRfRU5fVEhSX0xfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0lOVF9FTl9USFJfTF9TSElGVCAgICAgICAgICAgICAgICAgICAgIDUKKyNkZWZpbmUgTVQ2MzI1X1JHX0lOVF9FTl9CQVRfSF9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfSU5UX0VOX0JBVF9IX1NISUZUICAgICAgICAgICAgICAgICAgICAgNgorI2RlZmluZSBNVDYzMjVfUkdfSU5UX0VOX0JBVF9MX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19JTlRfRU5fQkFUX0xfU0hJRlQgICAgICAgICAgICAgICAgICAgICA3CisjZGVmaW5lIE1UNjMyNV9SR19JTlRfRU5fQklGX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0lOVF9FTl9CSUZfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1JHX0lOVF9FTl9SVENfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfSU5UX0VOX1JUQ19TSElGVCAgICAgICAgICAgICAgICAgICAgICAgOQorI2RlZmluZSBNVDYzMjVfUkdfSU5UX0VOX0FVRElPX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19JTlRfRU5fQVVESU9fU0hJRlQgICAgICAgICAgICAgICAgICAgICAxMAorI2RlZmluZSBNVDYzMjVfUkdfSU5UX0VOX1ZPV19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19JTlRfRU5fVk9XX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAxMQorI2RlZmluZSBNVDYzMjVfUkdfSU5UX0VOX0FDQ0RFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19JTlRfRU5fQUNDREVUX1NISUZUICAgICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfUkdfSU5UX0VOX0FDQ0RFVF9FSU5UX01BU0sgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19JTlRfRU5fQUNDREVUX0VJTlRfU0hJRlQgICAgICAgICAgICAgICAxMworI2RlZmluZSBNVDYzMjVfUkdfSU5UX0VOX0FDQ0RFVF9ORUdWX01BU0sgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19JTlRfRU5fQUNDREVUX05FR1ZfU0hJRlQgICAgICAgICAgICAgICAxNAorI2RlZmluZSBNVDYzMjVfUkdfSU5UX0VOX05JX0xCQVRfSU5UX01BU0sgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19JTlRfRU5fTklfTEJBVF9JTlRfU0hJRlQgICAgICAgICAgICAgICAxNQorI2RlZmluZSBNVDYzMjVfSU5UX0NPTjBfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHhGRkZGCisjZGVmaW5lIE1UNjMyNV9JTlRfQ09OMF9TRVRfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9JTlRfQ09OMF9DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAweEZGRkYKKyNkZWZpbmUgTVQ2MzI1X0lOVF9DT04wX0NMUl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX0lOVF9FTl9WRFZGUzExX09DX01BU0sgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfSU5UX0VOX1ZEVkZTMTFfT0NfU0hJRlQgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfSU5UX0VOX1ZEVkZTMTJfT0NfTUFTSyAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19JTlRfRU5fVkRWRlMxMl9PQ19TSElGVCAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9SR19JTlRfRU5fVlJGMThfMF9PQ19NQVNLICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0lOVF9FTl9WUkYxOF8wX09DX1NISUZUICAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1JHX0lOVF9FTl9WRFJBTV9PQ19NQVNLICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfSU5UX0VOX1ZEUkFNX09DX1NISUZUICAgICAgICAgICAgICAgICAgMworI2RlZmluZSBNVDYzMjVfUkdfSU5UX0VOX1ZHUFVfT0NfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19JTlRfRU5fVkdQVV9PQ19TSElGVCAgICAgICAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9SR19JTlRfRU5fVkNPUkUxX09DX01BU0sgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0lOVF9FTl9WQ09SRTFfT0NfU0hJRlQgICAgICAgICAgICAgICAgIDUKKyNkZWZpbmUgTVQ2MzI1X1JHX0lOVF9FTl9WQ09SRTJfT0NfTUFTSyAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfSU5UX0VOX1ZDT1JFMl9PQ19TSElGVCAgICAgICAgICAgICAgICAgNgorI2RlZmluZSBNVDYzMjVfUkdfSU5UX0VOX1ZJTzE4X09DX01BU0sgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19JTlRfRU5fVklPMThfT0NfU0hJRlQgICAgICAgICAgICAgICAgICA3CisjZGVmaW5lIE1UNjMyNV9SR19JTlRfRU5fVlBBX09DX01BU0sgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0lOVF9FTl9WUEFfT0NfU0hJRlQgICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1JHX0lOVF9FTl9MRE9fT0NfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfSU5UX0VOX0xET19PQ19TSElGVCAgICAgICAgICAgICAgICAgICAgOQorI2RlZmluZSBNVDYzMjVfUkdfSU5UX0VOX0JBVDJfSF9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19JTlRfRU5fQkFUMl9IX1NISUZUICAgICAgICAgICAgICAgICAgICAxMAorI2RlZmluZSBNVDYzMjVfUkdfSU5UX0VOX0JBVDJfTF9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19JTlRfRU5fQkFUMl9MX1NISUZUICAgICAgICAgICAgICAgICAgICAxMQorI2RlZmluZSBNVDYzMjVfUkdfSU5UX0VOX1ZJU01QUzBfSF9NQVNLICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19JTlRfRU5fVklTTVBTMF9IX1NISUZUICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfUkdfSU5UX0VOX1ZJU01QUzBfTF9NQVNLICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19JTlRfRU5fVklTTVBTMF9MX1NISUZUICAgICAgICAgICAgICAgICAxMworI2RlZmluZSBNVDYzMjVfUkdfSU5UX0VOX0FVWEFEQ19JTVBfTUFTSyAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19JTlRfRU5fQVVYQURDX0lNUF9TSElGVCAgICAgICAgICAgICAgICAxNAorI2RlZmluZSBNVDYzMjVfSU5UX0NPTjFfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHhGRkZGCisjZGVmaW5lIE1UNjMyNV9JTlRfQ09OMV9TRVRfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9JTlRfQ09OMV9DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAweEZGRkYKKyNkZWZpbmUgTVQ2MzI1X0lOVF9DT04xX0NMUl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX0lOVF9FTl9PVl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfSU5UX0VOX09WX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfSU5UX0VOX0JWQUxJRF9ERVRfTUFTSyAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19JTlRfRU5fQlZBTElEX0RFVF9TSElGVCAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9SR19JTlRfRU5fVkJBVE9OX1VOREVUX01BU0sgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0lOVF9FTl9WQkFUT05fVU5ERVRfU0hJRlQgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1JHX0lOVF9FTl9XQVRDSERPR19NQVNLICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfSU5UX0VOX1dBVENIRE9HX1NISUZUICAgICAgICAgICAgICAgICAgMworI2RlZmluZSBNVDYzMjVfUkdfSU5UX0VOX1BDSFJfQ01fVkRFQ19NQVNLICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19JTlRfRU5fUENIUl9DTV9WREVDX1NISUZUICAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9SR19JTlRfRU5fQ0hSREVUX01BU0sgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0lOVF9FTl9DSFJERVRfU0hJRlQgICAgICAgICAgICAgICAgICAgIDUKKyNkZWZpbmUgTVQ2MzI1X1JHX0lOVF9FTl9QQ0hSX0NNX1ZJTkNfTUFTSyAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfSU5UX0VOX1BDSFJfQ01fVklOQ19TSElGVCAgICAgICAgICAgICAgNgorI2RlZmluZSBNVDYzMjVfUkdfSU5UX0VOX0ZHX0JBVF9IX01BU0sgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19JTlRfRU5fRkdfQkFUX0hfU0hJRlQgICAgICAgICAgICAgICAgICA3CisjZGVmaW5lIE1UNjMyNV9SR19JTlRfRU5fRkdfQkFUX0xfTUFTSyAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0lOVF9FTl9GR19CQVRfTF9TSElGVCAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1JHX0lOVF9FTl9GR19DVVJfSF9NQVNLICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfSU5UX0VOX0ZHX0NVUl9IX1NISUZUICAgICAgICAgICAgICAgICAgOQorI2RlZmluZSBNVDYzMjVfUkdfSU5UX0VOX0ZHX0NVUl9MX01BU0sgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19JTlRfRU5fRkdfQ1VSX0xfU0hJRlQgICAgICAgICAgICAgICAgICAxMAorI2RlZmluZSBNVDYzMjVfUkdfSU5UX0VOX0ZHX1pDVl9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19JTlRfRU5fRkdfWkNWX1NISUZUICAgICAgICAgICAgICAgICAgICAxMQorI2RlZmluZSBNVDYzMjVfUkdfSU5UX0VOX1NQS0xfRF9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19JTlRfRU5fU1BLTF9EX1NISUZUICAgICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfUkdfSU5UX0VOX1NQS0xfQUJfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19JTlRfRU5fU1BLTF9BQl9TSElGVCAgICAgICAgICAgICAgICAgICAxMworI2RlZmluZSBNVDYzMjVfSU5UX0NPTjJfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHhGRkZGCisjZGVmaW5lIE1UNjMyNV9JTlRfQ09OMl9TRVRfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9JTlRfQ09OMl9DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAweEZGRkYKKyNkZWZpbmUgTVQ2MzI1X0lOVF9DT04yX0NMUl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1BPTEFSSVRZX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUE9MQVJJVFlfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfSE9NRUtFWV9JTlRfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19IT01FS0VZX0lOVF9TRUxfU0hJRlQgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9SR19QV1JLRVlfSU5UX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1BXUktFWV9JTlRfU0VMX1NISUZUICAgICAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1JHX0NIUkRFVF9JTlRfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQ0hSREVUX0lOVF9TRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgMworI2RlZmluZSBNVDYzMjVfUkdfUENIUl9DTV9WSU5DX1BPTEFSSVRZX1JTVl9NQVNLICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19QQ0hSX0NNX1ZJTkNfUE9MQVJJVFlfUlNWX1NISUZUICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9SR19QQ0hSX0NNX1ZERUNfUE9MQVJJVFlfUlNWX01BU0sgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1BDSFJfQ01fVkRFQ19QT0xBUklUWV9SU1ZfU0hJRlQgICAgICAgIDUKKyNkZWZpbmUgTVQ2MzI1X0lOVF9NSVNDX0NPTl9TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4RkZGRgorI2RlZmluZSBNVDYzMjVfSU5UX01JU0NfQ09OX1NFVF9TSElGVCAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfSU5UX01JU0NfQ09OX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgMHhGRkZGCisjZGVmaW5lIE1UNjMyNV9JTlRfTUlTQ19DT05fQ0xSX1NISUZUICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19JTlRfU1RBVFVTX1BXUktFWV9NQVNLICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0lOVF9TVEFUVVNfUFdSS0VZX1NISUZUICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX0lOVF9TVEFUVVNfSE9NRUtFWV9NQVNLICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfSU5UX1NUQVRVU19IT01FS0VZX1NISUZUICAgICAgICAgICAgICAgMQorI2RlZmluZSBNVDYzMjVfUkdfSU5UX1NUQVRVU19QV1JLRVlfUl9NQVNLICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19JTlRfU1RBVFVTX1BXUktFWV9SX1NISUZUICAgICAgICAgICAgICAyCisjZGVmaW5lIE1UNjMyNV9SR19JTlRfU1RBVFVTX0hPTUVLRVlfUl9NQVNLICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0lOVF9TVEFUVVNfSE9NRUtFWV9SX1NISUZUICAgICAgICAgICAgIDMKKyNkZWZpbmUgTVQ2MzI1X1JHX0lOVF9TVEFUVVNfVEhSX0hfTUFTSyAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfSU5UX1NUQVRVU19USFJfSF9TSElGVCAgICAgICAgICAgICAgICAgNAorI2RlZmluZSBNVDYzMjVfUkdfSU5UX1NUQVRVU19USFJfTF9NQVNLICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19JTlRfU1RBVFVTX1RIUl9MX1NISUZUICAgICAgICAgICAgICAgICA1CisjZGVmaW5lIE1UNjMyNV9SR19JTlRfU1RBVFVTX0JBVF9IX01BU0sgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0lOVF9TVEFUVVNfQkFUX0hfU0hJRlQgICAgICAgICAgICAgICAgIDYKKyNkZWZpbmUgTVQ2MzI1X1JHX0lOVF9TVEFUVVNfQkFUX0xfTUFTSyAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfSU5UX1NUQVRVU19CQVRfTF9TSElGVCAgICAgICAgICAgICAgICAgNworI2RlZmluZSBNVDYzMjVfUkdfSU5UX1NUQVRVU19CSUZfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19JTlRfU1RBVFVTX0JJRl9TSElGVCAgICAgICAgICAgICAgICAgICA4CisjZGVmaW5lIE1UNjMyNV9SR19JTlRfU1RBVFVTX1JUQ19NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0lOVF9TVEFUVVNfUlRDX1NISUZUICAgICAgICAgICAgICAgICAgIDkKKyNkZWZpbmUgTVQ2MzI1X1JHX0lOVF9TVEFUVVNfQVVESU9fTUFTSyAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfSU5UX1NUQVRVU19BVURJT19TSElGVCAgICAgICAgICAgICAgICAgMTAKKyNkZWZpbmUgTVQ2MzI1X1JHX0lOVF9TVEFUVVNfVk9XX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfSU5UX1NUQVRVU19WT1dfU0hJRlQgICAgICAgICAgICAgICAgICAgMTEKKyNkZWZpbmUgTVQ2MzI1X1JHX0lOVF9TVEFUVVNfQUNDREVUX01BU0sgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfSU5UX1NUQVRVU19BQ0NERVRfU0hJRlQgICAgICAgICAgICAgICAgMTIKKyNkZWZpbmUgTVQ2MzI1X1JHX0lOVF9TVEFUVVNfQUNDREVUX0VJTlRfTUFTSyAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfSU5UX1NUQVRVU19BQ0NERVRfRUlOVF9TSElGVCAgICAgICAgICAgMTMKKyNkZWZpbmUgTVQ2MzI1X1JHX0lOVF9TVEFUVVNfQUNDREVUX05FR1ZfTUFTSyAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfSU5UX1NUQVRVU19BQ0NERVRfTkVHVl9TSElGVCAgICAgICAgICAgMTQKKyNkZWZpbmUgTVQ2MzI1X1JHX0lOVF9TVEFUVVNfTklfTEJBVF9JTlRfTUFTSyAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfSU5UX1NUQVRVU19OSV9MQkFUX0lOVF9TSElGVCAgICAgICAgICAgMTUKKyNkZWZpbmUgTVQ2MzI1X1JHX0lOVF9TVEFUVVNfVkRWRlMxMV9PQ19NQVNLICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfSU5UX1NUQVRVU19WRFZGUzExX09DX1NISUZUICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfSU5UX1NUQVRVU19WRFZGUzEyX09DX01BU0sgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19JTlRfU1RBVFVTX1ZEVkZTMTJfT0NfU0hJRlQgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9SR19JTlRfU1RBVFVTX1ZSRjE4XzBfT0NfTUFTSyAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0lOVF9TVEFUVVNfVlJGMThfMF9PQ19TSElGVCAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1JHX0lOVF9TVEFUVVNfVkRSQU1fT0NfTUFTSyAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfSU5UX1NUQVRVU19WRFJBTV9PQ19TSElGVCAgICAgICAgICAgICAgMworI2RlZmluZSBNVDYzMjVfUkdfSU5UX1NUQVRVU19WR1BVX09DX01BU0sgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19JTlRfU1RBVFVTX1ZHUFVfT0NfU0hJRlQgICAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9SR19JTlRfU1RBVFVTX1ZDT1JFMV9PQ19NQVNLICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0lOVF9TVEFUVVNfVkNPUkUxX09DX1NISUZUICAgICAgICAgICAgIDUKKyNkZWZpbmUgTVQ2MzI1X1JHX0lOVF9TVEFUVVNfVkNPUkUyX09DX01BU0sgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfSU5UX1NUQVRVU19WQ09SRTJfT0NfU0hJRlQgICAgICAgICAgICAgNgorI2RlZmluZSBNVDYzMjVfUkdfSU5UX1NUQVRVU19WSU8xOF9PQ19NQVNLICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19JTlRfU1RBVFVTX1ZJTzE4X09DX1NISUZUICAgICAgICAgICAgICA3CisjZGVmaW5lIE1UNjMyNV9SR19JTlRfU1RBVFVTX1ZQQV9PQ19NQVNLICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0lOVF9TVEFUVVNfVlBBX09DX1NISUZUICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1JHX0lOVF9TVEFUVVNfTERPX09DX01BU0sgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfSU5UX1NUQVRVU19MRE9fT0NfU0hJRlQgICAgICAgICAgICAgICAgOQorI2RlZmluZSBNVDYzMjVfUkdfSU5UX1NUQVRVU19CQVQyX0hfTUFTSyAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19JTlRfU1RBVFVTX0JBVDJfSF9TSElGVCAgICAgICAgICAgICAgICAxMAorI2RlZmluZSBNVDYzMjVfUkdfSU5UX1NUQVRVU19CQVQyX0xfTUFTSyAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19JTlRfU1RBVFVTX0JBVDJfTF9TSElGVCAgICAgICAgICAgICAgICAxMQorI2RlZmluZSBNVDYzMjVfUkdfSU5UX1NUQVRVU19WSVNNUFMwX0hfTUFTSyAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19JTlRfU1RBVFVTX1ZJU01QUzBfSF9TSElGVCAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfUkdfSU5UX1NUQVRVU19WSVNNUFMwX0xfTUFTSyAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19JTlRfU1RBVFVTX1ZJU01QUzBfTF9TSElGVCAgICAgICAgICAgICAxMworI2RlZmluZSBNVDYzMjVfUkdfSU5UX1NUQVRVU19BVVhBRENfSU1QX01BU0sgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19JTlRfU1RBVFVTX0FVWEFEQ19JTVBfU0hJRlQgICAgICAgICAgICAxNAorI2RlZmluZSBNVDYzMjVfUkdfSU5UX1NUQVRVU19PVl9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19JTlRfU1RBVFVTX09WX1NISUZUICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19JTlRfU1RBVFVTX0JWQUxJRF9ERVRfTUFTSyAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0lOVF9TVEFUVVNfQlZBTElEX0RFVF9TSElGVCAgICAgICAgICAgIDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0lOVF9TVEFUVVNfVkJBVE9OX1VOREVUX01BU0sgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfSU5UX1NUQVRVU19WQkFUT05fVU5ERVRfU0hJRlQgICAgICAgICAgMgorI2RlZmluZSBNVDYzMjVfUkdfSU5UX1NUQVRVU19XQVRDSERPR19NQVNLICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19JTlRfU1RBVFVTX1dBVENIRE9HX1NISUZUICAgICAgICAgICAgICAzCisjZGVmaW5lIE1UNjMyNV9SR19JTlRfU1RBVFVTX1BDSFJfQ01fVkRFQ19NQVNLICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0lOVF9TVEFUVVNfUENIUl9DTV9WREVDX1NISUZUICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1JHX0lOVF9TVEFUVVNfQ0hSREVUX01BU0sgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfSU5UX1NUQVRVU19DSFJERVRfU0hJRlQgICAgICAgICAgICAgICAgNQorI2RlZmluZSBNVDYzMjVfUkdfSU5UX1NUQVRVU19QQ0hSX0NNX1ZJTkNfTUFTSyAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19JTlRfU1RBVFVTX1BDSFJfQ01fVklOQ19TSElGVCAgICAgICAgICA2CisjZGVmaW5lIE1UNjMyNV9SR19JTlRfU1RBVFVTX0ZHX0JBVF9IX01BU0sgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0lOVF9TVEFUVVNfRkdfQkFUX0hfU0hJRlQgICAgICAgICAgICAgIDcKKyNkZWZpbmUgTVQ2MzI1X1JHX0lOVF9TVEFUVVNfRkdfQkFUX0xfTUFTSyAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfSU5UX1NUQVRVU19GR19CQVRfTF9TSElGVCAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfUkdfSU5UX1NUQVRVU19GR19DVVJfSF9NQVNLICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19JTlRfU1RBVFVTX0ZHX0NVUl9IX1NISUZUICAgICAgICAgICAgICA5CisjZGVmaW5lIE1UNjMyNV9SR19JTlRfU1RBVFVTX0ZHX0NVUl9MX01BU0sgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0lOVF9TVEFUVVNfRkdfQ1VSX0xfU0hJRlQgICAgICAgICAgICAgIDEwCisjZGVmaW5lIE1UNjMyNV9SR19JTlRfU1RBVFVTX0ZHX1pDVl9NQVNLICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0lOVF9TVEFUVVNfRkdfWkNWX1NISUZUICAgICAgICAgICAgICAgIDExCisjZGVmaW5lIE1UNjMyNV9SR19JTlRfU1RBVFVTX1NQS0xfRF9NQVNLICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0lOVF9TVEFUVVNfU1BLTF9EX1NISUZUICAgICAgICAgICAgICAgIDEyCisjZGVmaW5lIE1UNjMyNV9SR19JTlRfU1RBVFVTX1NQS0xfQUJfTUFTSyAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0lOVF9TVEFUVVNfU1BLTF9BQl9TSElGVCAgICAgICAgICAgICAgIDEzCisjZGVmaW5lIE1UNjMyNV9PQ19HRUFSX0xET19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X09DX0dFQVJfTERPX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X0ZRTVRSX1RDS1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgIDB4NworI2RlZmluZSBNVDYzMjVfRlFNVFJfVENLU0VMX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfRlFNVFJfQlVTWV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9GUU1UUl9CVVNZX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAzCisjZGVmaW5lIE1UNjMyNV9GUU1UUl9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0ZRTVRSX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE1CisjZGVmaW5lIE1UNjMyNV9GUU1UUl9XSU5TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAweEZGRkYKKyNkZWZpbmUgTVQ2MzI1X0ZRTVRSX1dJTlNFVF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X0ZRTVRSX0RBVEFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkZGRgorI2RlZmluZSBNVDYzMjVfRlFNVFJfREFUQV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfU0xQX1JXX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19TTFBfUldfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19TUElfUlNWX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAweDdGRkYKKyNkZWZpbmUgTVQ2MzI1X1JHX1NQSV9SU1ZfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgTVQ2MzI1X0RFV19ESU9fRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfREVXX0RJT19FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfREVXX1JFQURfVEVTVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHhGRkZGCisjZGVmaW5lIE1UNjMyNV9ERVdfUkVBRF9URVNUX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9ERVdfV1JJVEVfVEVTVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweEZGRkYKKyNkZWZpbmUgTVQ2MzI1X0RFV19XUklURV9URVNUX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X0RFV19DUkNfU1dSU1RfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfREVXX0NSQ19TV1JTVF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfREVXX0NSQ19FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9ERVdfQ1JDX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9ERVdfQ1JDX1ZBTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAweEZGCisjZGVmaW5lIE1UNjMyNV9ERVdfQ1JDX1ZBTF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9ERVdfREJHX01PTl9TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweEYKKyNkZWZpbmUgTVQ2MzI1X0RFV19EQkdfTU9OX1NFTF9TSElGVCAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X0RFV19DSVBIRVJfS0VZX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfREVXX0NJUEhFUl9LRVlfU0VMX1NISUZUICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfREVXX0NJUEhFUl9JVl9TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9ERVdfQ0lQSEVSX0lWX1NFTF9TSElGVCAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9ERVdfQ0lQSEVSX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0RFV19DSVBIRVJfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X0RFV19DSVBIRVJfUkRZX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfREVXX0NJUEhFUl9SRFlfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfREVXX0NJUEhFUl9NT0RFX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9ERVdfQ0lQSEVSX01PREVfU0hJRlQgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9ERVdfQ0lQSEVSX1NXUlNUX01BU0sgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0RFV19DSVBIRVJfU1dSU1RfU0hJRlQgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X0RFV19SRERNWV9OT19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgIDB4RgorI2RlZmluZSBNVDYzMjVfREVXX1JERE1ZX05PX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfSU5UX1RZUEVfQ09OMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHhGRkZGCisjZGVmaW5lIE1UNjMyNV9JTlRfVFlQRV9DT04wX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9JTlRfVFlQRV9DT04wX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgICAweEZGRkYKKyNkZWZpbmUgTVQ2MzI1X0lOVF9UWVBFX0NPTjBfU0VUX1NISUZUICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X0lOVF9UWVBFX0NPTjBfQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgIDB4RkZGRgorI2RlZmluZSBNVDYzMjVfSU5UX1RZUEVfQ09OMF9DTFJfU0hJRlQgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfSU5UX1RZUEVfQ09OMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHg3RkZGCisjZGVmaW5lIE1UNjMyNV9JTlRfVFlQRV9DT04xX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9JTlRfVFlQRV9DT04xX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgICAweDdGRkYKKyNkZWZpbmUgTVQ2MzI1X0lOVF9UWVBFX0NPTjFfU0VUX1NISUZUICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X0lOVF9UWVBFX0NPTjFfQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgIDB4N0ZGRgorI2RlZmluZSBNVDYzMjVfSU5UX1RZUEVfQ09OMV9DTFJfU0hJRlQgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfSU5UX1RZUEVfQ09OMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHgzRkZGCisjZGVmaW5lIE1UNjMyNV9JTlRfVFlQRV9DT04yX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9JTlRfVFlQRV9DT04yX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgICAweDNGRkYKKyNkZWZpbmUgTVQ2MzI1X0lOVF9UWVBFX0NPTjJfU0VUX1NISUZUICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X0lOVF9UWVBFX0NPTjJfQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgIDB4M0ZGRgorI2RlZmluZSBNVDYzMjVfSU5UX1RZUEVfQ09OMl9DTFJfU0hJRlQgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfQ1BVX0lOVF9TVEFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9DUFVfSU5UX1NUQV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9NRDMyX0lOVF9TVEFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X01EMzJfSU5UX1NUQV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgTVQ2MzI1X0JVQ0tfQUxMX1JTVjBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4RkYKKyNkZWZpbmUgTVQ2MzI1X0JVQ0tfQUxMX1JTVjBfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1ZTTEVFUF9TUkMwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MUZGCisjZGVmaW5lIE1UNjMyNV9WU0xFRVBfU1JDMF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9WU0xFRVBfU1JDMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAweEYKKyNkZWZpbmUgTVQ2MzI1X1ZTTEVFUF9TUkMxX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgIDEyCisjZGVmaW5lIE1UNjMyNV9SMlJfU1JDMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDFGRgorI2RlZmluZSBNVDYzMjVfUjJSX1NSQzBfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUjJSX1NSQzFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhGCisjZGVmaW5lIE1UNjMyNV9SMlJfU1JDMV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfQlVDS19PU0NfU0VMX1NSQzBfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgxRkYKKyNkZWZpbmUgTVQ2MzI1X0JVQ0tfT1NDX1NFTF9TUkMwX1NISUZUICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1NSQ0xLRU5fRExZX1NSQzFfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4RgorI2RlZmluZSBNVDYzMjVfU1JDTEtFTl9ETFlfU1JDMV9TSElGVCAgICAgICAgICAgICAgICAgICAgMTIKKyNkZWZpbmUgTVQ2MzI1X0JVQ0tfQ09ONV9SU1YwX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4RkZGRgorI2RlZmluZSBNVDYzMjVfQlVDS19DT041X1JTVjBfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUUlfVkdQVV9ESUdfTU9OX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHhGCisjZGVmaW5lIE1UNjMyNV9RSV9WR1BVX0RJR19NT05fU0hJRlQgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9RSV9WSU8xOF9ESUdfTU9OX01BU0sgICAgICAgICAgICAgICAgICAgICAweEYKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZJTzE4X0RJR19NT05fU0hJRlQgICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZDT1JFMV9ESUdfTU9OX01BU0sgICAgICAgICAgICAgICAgICAgIDB4RgorI2RlZmluZSBNVDYzMjVfUUlfVkNPUkUxX0RJR19NT05fU0hJRlQgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUUlfVkNPUkUyX0RJR19NT05fTUFTSyAgICAgICAgICAgICAgICAgICAgMHhGCisjZGVmaW5lIE1UNjMyNV9RSV9WQ09SRTJfRElHX01PTl9TSElGVCAgICAgICAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9RSV9WUkYxOF8wX0RJR19NT05fTUFTSyAgICAgICAgICAgICAgICAgICAweEYKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZSRjE4XzBfRElHX01PTl9TSElGVCAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZQQV9ESUdfTU9OX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4RkYKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZQQV9ESUdfTU9OX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZEVkZTMTFfRElHX01PTl9NQVNLICAgICAgICAgICAgICAgICAgIDB4RkYKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZEVkZTMTFfRElHX01PTl9TSElGVCAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZEVkZTMTJfRElHX01PTl9NQVNLICAgICAgICAgICAgICAgICAgIDB4RkYKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZEVkZTMTJfRElHX01PTl9TSElGVCAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1ZEVkZTMTFfT0NfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVkRWRlMxMV9PQ19FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfVkRWRlMxMV9PQ19ERUdfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9WRFZGUzExX09DX0RFR19FTl9TSElGVCAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9WRFZGUzExX09DX1dORF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1ZEVkZTMTFfT0NfV05EX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1ZEVkZTMTFfT0NfVEhEX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfVkRWRlMxMV9PQ19USERfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgNgorI2RlZmluZSBNVDYzMjVfVkRWRlMxMl9PQ19FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9WRFZGUzEyX09DX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9WRFZGUzEyX09DX0RFR19FTl9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1ZEVkZTMTJfT0NfREVHX0VOX1NISUZUICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgTVQ2MzI1X1ZEVkZTMTJfT0NfV05EX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfVkRWRlMxMl9PQ19XTkRfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgMgorI2RlZmluZSBNVDYzMjVfVkRWRlMxMl9PQ19USERfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9WRFZGUzEyX09DX1RIRF9TSElGVCAgICAgICAgICAgICAgICAgICAgICA2CisjZGVmaW5lIE1UNjMyNV9WUkYxOF8wX09DX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1ZSRjE4XzBfT0NfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1ZSRjE4XzBfT0NfREVHX0VOX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVlJGMThfMF9PQ19ERUdfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBNVDYzMjVfVlJGMThfMF9PQ19XTkRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9WUkYxOF8wX09DX1dORF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAyCisjZGVmaW5lIE1UNjMyNV9WUkYxOF8wX09DX1RIRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1ZSRjE4XzBfT0NfVEhEX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDYKKyNkZWZpbmUgTVQ2MzI1X1ZQQV9PQ19FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVlBBX09DX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfVlBBX09DX0RFR19FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9WUEFfT0NfREVHX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9WUEFfT0NfV05EX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1ZQQV9PQ19XTkRfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1ZQQV9PQ19USERfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfVlBBX09DX1RIRF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgNgorI2RlZmluZSBNVDYzMjVfVkdQVV9PQ19FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9WR1BVX09DX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9WR1BVX09DX0RFR19FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1ZHUFVfT0NfREVHX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgTVQ2MzI1X1ZHUFVfT0NfV05EX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfVkdQVV9PQ19XTkRfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgMgorI2RlZmluZSBNVDYzMjVfVkdQVV9PQ19USERfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9WR1BVX09DX1RIRF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICA2CisjZGVmaW5lIE1UNjMyNV9WQ09SRTFfT0NfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFMV9PQ19FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFMV9PQ19ERUdfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVkNPUkUxX09DX0RFR19FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBNVDYzMjVfVkNPUkUxX09DX1dORF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9WQ09SRTFfT0NfV05EX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAyCisjZGVmaW5lIE1UNjMyNV9WQ09SRTFfT0NfVEhEX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFMV9PQ19USERfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDYKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFMl9PQ19FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVkNPUkUyX09DX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfVkNPUkUyX09DX0RFR19FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9WQ09SRTJfT0NfREVHX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9WQ09SRTJfT0NfV05EX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFMl9PQ19XTkRfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFMl9PQ19USERfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfVkNPUkUyX09DX1RIRF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgNgorI2RlZmluZSBNVDYzMjVfVklPMThfT0NfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9WSU8xOF9PQ19FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9WSU8xOF9PQ19ERUdfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1ZJTzE4X09DX0RFR19FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgTVQ2MzI1X1ZJTzE4X09DX1dORF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfVklPMThfT0NfV05EX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgMgorI2RlZmluZSBNVDYzMjVfVklPMThfT0NfVEhEX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9WSU8xOF9PQ19USERfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICA2CisjZGVmaW5lIE1UNjMyNV9WRFJBTV9PQ19FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1ZEUkFNX09DX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1ZEUkFNX09DX0RFR19FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVkRSQU1fT0NfREVHX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBNVDYzMjVfVkRSQU1fT0NfV05EX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9WRFJBTV9PQ19XTkRfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAyCisjZGVmaW5lIE1UNjMyNV9WRFJBTV9PQ19USERfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1ZEUkFNX09DX1RIRF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgIDYKKyNkZWZpbmUgTVQ2MzI1X1ZEVkZTMTFfT0NfRkxBR19DTFJfTUFTSyAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVkRWRlMxMV9PQ19GTEFHX0NMUl9TSElGVCAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfVkRWRlMxMl9PQ19GTEFHX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9WRFZGUzEyX09DX0ZMQUdfQ0xSX1NISUZUICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9WUkYxOF8wX09DX0ZMQUdfQ0xSX01BU0sgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1ZSRjE4XzBfT0NfRkxBR19DTFJfU0hJRlQgICAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1ZQQV9PQ19GTEFHX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVlBBX09DX0ZMQUdfQ0xSX1NISUZUICAgICAgICAgICAgICAgICAgICAgMworI2RlZmluZSBNVDYzMjVfVkdQVV9PQ19GTEFHX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9WR1BVX09DX0ZMQUdfQ0xSX1NISUZUICAgICAgICAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9WQ09SRTFfT0NfRkxBR19DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFMV9PQ19GTEFHX0NMUl9TSElGVCAgICAgICAgICAgICAgICAgIDUKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFMl9PQ19GTEFHX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVkNPUkUyX09DX0ZMQUdfQ0xSX1NISUZUICAgICAgICAgICAgICAgICAgNgorI2RlZmluZSBNVDYzMjVfVklPMThfT0NfRkxBR19DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9WSU8xOF9PQ19GTEFHX0NMUl9TSElGVCAgICAgICAgICAgICAgICAgICA3CisjZGVmaW5lIE1UNjMyNV9WRFJBTV9PQ19GTEFHX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1ZEUkFNX09DX0ZMQUdfQ0xSX1NISUZUICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1ZEVkZTMTFfT0NfRkxBR19DTFJfU0VMX01BU0sgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVkRWRlMxMV9PQ19GTEFHX0NMUl9TRUxfU0hJRlQgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfVkRWRlMxMl9PQ19GTEFHX0NMUl9TRUxfTUFTSyAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9WRFZGUzEyX09DX0ZMQUdfQ0xSX1NFTF9TSElGVCAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9WUkYxOF8wX09DX0ZMQUdfQ0xSX1NFTF9NQVNLICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1ZSRjE4XzBfT0NfRkxBR19DTFJfU0VMX1NISUZUICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1ZQQV9PQ19GTEFHX0NMUl9TRUxfTUFTSyAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVlBBX09DX0ZMQUdfQ0xSX1NFTF9TSElGVCAgICAgICAgICAgICAgICAgMworI2RlZmluZSBNVDYzMjVfVkdQVV9PQ19GTEFHX0NMUl9TRUxfTUFTSyAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9WR1BVX09DX0ZMQUdfQ0xSX1NFTF9TSElGVCAgICAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9WQ09SRTFfT0NfRkxBR19DTFJfU0VMX01BU0sgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFMV9PQ19GTEFHX0NMUl9TRUxfU0hJRlQgICAgICAgICAgICAgIDUKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFMl9PQ19GTEFHX0NMUl9TRUxfTUFTSyAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVkNPUkUyX09DX0ZMQUdfQ0xSX1NFTF9TSElGVCAgICAgICAgICAgICAgNgorI2RlZmluZSBNVDYzMjVfVklPMThfT0NfRkxBR19DTFJfU0VMX01BU0sgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9WSU8xOF9PQ19GTEFHX0NMUl9TRUxfU0hJRlQgICAgICAgICAgICAgICA3CisjZGVmaW5lIE1UNjMyNV9WRFJBTV9PQ19GTEFHX0NMUl9TRUxfTUFTSyAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1ZEUkFNX09DX0ZMQUdfQ0xSX1NFTF9TSElGVCAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1ZEVkZTMTFfT0NfU1RBVFVTX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVkRWRlMxMV9PQ19TVEFUVVNfU0hJRlQgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfVkRWRlMxMl9PQ19TVEFUVVNfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9WRFZGUzEyX09DX1NUQVRVU19TSElGVCAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9WUkYxOF8wX09DX1NUQVRVU19NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1ZSRjE4XzBfT0NfU1RBVFVTX1NISUZUICAgICAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1ZQQV9PQ19TVEFUVVNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVlBBX09DX1NUQVRVU19TSElGVCAgICAgICAgICAgICAgICAgICAgICAgMworI2RlZmluZSBNVDYzMjVfVkdQVV9PQ19TVEFUVVNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9WR1BVX09DX1NUQVRVU19TSElGVCAgICAgICAgICAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9WQ09SRTFfT0NfU1RBVFVTX01BU0sgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFMV9PQ19TVEFUVVNfU0hJRlQgICAgICAgICAgICAgICAgICAgIDUKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFMl9PQ19TVEFUVVNfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVkNPUkUyX09DX1NUQVRVU19TSElGVCAgICAgICAgICAgICAgICAgICAgNgorI2RlZmluZSBNVDYzMjVfVklPMThfT0NfU1RBVFVTX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9WSU8xOF9PQ19TVEFUVVNfU0hJRlQgICAgICAgICAgICAgICAgICAgICA3CisjZGVmaW5lIE1UNjMyNV9WRFJBTV9PQ19TVEFUVVNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1ZEUkFNX09DX1NUQVRVU19TSElGVCAgICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1ZEVkZTMTFfT0NfSU5UX0VOX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVkRWRlMxMV9PQ19JTlRfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfVkRWRlMxMl9PQ19JTlRfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9WRFZGUzEyX09DX0lOVF9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9WUkYxOF8wX09DX0lOVF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1ZSRjE4XzBfT0NfSU5UX0VOX1NISUZUICAgICAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1ZQQV9PQ19JTlRfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVlBBX09DX0lOVF9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgMworI2RlZmluZSBNVDYzMjVfVkdQVV9PQ19JTlRfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9WR1BVX09DX0lOVF9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9WQ09SRTFfT0NfSU5UX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFMV9PQ19JTlRfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgIDUKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFMl9PQ19JTlRfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVkNPUkUyX09DX0lOVF9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgNgorI2RlZmluZSBNVDYzMjVfVklPMThfT0NfSU5UX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9WSU8xOF9PQ19JTlRfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICA3CisjZGVmaW5lIE1UNjMyNV9WRFJBTV9PQ19JTlRfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1ZEUkFNX09DX0lOVF9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1ZEVkZTMTFfRU5fT0NfU0ROX1NFTF9NQVNLICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVkRWRlMxMV9FTl9PQ19TRE5fU0VMX1NISUZUICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfVkRWRlMxMl9FTl9PQ19TRE5fU0VMX01BU0sgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9WRFZGUzEyX0VOX09DX1NETl9TRUxfU0hJRlQgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9WUkYxOF8wX0VOX09DX1NETl9TRUxfTUFTSyAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1ZSRjE4XzBfRU5fT0NfU0ROX1NFTF9TSElGVCAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1ZQQV9FTl9PQ19TRE5fU0VMX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVlBBX0VOX09DX1NETl9TRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgMworI2RlZmluZSBNVDYzMjVfVkdQVV9FTl9PQ19TRE5fU0VMX01BU0sgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9WR1BVX0VOX09DX1NETl9TRUxfU0hJRlQgICAgICAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9WQ09SRTFfRU5fT0NfU0ROX1NFTF9NQVNLICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFMV9FTl9PQ19TRE5fU0VMX1NISUZUICAgICAgICAgICAgICAgIDUKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFMl9FTl9PQ19TRE5fU0VMX01BU0sgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVkNPUkUyX0VOX09DX1NETl9TRUxfU0hJRlQgICAgICAgICAgICAgICAgNgorI2RlZmluZSBNVDYzMjVfVklPMThfRU5fT0NfU0ROX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9WSU8xOF9FTl9PQ19TRE5fU0VMX1NISUZUICAgICAgICAgICAgICAgICA3CisjZGVmaW5lIE1UNjMyNV9WRFJBTV9FTl9PQ19TRE5fU0VMX01BU0sgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1ZEUkFNX0VOX09DX1NETl9TRUxfU0hJRlQgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1ZTUkFNX0RWRlMxX1RSQUNLX1NMRUVQX0NUUkxfTUFTSyAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVlNSQU1fRFZGUzFfVFJBQ0tfU0xFRVBfQ1RSTF9TSElGVCAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfVlNSQU1fRFZGUzFfVFJBQ0tfT05fQ1RSTF9NQVNLICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9WU1JBTV9EVkZTMV9UUkFDS19PTl9DVFJMX1NISUZUICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9WRFZGUzFfVFJBQ0tfT05fQ1RSTF9NQVNLICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1ZEVkZTMV9UUkFDS19PTl9DVFJMX1NISUZUICAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1ZTUkFNX0RWRlMxX1ZPU0VMX0RFTFRBX01BU0sgICAgICAgICAgICAgIDB4N0YKKyNkZWZpbmUgTVQ2MzI1X1ZTUkFNX0RWRlMxX1ZPU0VMX0RFTFRBX1NISUZUICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1ZTUkFNX0RWRlMxX1ZPU0VMX09GRlNFVF9NQVNLICAgICAgICAgICAgIDB4N0YKKyNkZWZpbmUgTVQ2MzI1X1ZTUkFNX0RWRlMxX1ZPU0VMX09GRlNFVF9TSElGVCAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1ZTUkFNX0RWRlMxX1ZPU0VMX09OX0xCX01BU0sgICAgICAgICAgICAgIDB4N0YKKyNkZWZpbmUgTVQ2MzI1X1ZTUkFNX0RWRlMxX1ZPU0VMX09OX0xCX1NISUZUICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1ZTUkFNX0RWRlMxX1ZPU0VMX09OX0hCX01BU0sgICAgICAgICAgICAgIDB4N0YKKyNkZWZpbmUgTVQ2MzI1X1ZTUkFNX0RWRlMxX1ZPU0VMX09OX0hCX1NISUZUICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1ZTUkFNX0RWRlMxX1ZPU0VMX1NMRUVQX0xCX01BU0sgICAgICAgICAgIDB4N0YKKyNkZWZpbmUgTVQ2MzI1X1ZTUkFNX0RWRlMxX1ZPU0VMX1NMRUVQX0xCX1NISUZUICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZEVkZTMTFfVlNMRUVQX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUUlfVkRWRlMxMV9WU0xFRVBfU0hJRlQgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUUlfVkRWRlMxMl9WU0xFRVBfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9RSV9WRFZGUzEyX1ZTTEVFUF9TSElGVCAgICAgICAgICAgICAgICAgICAyCisjZGVmaW5lIE1UNjMyNV9RSV9WR1BVX1ZTTEVFUF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZHUFVfVlNMRUVQX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZDT1JFMV9WU0xFRVBfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUUlfVkNPUkUxX1ZTTEVFUF9TSElGVCAgICAgICAgICAgICAgICAgICAgNgorI2RlZmluZSBNVDYzMjVfUUlfVkNPUkUyX1ZTTEVFUF9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9RSV9WQ09SRTJfVlNMRUVQX1NISUZUICAgICAgICAgICAgICAgICAgICA4CisjZGVmaW5lIE1UNjMyNV9RSV9WRFJBTV9WU0xFRVBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZEUkFNX1ZTTEVFUF9TSElGVCAgICAgICAgICAgICAgICAgICAgIDEwCisjZGVmaW5lIE1UNjMyNV9RSV9WU1JBTV9EVkZTMV9WU0xFRVBfTUFTSyAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZTUkFNX0RWRlMxX1ZTTEVFUF9TSElGVCAgICAgICAgICAgICAgIDEyCisjZGVmaW5lIE1UNjMyNV9RSV9WRFZGUzExX1ZTTEVFUF9SU1YwX01BU0sgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZEVkZTMTFfVlNMRUVQX1JTVjBfU0hJRlQgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZEVkZTMTJfVlNMRUVQX1JTVjBfTUFTSyAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVkRWRlMxMl9WU0xFRVBfUlNWMF9TSElGVCAgICAgICAgICAgICAgMQorI2RlZmluZSBNVDYzMjVfUUlfVkdQVV9NT0RFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9RSV9WR1BVX01PREVfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAyCisjZGVmaW5lIE1UNjMyNV9RSV9WQ09SRTFfTU9ERV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZDT1JFMV9NT0RFX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDMKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZDT1JFMl9NT0RFX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVkNPUkUyX01PREVfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgNAorI2RlZmluZSBNVDYzMjVfUUlfVkRSQU1fTU9ERV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9RSV9WRFJBTV9NT0RFX1NISUZUICAgICAgICAgICAgICAgICAgICAgICA1CisjZGVmaW5lIE1UNjMyNV9RSV9WUkYxOF8wX01PREVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZSRjE4XzBfTU9ERV9TSElGVCAgICAgICAgICAgICAgICAgICAgIDYKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZJTzE4X01PREVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVklPMThfTU9ERV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgNworI2RlZmluZSBNVDYzMjVfUkdfVkRSQU1fTUlOX09GRl9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19WRFJBTV9NSU5fT0ZGX1NISUZUICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19WRFJBTV9OVlRfQlVGRl9PRkZfRU5fTUFTSyAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZEUkFNX05WVF9CVUZGX09GRl9FTl9TSElGVCAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZEUkFNX1ZSRjE4X1NTVEFSVF9FTl9NQVNLICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVkRSQU1fVlJGMThfU1NUQVJUX0VOX1NISUZUICAgICAgICAgICAgMworI2RlZmluZSBNVDYzMjVfUkdfVkRSQU1fMVAzNVVQX1NFTF9FTl9NQVNLICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WRFJBTV8xUDM1VVBfU0VMX0VOX1NISUZUICAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9SR19WRFJBTV9SWlNFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDcKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZEUkFNX1JaU0VMX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDUKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZEUkFNX0NDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUkdfVkRSQU1fQ0NfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfUkdfVkRSQU1fQ1NSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHg3CisjZGVmaW5lIE1UNjMyNV9SR19WRFJBTV9DU1JfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAxMAorI2RlZmluZSBNVDYzMjVfUkdfVkRSQU1fQ1NMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHhGCisjZGVmaW5lIE1UNjMyNV9SR19WRFJBTV9DU0xfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19WRFJBTV9TTFBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAweDcKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZEUkFNX1NMUF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZEUkFNX1pYX09TX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUkdfVkRSQU1fWlhfT1NfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgNworI2RlZmluZSBNVDYzMjVfUkdfVkRSQU1fWlhPU19UUklNX01BU0sgICAgICAgICAgICAgICAgICAgMHgzRgorI2RlZmluZSBNVDYzMjVfUkdfVkRSQU1fWlhPU19UUklNX1NISUZUICAgICAgICAgICAgICAgICAgOQorI2RlZmluZSBNVDYzMjVfUkdfVkRSQU1fTU9ERVNFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WRFJBTV9NT0RFU0VUX1NISUZUICAgICAgICAgICAgICAgICAgICAxNQorI2RlZmluZSBNVDYzMjVfUkdfVkRSQU1fTkRJU19FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WRFJBTV9ORElTX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19WRFJBTV9DU01fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAweDNGCisjZGVmaW5lIE1UNjMyNV9SR19WRFJBTV9DU01fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9SR19WRFJBTV9SU1ZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAweEZGCisjZGVmaW5lIE1UNjMyNV9SR19WRFJBTV9SU1ZfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICA3CisjZGVmaW5lIE1UNjMyNV9SR19WRFJBTV9QRk1fUklQX01BU0sgICAgICAgICAgICAgICAgICAgICAweDcKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZEUkFNX1BGTV9SSVBfU0hJRlQgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZEUkFNX1RSQU5fQlNUX01BU0sgICAgICAgICAgICAgICAgICAgIDB4M0YKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZEUkFNX1RSQU5fQlNUX1NISUZUICAgICAgICAgICAgICAgICAgIDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZEUkFNX0RUU19FTkJfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVkRSQU1fRFRTX0VOQl9TSElGVCAgICAgICAgICAgICAgICAgICAgOQorI2RlZmluZSBNVDYzMjVfUkdfVkRSQU1fUkNMX1RSSU1fTUFTSyAgICAgICAgICAgICAgICAgICAgMHgxRgorI2RlZmluZSBNVDYzMjVfUkdfVkRSQU1fUkNMX1RSSU1fU0hJRlQgICAgICAgICAgICAgICAgICAgMTAKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZEUkFNX1JDTF9UUklNX0VOX01BU0sgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVkRSQU1fUkNMX1RSSU1fRU5fU0hJRlQgICAgICAgICAgICAgICAgMTUKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZEUkFNX0MyX1JTVl9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVkRSQU1fQzJfUlNWX1NISUZUICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfVkNPUkUxX01JTl9PRkZfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19WQ09SRTFfTUlOX09GRl9TSElGVCAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19WQ09SRTFfTlZUX0JVRkZfT0ZGX0VOX01BU0sgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDT1JFMV9OVlRfQlVGRl9PRkZfRU5fU0hJRlQgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDT1JFMV9WUkYxOF9TU1RBUlRfRU5fTUFTSyAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVkNPUkUxX1ZSRjE4X1NTVEFSVF9FTl9TSElGVCAgICAgICAgICAgMworI2RlZmluZSBNVDYzMjVfUkdfVkNPUkUxXzFQMzVVUF9TRUxfRU5fTUFTSyAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WQ09SRTFfMVAzNVVQX1NFTF9FTl9TSElGVCAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9SR19WQ09SRTFfUlpTRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDcKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDT1JFMV9SWlNFTF9TSElGVCAgICAgICAgICAgICAgICAgICAgIDUKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDT1JFMV9DQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUkdfVkNPUkUxX0NDX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfUkdfVkNPUkUxX0NTUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHg3CisjZGVmaW5lIE1UNjMyNV9SR19WQ09SRTFfQ1NSX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAxMAorI2RlZmluZSBNVDYzMjVfUkdfVkNPUkUxX0NTTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHhGCisjZGVmaW5lIE1UNjMyNV9SR19WQ09SRTFfQ1NMX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19WQ09SRTFfU0xQX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDcKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDT1JFMV9TTFBfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDT1JFMV9aWF9PU19NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUkdfVkNPUkUxX1pYX09TX1NISUZUICAgICAgICAgICAgICAgICAgICAgNworI2RlZmluZSBNVDYzMjVfUkdfVkNPUkUxX1pYT1NfVFJJTV9NQVNLICAgICAgICAgICAgICAgICAgMHgzRgorI2RlZmluZSBNVDYzMjVfUkdfVkNPUkUxX1pYT1NfVFJJTV9TSElGVCAgICAgICAgICAgICAgICAgOQorI2RlZmluZSBNVDYzMjVfUkdfVkNPUkUxX01PREVTRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WQ09SRTFfTU9ERVNFVF9TSElGVCAgICAgICAgICAgICAgICAgICAxNQorI2RlZmluZSBNVDYzMjVfUkdfVkNPUkUxX05ESVNfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WQ09SRTFfTkRJU19FTl9TSElGVCAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19WQ09SRTFfQ1NNX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDNGCisjZGVmaW5lIE1UNjMyNV9SR19WQ09SRTFfQ1NNX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9SR19WQ09SRTFfUlNWX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweEZGCisjZGVmaW5lIE1UNjMyNV9SR19WQ09SRTFfUlNWX1NISUZUICAgICAgICAgICAgICAgICAgICAgICA3CisjZGVmaW5lIE1UNjMyNV9SR19WQ09SRTFfUEZNX1JJUF9NQVNLICAgICAgICAgICAgICAgICAgICAweDcKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDT1JFMV9QRk1fUklQX1NISUZUICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDT1JFMV9UUkFOX0JTVF9NQVNLICAgICAgICAgICAgICAgICAgIDB4M0YKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDT1JFMV9UUkFOX0JTVF9TSElGVCAgICAgICAgICAgICAgICAgIDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDT1JFMV9EVFNfRU5CX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVkNPUkUxX0RUU19FTkJfU0hJRlQgICAgICAgICAgICAgICAgICAgOQorI2RlZmluZSBNVDYzMjVfUkdfVkNPUkUxX1JDTF9UUklNX01BU0sgICAgICAgICAgICAgICAgICAgMHgxRgorI2RlZmluZSBNVDYzMjVfUkdfVkNPUkUxX1JDTF9UUklNX1NISUZUICAgICAgICAgICAgICAgICAgMTAKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDT1JFMV9SQ0xfVFJJTV9FTl9NQVNLICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVkNPUkUxX1JDTF9UUklNX0VOX1NISUZUICAgICAgICAgICAgICAgMTUKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDT1JFMV9DMl9SU1ZfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVkNPUkUxX0MyX1JTVl9TSElGVCAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfU01QU19URVNUTU9ERV9CX01BU0sgICAgICAgICAgICAgICAgICAgMHgxRkYKKyNkZWZpbmUgTVQ2MzI1X1JHX1NNUFNfVEVTVE1PREVfQl9TSElGVCAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZTUkFNX0RWRlMxX1RSSU1IX01BU0sgICAgICAgICAgICAgICAgIDB4MUYKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZTUkFNX0RWRlMxX1RSSU1IX1NISUZUICAgICAgICAgICAgICAgIDkKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZTUkFNX0RWRlMxX1RSSU1MX01BU0sgICAgICAgICAgICAgICAgIDB4MUYKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZTUkFNX0RWRlMxX1RSSU1MX1NISUZUICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZEVkZTMTFfVFJJTUhfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MUYKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZEVkZTMTFfVFJJTUhfU0hJRlQgICAgICAgICAgICAgICAgICAgIDUKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZEVkZTMTFfVFJJTUxfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MUYKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZEVkZTMTFfVFJJTUxfU0hJRlQgICAgICAgICAgICAgICAgICAgIDEwCisjZGVmaW5lIE1UNjMyNV9SR19WRFZGUzEyX1RSSU1IX01BU0sgICAgICAgICAgICAgICAgICAgICAweDFGCisjZGVmaW5lIE1UNjMyNV9SR19WRFZGUzEyX1RSSU1IX1NISUZUICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19WRFZGUzEyX1RSSU1MX01BU0sgICAgICAgICAgICAgICAgICAgICAweDFGCisjZGVmaW5lIE1UNjMyNV9SR19WRFZGUzEyX1RSSU1MX1NISUZUICAgICAgICAgICAgICAgICAgICA1CisjZGVmaW5lIE1UNjMyNV9SR19WR1BVX1RSSU1IX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDFGCisjZGVmaW5lIE1UNjMyNV9SR19WR1BVX1RSSU1IX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAxMAorI2RlZmluZSBNVDYzMjVfUkdfVkdQVV9UUklNTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHgxRgorI2RlZmluZSBNVDYzMjVfUkdfVkdQVV9UUklNTF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfVkNPUkUxX1RSSU1IX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgxRgorI2RlZmluZSBNVDYzMjVfUkdfVkNPUkUxX1RSSU1IX1NISUZUICAgICAgICAgICAgICAgICAgICAgNQorI2RlZmluZSBNVDYzMjVfUkdfVkNPUkUxX1RSSU1MX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgxRgorI2RlZmluZSBNVDYzMjVfUkdfVkNPUkUxX1RSSU1MX1NISUZUICAgICAgICAgICAgICAgICAgICAgMTAKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDT1JFMl9UUklNSF9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MUYKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDT1JFMl9UUklNSF9TSElGVCAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDT1JFMl9UUklNTF9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MUYKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDT1JFMl9UUklNTF9TSElGVCAgICAgICAgICAgICAgICAgICAgIDUKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZJTzE4X1RSSU1IX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4RgorI2RlZmluZSBNVDYzMjVfUkdfVklPMThfVFJJTUhfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgMTAKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZJTzE4X1RSSU1MX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4RgorI2RlZmluZSBNVDYzMjVfUkdfVklPMThfVFJJTUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfVlBBX1RSSU1IX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHgxRgorI2RlZmluZSBNVDYzMjVfUkdfVlBBX1RSSU1IX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgNAorI2RlZmluZSBNVDYzMjVfUkdfVlBBX1RSSU1MX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHgxRgorI2RlZmluZSBNVDYzMjVfUkdfVlBBX1RSSU1MX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgOQorI2RlZmluZSBNVDYzMjVfUkdfVlBBX1RSSU1fUkVGX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgxRgorI2RlZmluZSBNVDYzMjVfUkdfVlBBX1RSSU1fUkVGX1NISUZUICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfVlJGMThfMF9UUklNSF9NQVNLICAgICAgICAgICAgICAgICAgICAgMHhGCisjZGVmaW5lIE1UNjMyNV9SR19WUkYxOF8wX1RSSU1IX1NISUZUICAgICAgICAgICAgICAgICAgICA1CisjZGVmaW5lIE1UNjMyNV9SR19WUkYxOF8wX1RSSU1MX01BU0sgICAgICAgICAgICAgICAgICAgICAweEYKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZSRjE4XzBfVFJJTUxfU0hJRlQgICAgICAgICAgICAgICAgICAgIDkKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZEUkFNX1RSSU1IX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4RgorI2RlZmluZSBNVDYzMjVfUkdfVkRSQU1fVFJJTUhfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfVkRSQU1fVFJJTUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHhGCisjZGVmaW5lIE1UNjMyNV9SR19WRFJBTV9UUklNTF9TSElGVCAgICAgICAgICAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9SR19WU1JBTV9EVkZTMV9WU0xFRVBfTUFTSyAgICAgICAgICAgICAgICAweDcKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZTUkFNX0RWRlMxX1ZTTEVFUF9TSElGVCAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZEVkZTMTFfVlNMRUVQX01BU0sgICAgICAgICAgICAgICAgICAgIDB4NworI2RlZmluZSBNVDYzMjVfUkdfVkRWRlMxMV9WU0xFRVBfU0hJRlQgICAgICAgICAgICAgICAgICAgMTEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZEVkZTMTJfVlNMRUVQX01BU0sgICAgICAgICAgICAgICAgICAgIDB4NworI2RlZmluZSBNVDYzMjVfUkdfVkRWRlMxMl9WU0xFRVBfU0hJRlQgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfVkdQVV9WU0xFRVBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHg3CisjZGVmaW5lIE1UNjMyNV9SR19WR1BVX1ZTTEVFUF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAzCisjZGVmaW5lIE1UNjMyNV9SR19WQ09SRTFfVlNMRUVQX01BU0sgICAgICAgICAgICAgICAgICAgICAweDcKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDT1JFMV9WU0xFRVBfU0hJRlQgICAgICAgICAgICAgICAgICAgIDYKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDT1JFMl9WU0xFRVBfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4NworI2RlZmluZSBNVDYzMjVfUkdfVkNPUkUyX1ZTTEVFUF9TSElGVCAgICAgICAgICAgICAgICAgICAgOQorI2RlZmluZSBNVDYzMjVfUkdfVlBBX0JVUlNUSF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19WUEFfQlVSU1RIX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfUkdfVlBBX0JVUlNUTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19WUEFfQlVSU1RMX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAxNAorI2RlZmluZSBNVDYzMjVfUkdfVkRSQU1fVlNMRUVQX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHg3CisjZGVmaW5lIE1UNjMyNV9SR19WRFJBTV9WU0xFRVBfU0hJRlQgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19ETVkxMDBNQV9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0RNWTEwME1BX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDMKKyNkZWZpbmUgTVQ2MzI1X1JHX0RNWTEwME1BX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUkdfRE1ZMTAwTUFfU0VMX1NISUZUICAgICAgICAgICAgICAgICAgICAgNAorI2RlZmluZSBNVDYzMjVfUkdfVkRWRlMxX01JTl9PRkZfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19WRFZGUzFfTUlOX09GRl9TSElGVCAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19WRFZGUzFfTlZUX0JVRkZfT0ZGX0VOX01BU0sgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZEVkZTMV9OVlRfQlVGRl9PRkZfRU5fU0hJRlQgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZEVkZTMV9WUkYxOF9TU1RBUlRfRU5fTUFTSyAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVkRWRlMxX1ZSRjE4X1NTVEFSVF9FTl9TSElGVCAgICAgICAgICAgMworI2RlZmluZSBNVDYzMjVfUkdfVkRWRlMxXzFQMzVVUF9TRUxfRU5fTUFTSyAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WRFZGUzFfMVAzNVVQX1NFTF9FTl9TSElGVCAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9SR19WRFZGUzExX1JaU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAweEYKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZEVkZTMTFfUlpTRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgIDUKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZEVkZTMTJfUlpTRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4RgorI2RlZmluZSBNVDYzMjVfUkdfVkRWRlMxMl9SWlNFTF9TSElGVCAgICAgICAgICAgICAgICAgICAgOQorI2RlZmluZSBNVDYzMjVfUkdfVkRWRlMxMV9QRk1fUklQX01BU0sgICAgICAgICAgICAgICAgICAgMHg3CisjZGVmaW5lIE1UNjMyNV9SR19WRFZGUzExX1BGTV9SSVBfU0hJRlQgICAgICAgICAgICAgICAgICAxMworI2RlZmluZSBNVDYzMjVfUkdfVkRWRlMxMV9DU1JfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHg3CisjZGVmaW5lIE1UNjMyNV9SR19WRFZGUzExX0NTUl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19WRFZGUzEyX0NTUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDcKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZEVkZTMTJfQ1NSX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZEVkZTMTFfUEZNX0NTUl9NQVNLICAgICAgICAgICAgICAgICAgIDB4NworI2RlZmluZSBNVDYzMjVfUkdfVkRWRlMxMV9QRk1fQ1NSX1NISUZUICAgICAgICAgICAgICAgICAgNgorI2RlZmluZSBNVDYzMjVfUkdfVkRWRlMxMl9QRk1fQ1NSX01BU0sgICAgICAgICAgICAgICAgICAgMHg3CisjZGVmaW5lIE1UNjMyNV9SR19WRFZGUzEyX1BGTV9DU1JfU0hJRlQgICAgICAgICAgICAgICAgICA5CisjZGVmaW5lIE1UNjMyNV9SR19WRFZGUzExX0NTTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweEYKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZEVkZTMTFfQ1NMX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDEyCisjZGVmaW5lIE1UNjMyNV9SR19WRFZGUzEyX0NTTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweEYKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZEVkZTMTJfQ1NMX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZEVkZTMTFfU0xQX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4NworI2RlZmluZSBNVDYzMjVfUkdfVkRWRlMxMV9TTFBfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgNAorI2RlZmluZSBNVDYzMjVfUkdfVkRWRlMxMl9TTFBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHg3CisjZGVmaW5lIE1UNjMyNV9SR19WRFZGUzEyX1NMUF9TSElGVCAgICAgICAgICAgICAgICAgICAgICA3CisjZGVmaW5lIE1UNjMyNV9SR19WRFZGUzExX1pYX09TX01BU0sgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZEVkZTMTFfWlhfT1NfU0hJRlQgICAgICAgICAgICAgICAgICAgIDEwCisjZGVmaW5lIE1UNjMyNV9SR19WRFZGUzEyX1pYX09TX01BU0sgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZEVkZTMTJfWlhfT1NfU0hJRlQgICAgICAgICAgICAgICAgICAgIDEyCisjZGVmaW5lIE1UNjMyNV9SR19WRFZGUzExX01PREVTRVRfTUFTSyAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZEVkZTMTFfTU9ERVNFVF9TSElGVCAgICAgICAgICAgICAgICAgIDE0CisjZGVmaW5lIE1UNjMyNV9SR19WRFZGUzEyX01PREVTRVRfTUFTSyAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZEVkZTMTJfTU9ERVNFVF9TSElGVCAgICAgICAgICAgICAgICAgIDE1CisjZGVmaW5lIE1UNjMyNV9SR19WRFZGUzExX05ESVNfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZEVkZTMTFfTkRJU19FTl9TSElGVCAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZEVkZTMTJfTkRJU19FTl9NQVNLICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVkRWRlMxMl9ORElTX0VOX1NISUZUICAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBNVDYzMjVfUkdfVkRWRlMxMV9UUkFOU19CU1RfTUFTSyAgICAgICAgICAgICAgICAgMHhGRgorI2RlZmluZSBNVDYzMjVfUkdfVkRWRlMxMV9UUkFOU19CU1RfU0hJRlQgICAgICAgICAgICAgICAgMgorI2RlZmluZSBNVDYzMjVfUkdfVkRWRlMxMl9UUkFOU19CU1RfTUFTSyAgICAgICAgICAgICAgICAgMHhGRgorI2RlZmluZSBNVDYzMjVfUkdfVkRWRlMxMl9UUkFOU19CU1RfU0hJRlQgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfVkRWRlMxMV9VVlBfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WRFZGUzExX1VWUF9FTl9TSElGVCAgICAgICAgICAgICAgICAgICA4CisjZGVmaW5lIE1UNjMyNV9SR19WRFZGUzEyX1VWUF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZEVkZTMTJfVVZQX0VOX1NISUZUICAgICAgICAgICAgICAgICAgIDkKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZEVkZTMTFfQ1NNX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4M0YKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZEVkZTMTFfQ1NNX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDEwCisjZGVmaW5lIE1UNjMyNV9SR19WRFZGUzEyX0NTTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDNGCisjZGVmaW5lIE1UNjMyNV9SR19WRFZGUzEyX0NTTV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19WRFZGUzExX1BLTU9ERV9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZEVkZTMTFfUEtNT0RFX1NISUZUICAgICAgICAgICAgICAgICAgIDYKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZEVkZTMTJfUEtNT0RFX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVkRWRlMxMl9QS01PREVfU0hJRlQgICAgICAgICAgICAgICAgICAgNworI2RlZmluZSBNVDYzMjVfUkdfVkRWRlMxMV9SU1ZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHhGRgorI2RlZmluZSBNVDYzMjVfUkdfVkRWRlMxMV9SU1ZfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfUkdfVkRWRlMxMl9SU1ZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHhGRgorI2RlZmluZSBNVDYzMjVfUkdfVkRWRlMxMl9SU1ZfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfVkRWRlMxMV9aWE9TX1RSSU1fTUFTSyAgICAgICAgICAgICAgICAgMHhGRgorI2RlZmluZSBNVDYzMjVfUkdfVkRWRlMxMV9aWE9TX1RSSU1fU0hJRlQgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfUkdfVkRWRlMxMl9aWE9TX1RSSU1fTUFTSyAgICAgICAgICAgICAgICAgMHhGRgorI2RlZmluZSBNVDYzMjVfUkdfVkRWRlMxMl9aWE9TX1RSSU1fU0hJRlQgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfVkRWRlMxMV9PQ19PRkZfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WRFZGUzExX09DX09GRl9TSElGVCAgICAgICAgICAgICAgICAgICA4CisjZGVmaW5lIE1UNjMyNV9SR19WRFZGUzEyX09DX09GRl9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZEVkZTMTJfT0NfT0ZGX1NISUZUICAgICAgICAgICAgICAgICAgIDkKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZEVkZTMTFfUEhTX1NIRURfVFJJTV9NQVNLICAgICAgICAgICAgIDB4RgorI2RlZmluZSBNVDYzMjVfUkdfVkRWRlMxMV9QSFNfU0hFRF9UUklNX1NISUZUICAgICAgICAgICAgMTAKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZHUFVfTUlOX09GRl9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUkdfVkdQVV9NSU5fT0ZGX1NISUZUICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfVkdQVV9OVlRfQlVGRl9PRkZfRU5fTUFTSyAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WR1BVX05WVF9CVUZGX09GRl9FTl9TSElGVCAgICAgICAgICAgICAyCisjZGVmaW5lIE1UNjMyNV9SR19WR1BVX1ZSRjE4X1NTVEFSVF9FTl9NQVNLICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZHUFVfVlJGMThfU1NUQVJUX0VOX1NISUZUICAgICAgICAgICAgIDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZHUFVfMVAzNVVQX1NFTF9FTl9NQVNLICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVkdQVV8xUDM1VVBfU0VMX0VOX1NISUZUICAgICAgICAgICAgICAgNAorI2RlZmluZSBNVDYzMjVfUkdfVkdQVV9SWlNFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHg3CisjZGVmaW5lIE1UNjMyNV9SR19WR1BVX1JaU0VMX1NISUZUICAgICAgICAgICAgICAgICAgICAgICA1CisjZGVmaW5lIE1UNjMyNV9SR19WR1BVX0NDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZHUFVfQ0NfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZHUFVfQ1NSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NworI2RlZmluZSBNVDYzMjVfUkdfVkdQVV9DU1JfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgMTAKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZHUFVfQ1NMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RgorI2RlZmluZSBNVDYzMjVfUkdfVkdQVV9DU0xfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfVkdQVV9TTFBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgMHg3CisjZGVmaW5lIE1UNjMyNV9SR19WR1BVX1NMUF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9SR19WR1BVX1pYX09TX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZHUFVfWlhfT1NfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDcKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZHUFVfWlhPU19UUklNX01BU0sgICAgICAgICAgICAgICAgICAgIDB4M0YKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZHUFVfWlhPU19UUklNX1NISUZUICAgICAgICAgICAgICAgICAgIDkKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZHUFVfTU9ERVNFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVkdQVV9NT0RFU0VUX1NISUZUICAgICAgICAgICAgICAgICAgICAgMTUKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZHUFVfTkRJU19FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVkdQVV9ORElTX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfVkdQVV9DU01fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzRgorI2RlZmluZSBNVDYzMjVfUkdfVkdQVV9DU01fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBNVDYzMjVfUkdfVkdQVV9SU1ZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgMHhGRgorI2RlZmluZSBNVDYzMjVfUkdfVkdQVV9SU1ZfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgNworI2RlZmluZSBNVDYzMjVfUkdfVkdQVV9QRk1fUklQX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHg3CisjZGVmaW5lIE1UNjMyNV9SR19WR1BVX1BGTV9SSVBfU0hJRlQgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19WR1BVX1RSQU5fQlNUX01BU0sgICAgICAgICAgICAgICAgICAgICAweDNGCisjZGVmaW5lIE1UNjMyNV9SR19WR1BVX1RSQU5fQlNUX1NISUZUICAgICAgICAgICAgICAgICAgICAzCisjZGVmaW5lIE1UNjMyNV9SR19WR1BVX0RUU19FTkJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZHUFVfRFRTX0VOQl9TSElGVCAgICAgICAgICAgICAgICAgICAgIDkKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZHUFVfUkNMX1RSSU1fTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MUYKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZHUFVfUkNMX1RSSU1fU0hJRlQgICAgICAgICAgICAgICAgICAgIDEwCisjZGVmaW5lIE1UNjMyNV9SR19WR1BVX1JDTF9UUklNX0VOX01BU0sgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZHUFVfUkNMX1RSSU1fRU5fU0hJRlQgICAgICAgICAgICAgICAgIDE1CisjZGVmaW5lIE1UNjMyNV9SR19WR1BVX0MyX1JTVl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZHUFVfQzJfUlNWX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZQQV9SWlNFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUkdfVlBBX1JaU0VMX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfVlBBX0NDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19WUEFfQ0NfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAyCisjZGVmaW5lIE1UNjMyNV9SR19WUEFfQ1NSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZQQV9DU1JfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZQQV9DU01JUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUkdfVlBBX0NTTUlSX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgNgorI2RlZmluZSBNVDYzMjVfUkdfVlBBX0NTTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19WUEFfQ1NMX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICA4CisjZGVmaW5lIE1UNjMyNV9SR19WUEFfU0xQX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZQQV9TTFBfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgIDEwCisjZGVmaW5lIE1UNjMyNV9SR19WUEFfWlhfT1NfVFJJTV9NQVNLICAgICAgICAgICAgICAgICAgICAweDNGCisjZGVmaW5lIE1UNjMyNV9SR19WUEFfWlhfT1NfVFJJTV9TSElGVCAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19WUEFfWlhfT1NfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZQQV9aWF9PU19TSElGVCAgICAgICAgICAgICAgICAgICAgICAgIDYKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZQQV9IWlBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVlBBX0haUF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfUkdfVlBBX0JXRVhfR0FUX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WUEFfQldFWF9HQVRfU0hJRlQgICAgICAgICAgICAgICAgICAgICA5CisjZGVmaW5lIE1UNjMyNV9SR19WUEFfTU9ERVNFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZQQV9NT0RFU0VUX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDEwCisjZGVmaW5lIE1UNjMyNV9SR19WUEFfU0xFV19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZQQV9TTEVXX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgIDExCisjZGVmaW5lIE1UNjMyNV9SR19WUEFfU0xFV19OTU9TX01BU0sgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZQQV9TTEVXX05NT1NfU0hJRlQgICAgICAgICAgICAgICAgICAgIDEzCisjZGVmaW5lIE1UNjMyNV9SR19WUEFfTkRJU19FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZQQV9ORElTX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDE1CisjZGVmaW5lIE1UNjMyNV9SR19WUEFfTUlOX09OX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZQQV9NSU5fT05fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZQQV9WQkFUX0RFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUkdfVlBBX1ZCQVRfREVMX1NISUZUICAgICAgICAgICAgICAgICAgICAgMgorI2RlZmluZSBNVDYzMjVfUkdfVlBBX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WUEFfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9SR19WUEFfUlNWMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAweEZGCisjZGVmaW5lIE1UNjMyNV9SR19WUEFfUlNWMV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICA1CisjZGVmaW5lIE1UNjMyNV9SR19WUEFfUlNWMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAweEZGCisjZGVmaW5lIE1UNjMyNV9SR19WUEFfUlNWMl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19WQ09SRTJfTUlOX09GRl9NQVNLICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDT1JFMl9NSU5fT0ZGX1NISUZUICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDT1JFMl9OVlRfQlVGRl9PRkZfRU5fTUFTSyAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVkNPUkUyX05WVF9CVUZGX09GRl9FTl9TSElGVCAgICAgICAgICAgMgorI2RlZmluZSBNVDYzMjVfUkdfVkNPUkUyX1ZSRjE4X1NTVEFSVF9FTl9NQVNLICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WQ09SRTJfVlJGMThfU1NUQVJUX0VOX1NISUZUICAgICAgICAgICAzCisjZGVmaW5lIE1UNjMyNV9SR19WQ09SRTJfMVAzNVVQX1NFTF9FTl9NQVNLICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDT1JFMl8xUDM1VVBfU0VMX0VOX1NISUZUICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDT1JFMl9SWlNFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4NworI2RlZmluZSBNVDYzMjVfUkdfVkNPUkUyX1JaU0VMX1NISUZUICAgICAgICAgICAgICAgICAgICAgNQorI2RlZmluZSBNVDYzMjVfUkdfVkNPUkUyX0NDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19WQ09SRTJfQ0NfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICA4CisjZGVmaW5lIE1UNjMyNV9SR19WQ09SRTJfQ1NSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDcKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDT1JFMl9DU1JfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDEwCisjZGVmaW5lIE1UNjMyNV9SR19WQ09SRTJfQ1NMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweEYKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDT1JFMl9DU0xfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDT1JFMl9TTFBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4NworI2RlZmluZSBNVDYzMjVfUkdfVkNPUkUyX1NMUF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgNAorI2RlZmluZSBNVDYzMjVfUkdfVkNPUkUyX1pYX09TX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19WQ09SRTJfWlhfT1NfU0hJRlQgICAgICAgICAgICAgICAgICAgICA3CisjZGVmaW5lIE1UNjMyNV9SR19WQ09SRTJfWlhPU19UUklNX01BU0sgICAgICAgICAgICAgICAgICAweDNGCisjZGVmaW5lIE1UNjMyNV9SR19WQ09SRTJfWlhPU19UUklNX1NISUZUICAgICAgICAgICAgICAgICA5CisjZGVmaW5lIE1UNjMyNV9SR19WQ09SRTJfTU9ERVNFVF9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDT1JFMl9NT0RFU0VUX1NISUZUICAgICAgICAgICAgICAgICAgIDE1CisjZGVmaW5lIE1UNjMyNV9SR19WQ09SRTJfTkRJU19FTl9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDT1JFMl9ORElTX0VOX1NISUZUICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDT1JFMl9DU01fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4M0YKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDT1JFMl9DU01fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDT1JFMl9SU1ZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4RkYKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDT1JFMl9SU1ZfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDcKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDT1JFMl9QRk1fUklQX01BU0sgICAgICAgICAgICAgICAgICAgIDB4NworI2RlZmluZSBNVDYzMjVfUkdfVkNPUkUyX1BGTV9SSVBfU0hJRlQgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfVkNPUkUyX1RSQU5fQlNUX01BU0sgICAgICAgICAgICAgICAgICAgMHgzRgorI2RlZmluZSBNVDYzMjVfUkdfVkNPUkUyX1RSQU5fQlNUX1NISUZUICAgICAgICAgICAgICAgICAgMworI2RlZmluZSBNVDYzMjVfUkdfVkNPUkUyX0RUU19FTkJfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WQ09SRTJfRFRTX0VOQl9TSElGVCAgICAgICAgICAgICAgICAgICA5CisjZGVmaW5lIE1UNjMyNV9SR19WQ09SRTJfUkNMX1RSSU1fTUFTSyAgICAgICAgICAgICAgICAgICAweDFGCisjZGVmaW5lIE1UNjMyNV9SR19WQ09SRTJfUkNMX1RSSU1fU0hJRlQgICAgICAgICAgICAgICAgICAxMAorI2RlZmluZSBNVDYzMjVfUkdfVkNPUkUyX1JDTF9UUklNX0VOX01BU0sgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WQ09SRTJfUkNMX1RSSU1fRU5fU0hJRlQgICAgICAgICAgICAgICAxNQorI2RlZmluZSBNVDYzMjVfUkdfVkNPUkUyX0MyX1JTVl9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WQ09SRTJfQzJfUlNWX1NISUZUICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19WSU8xOF9NSU5fT0ZGX01BU0sgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZJTzE4X01JTl9PRkZfU0hJRlQgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZJTzE4X05WVF9CVUZGX09GRl9FTl9NQVNLICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVklPMThfTlZUX0JVRkZfT0ZGX0VOX1NISUZUICAgICAgICAgICAgMgorI2RlZmluZSBNVDYzMjVfUkdfVklPMThfVlJGMThfU1NUQVJUX0VOX01BU0sgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WSU8xOF9WUkYxOF9TU1RBUlRfRU5fU0hJRlQgICAgICAgICAgICAzCisjZGVmaW5lIE1UNjMyNV9SR19WSU8xOF8xUDM1VVBfU0VMX0VOX01BU0sgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZJTzE4XzFQMzVVUF9TRUxfRU5fU0hJRlQgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZJTzE4X1JaU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4NworI2RlZmluZSBNVDYzMjVfUkdfVklPMThfUlpTRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgNQorI2RlZmluZSBNVDYzMjVfUkdfVklPMThfQ0NfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19WSU8xOF9DQ19TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICA4CisjZGVmaW5lIE1UNjMyNV9SR19WSU8xOF9DU1JfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAweDcKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZJTzE4X0NTUl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgIDEwCisjZGVmaW5lIE1UNjMyNV9SR19WSU8xOF9DU0xfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAweEYKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZJTzE4X0NTTF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZJTzE4X1NMUF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgIDB4NworI2RlZmluZSBNVDYzMjVfUkdfVklPMThfU0xQX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgNAorI2RlZmluZSBNVDYzMjVfUkdfVklPMThfWlhfT1NfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19WSU8xOF9aWF9PU19TSElGVCAgICAgICAgICAgICAgICAgICAgICA3CisjZGVmaW5lIE1UNjMyNV9SR19WSU8xOF9NT0RFU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZJTzE4X01PREVTRVRfU0hJRlQgICAgICAgICAgICAgICAgICAgIDkKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZJTzE4X05ESVNfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVklPMThfTkRJU19FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgMTAKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZJTzE4X0NTTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgIDB4M0YKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZJTzE4X0NTTV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZJTzE4X1JTVl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkYKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZJTzE4X1JTVl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgIDYKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZJTzE4X1pYT1NfVFJJTV9NQVNLICAgICAgICAgICAgICAgICAgIDB4M0YKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZJTzE4X1pYT1NfVFJJTV9TSElGVCAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZJTzE4X1BGTV9SSVBfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4NworI2RlZmluZSBNVDYzMjVfUkdfVklPMThfUEZNX1JJUF9TSElGVCAgICAgICAgICAgICAgICAgICAgNgorI2RlZmluZSBNVDYzMjVfUkdfVklPMThfVFJBTl9CU1RfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgzRgorI2RlZmluZSBNVDYzMjVfUkdfVklPMThfVFJBTl9CU1RfU0hJRlQgICAgICAgICAgICAgICAgICAgOQorI2RlZmluZSBNVDYzMjVfUkdfVklPMThfRFRTX0VOQl9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WSU8xOF9EVFNfRU5CX1NISUZUICAgICAgICAgICAgICAgICAgICAxNQorI2RlZmluZSBNVDYzMjVfUkdfVklPMThfUkNMX1RSSU1fTUFTSyAgICAgICAgICAgICAgICAgICAgMHgxRgorI2RlZmluZSBNVDYzMjVfUkdfVklPMThfUkNMX1RSSU1fU0hJRlQgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfVklPMThfUkNMX1RSSU1fRU5fTUFTSyAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WSU8xOF9SQ0xfVFJJTV9FTl9TSElGVCAgICAgICAgICAgICAgICA1CisjZGVmaW5lIE1UNjMyNV9SR19WSU8xOF9DMl9SU1ZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZJTzE4X0MyX1JTVl9TSElGVCAgICAgICAgICAgICAgICAgICAgIDYKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZSRjFfTUlOX09GRl9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUkdfVlJGMV9NSU5fT0ZGX1NISUZUICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfVlJGMThfMF9OVlRfQlVGRl9PRkZfRU5fTUFTSyAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WUkYxOF8wX05WVF9CVUZGX09GRl9FTl9TSElGVCAgICAgICAgICAyCisjZGVmaW5lIE1UNjMyNV9SR19WUkYxOF8wX1NTVEFSVF9FTl9NQVNLICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZSRjE4XzBfU1NUQVJUX0VOX1NISUZUICAgICAgICAgICAgICAgIDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZSRjE4XzBfMVAzNVVQX1NFTF9FTl9NQVNLICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVlJGMThfMF8xUDM1VVBfU0VMX0VOX1NISUZUICAgICAgICAgICAgNAorI2RlZmluZSBNVDYzMjVfUkdfVlJGMThfMF9SWlNFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgMHg3CisjZGVmaW5lIE1UNjMyNV9SR19WUkYxOF8wX1JaU0VMX1NISUZUICAgICAgICAgICAgICAgICAgICA1CisjZGVmaW5lIE1UNjMyNV9SR19WUkYxOF8wX0NDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZSRjE4XzBfQ0NfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZSRjE4XzBfQ1NSX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4NworI2RlZmluZSBNVDYzMjVfUkdfVlJGMThfMF9DU1JfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgMTAKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZSRjE4XzBfQ1NMX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4RgorI2RlZmluZSBNVDYzMjVfUkdfVlJGMThfMF9DU0xfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfVlJGMThfMF9TTFBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHg3CisjZGVmaW5lIE1UNjMyNV9SR19WUkYxOF8wX1NMUF9TSElGVCAgICAgICAgICAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9SR19WUkYxOF8wX1pYX09TX01BU0sgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZSRjE4XzBfWlhfT1NfU0hJRlQgICAgICAgICAgICAgICAgICAgIDcKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZSRjE4XzBfWlhPU19UUklNX01BU0sgICAgICAgICAgICAgICAgIDB4M0YKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZSRjE4XzBfWlhPU19UUklNX1NISUZUICAgICAgICAgICAgICAgIDkKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZSRjE4XzBfTU9ERVNFVF9NQVNLICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVlJGMThfMF9NT0RFU0VUX1NISUZUICAgICAgICAgICAgICAgICAgMTUKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZSRjE4XzBfTkRJU19FTl9NQVNLICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVlJGMThfMF9ORElTX0VOX1NISUZUICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfVlJGMThfMF9DU01fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgzRgorI2RlZmluZSBNVDYzMjVfUkdfVlJGMThfMF9DU01fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBNVDYzMjVfUkdfVlJGMThfMF9SU1ZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHhGRgorI2RlZmluZSBNVDYzMjVfUkdfVlJGMThfMF9SU1ZfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgNworI2RlZmluZSBNVDYzMjVfUkdfVlJGMThfMF9QRk1fUklQX01BU0sgICAgICAgICAgICAgICAgICAgMHg3CisjZGVmaW5lIE1UNjMyNV9SR19WUkYxOF8wX1BGTV9SSVBfU0hJRlQgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19WUkYxOF8wX1RSQU5fQlNUX01BU0sgICAgICAgICAgICAgICAgICAweDNGCisjZGVmaW5lIE1UNjMyNV9SR19WUkYxOF8wX1RSQU5fQlNUX1NISUZUICAgICAgICAgICAgICAgICAzCisjZGVmaW5lIE1UNjMyNV9SR19WUkYxOF8wX0RUU19FTkJfTUFTSyAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZSRjE4XzBfRFRTX0VOQl9TSElGVCAgICAgICAgICAgICAgICAgIDkKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZSRjE4XzBfUkNMX1RSSU1fTUFTSyAgICAgICAgICAgICAgICAgIDB4MUYKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZSRjE4XzBfUkNMX1RSSU1fU0hJRlQgICAgICAgICAgICAgICAgIDEwCisjZGVmaW5lIE1UNjMyNV9SR19WUkYxOF8wX1JDTF9UUklNX0VOX01BU0sgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZSRjE4XzBfUkNMX1RSSU1fRU5fU0hJRlQgICAgICAgICAgICAgIDE1CisjZGVmaW5lIE1UNjMyNV9SR19WUkYxOF8wX0MyX1JTVl9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZSRjE4XzBfQzJfUlNWX1NISUZUICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1ZEVkZTMTFfRElHMF9SU1YwX01BU0sgICAgICAgICAgICAgICAgICAgIDB4RkYKKyNkZWZpbmUgTVQ2MzI1X1ZEVkZTMTFfRElHMF9SU1YwX1NISUZUICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1ZEVkZTMTFfRU5fQ1RSTF9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVkRWRlMxMV9FTl9DVFJMX1NISUZUICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfVkRWRlMxMV9WT1NFTF9DVFJMX01BU0sgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9WRFZGUzExX1ZPU0VMX0NUUkxfU0hJRlQgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9WRFZGUzExX0RJRzBfUlNWMV9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1ZEVkZTMTFfRElHMF9SU1YxX1NISUZUICAgICAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1ZEVkZTMTFfRElHMV9SU1YxX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVkRWRlMxMV9ESUcxX1JTVjFfU0hJRlQgICAgICAgICAgICAgICAgICAgMworI2RlZmluZSBNVDYzMjVfVkRWRlMxMV9FTl9TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9WRFZGUzExX0VOX1NFTF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9WRFZGUzExX1ZPU0VMX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1ZEVkZTMTFfVk9TRUxfU0VMX1NISUZUICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1ZEVkZTMTFfRElHMF9SU1YyX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfVkRWRlMxMV9ESUcwX1JTVjJfU0hJRlQgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfVkRWRlMxMV9ESUcxX1JTVjJfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9WRFZGUzExX0RJRzFfUlNWMl9TSElGVCAgICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfVkRWRlMxMV9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9WRFZGUzExX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9WRFZGUzExX1NUQlREX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1ZEVkZTMTFfU1RCVERfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZEVkZTMTFfU1RCX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVkRWRlMxMV9TVEJfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgMTIKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZEVkZTMTFfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVkRWRlMxMV9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgMTMKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZEVkZTMTFfT0NfU1RBVFVTX01BU0sgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVkRWRlMxMV9PQ19TVEFUVVNfU0hJRlQgICAgICAgICAgICAgICAgMTUKKyNkZWZpbmUgTVQ2MzI1X1ZEVkZTMTFfU0ZDSEdfRlJBVEVfTUFTSyAgICAgICAgICAgICAgICAgIDB4N0YKKyNkZWZpbmUgTVQ2MzI1X1ZEVkZTMTFfU0ZDSEdfRlJBVEVfU0hJRlQgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1ZEVkZTMTFfU0ZDSEdfRkVOX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVkRWRlMxMV9TRkNIR19GRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgNworI2RlZmluZSBNVDYzMjVfVkRWRlMxMV9TRkNIR19SUkFURV9NQVNLICAgICAgICAgICAgICAgICAgMHg3RgorI2RlZmluZSBNVDYzMjVfVkRWRlMxMV9TRkNIR19SUkFURV9TSElGVCAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfVkRWRlMxMV9TRkNIR19SRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9WRFZGUzExX1NGQ0hHX1JFTl9TSElGVCAgICAgICAgICAgICAgICAgICAxNQorI2RlZmluZSBNVDYzMjVfVkRWRlMxMV9WT1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHg3RgorI2RlZmluZSBNVDYzMjVfVkRWRlMxMV9WT1NFTF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfVkRWRlMxMV9WT1NFTF9PTl9NQVNLICAgICAgICAgICAgICAgICAgICAgMHg3RgorI2RlZmluZSBNVDYzMjVfVkRWRlMxMV9WT1NFTF9PTl9TSElGVCAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfVkRWRlMxMV9WT1NFTF9TTEVFUF9NQVNLICAgICAgICAgICAgICAgICAgMHg3RgorI2RlZmluZSBNVDYzMjVfVkRWRlMxMV9WT1NFTF9TTEVFUF9TSElGVCAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfTklfVkRWRlMxMV9WT1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgMHg3RgorI2RlZmluZSBNVDYzMjVfTklfVkRWRlMxMV9WT1NFTF9TSElGVCAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfVkRWRlMxMV9UUkFOU19URF9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9WRFZGUzExX1RSQU5TX1REX1NISUZUICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9WRFZGUzExX1RSQU5TX0NUUkxfTUFTSyAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1ZEVkZTMTFfVFJBTlNfQ1RSTF9TSElGVCAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1ZEVkZTMTFfVFJBTlNfT05DRV9NQVNLICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVkRWRlMxMV9UUkFOU19PTkNFX1NISUZUICAgICAgICAgICAgICAgICAgNgorI2RlZmluZSBNVDYzMjVfTklfVkRWRlMxMV9WT1NFTF9UUkFOU19NQVNLICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9OSV9WRFZGUzExX1ZPU0VMX1RSQU5TX1NISUZUICAgICAgICAgICAgICA3CisjZGVmaW5lIE1UNjMyNV9WRFZGUzExX1ZTTEVFUF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1ZEVkZTMTFfVlNMRUVQX0VOX1NISUZUICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1ZEVkZTMTFfUjJSX1BETl9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVkRWRlMxMV9SMlJfUEROX1NISUZUICAgICAgICAgICAgICAgICAgICAgMTAKKyNkZWZpbmUgTVQ2MzI1X1ZEVkZTMTFfVlNMRUVQX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVkRWRlMxMV9WU0xFRVBfU0VMX1NISUZUICAgICAgICAgICAgICAgICAgMTEKKyNkZWZpbmUgTVQ2MzI1X05JX1ZEVkZTMTFfUjJSX1BETl9NQVNLICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfTklfVkRWRlMxMV9SMlJfUEROX1NISUZUICAgICAgICAgICAgICAgICAgMTQKKyNkZWZpbmUgTVQ2MzI1X05JX1ZEVkZTMTFfVlNMRUVQX1NFTF9NQVNLICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfTklfVkRWRlMxMV9WU0xFRVBfU0VMX1NISUZUICAgICAgICAgICAgICAgMTUKKyNkZWZpbmUgTVQ2MzI1X1ZEVkZTMTJfRElHMF9SU1YwX01BU0sgICAgICAgICAgICAgICAgICAgIDB4RkYKKyNkZWZpbmUgTVQ2MzI1X1ZEVkZTMTJfRElHMF9SU1YwX1NISUZUICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1ZEVkZTMTJfRU5fQ1RSTF9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVkRWRlMxMl9FTl9DVFJMX1NISUZUICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfVkRWRlMxMl9WT1NFTF9DVFJMX01BU0sgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9WRFZGUzEyX1ZPU0VMX0NUUkxfU0hJRlQgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9WRFZGUzEyX0RJRzBfUlNWMV9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1ZEVkZTMTJfRElHMF9SU1YxX1NISUZUICAgICAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1ZEVkZTMTJfRElHMV9SU1YxX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVkRWRlMxMl9ESUcxX1JTVjFfU0hJRlQgICAgICAgICAgICAgICAgICAgMworI2RlZmluZSBNVDYzMjVfVkRWRlMxMl9FTl9TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9WRFZGUzEyX0VOX1NFTF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9WRFZGUzEyX1ZPU0VMX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1ZEVkZTMTJfVk9TRUxfU0VMX1NISUZUICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1ZEVkZTMTJfRElHMF9SU1YyX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfVkRWRlMxMl9ESUcwX1JTVjJfU0hJRlQgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfVkRWRlMxMl9ESUcxX1JTVjJfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9WRFZGUzEyX0RJRzFfUlNWMl9TSElGVCAgICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfVkRWRlMxMl9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9WRFZGUzEyX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9WRFZGUzEyX1NUQlREX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1ZEVkZTMTJfU1RCVERfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZEVkZTMTJfU1RCX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVkRWRlMxMl9TVEJfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgMTIKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZEVkZTMTJfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVkRWRlMxMl9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgMTMKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZEVkZTMTJfT0NfU1RBVFVTX01BU0sgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVkRWRlMxMl9PQ19TVEFUVVNfU0hJRlQgICAgICAgICAgICAgICAgMTUKKyNkZWZpbmUgTVQ2MzI1X1ZEVkZTMTJfU0ZDSEdfRlJBVEVfTUFTSyAgICAgICAgICAgICAgICAgIDB4N0YKKyNkZWZpbmUgTVQ2MzI1X1ZEVkZTMTJfU0ZDSEdfRlJBVEVfU0hJRlQgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1ZEVkZTMTJfU0ZDSEdfRkVOX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVkRWRlMxMl9TRkNIR19GRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgNworI2RlZmluZSBNVDYzMjVfVkRWRlMxMl9TRkNIR19SUkFURV9NQVNLICAgICAgICAgICAgICAgICAgMHg3RgorI2RlZmluZSBNVDYzMjVfVkRWRlMxMl9TRkNIR19SUkFURV9TSElGVCAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfVkRWRlMxMl9TRkNIR19SRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9WRFZGUzEyX1NGQ0hHX1JFTl9TSElGVCAgICAgICAgICAgICAgICAgICAxNQorI2RlZmluZSBNVDYzMjVfVkRWRlMxMl9WT1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHg3RgorI2RlZmluZSBNVDYzMjVfVkRWRlMxMl9WT1NFTF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfVkRWRlMxMl9WT1NFTF9PTl9NQVNLICAgICAgICAgICAgICAgICAgICAgMHg3RgorI2RlZmluZSBNVDYzMjVfVkRWRlMxMl9WT1NFTF9PTl9TSElGVCAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfVkRWRlMxMl9WT1NFTF9TTEVFUF9NQVNLICAgICAgICAgICAgICAgICAgMHg3RgorI2RlZmluZSBNVDYzMjVfVkRWRlMxMl9WT1NFTF9TTEVFUF9TSElGVCAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfTklfVkRWRlMxMl9WT1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgMHg3RgorI2RlZmluZSBNVDYzMjVfTklfVkRWRlMxMl9WT1NFTF9TSElGVCAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfVkRWRlMxMl9UUkFOU19URF9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9WRFZGUzEyX1RSQU5TX1REX1NISUZUICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9WRFZGUzEyX1RSQU5TX0NUUkxfTUFTSyAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1ZEVkZTMTJfVFJBTlNfQ1RSTF9TSElGVCAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1ZEVkZTMTJfVFJBTlNfT05DRV9NQVNLICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVkRWRlMxMl9UUkFOU19PTkNFX1NISUZUICAgICAgICAgICAgICAgICAgNgorI2RlZmluZSBNVDYzMjVfTklfVkRWRlMxMl9WT1NFTF9UUkFOU19NQVNLICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9OSV9WRFZGUzEyX1ZPU0VMX1RSQU5TX1NISUZUICAgICAgICAgICAgICA3CisjZGVmaW5lIE1UNjMyNV9WRFZGUzEyX1ZTTEVFUF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1ZEVkZTMTJfVlNMRUVQX0VOX1NISUZUICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1ZEVkZTMTJfUjJSX1BETl9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVkRWRlMxMl9SMlJfUEROX1NISUZUICAgICAgICAgICAgICAgICAgICAgMTAKKyNkZWZpbmUgTVQ2MzI1X1ZEVkZTMTJfVlNMRUVQX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVkRWRlMxMl9WU0xFRVBfU0VMX1NISUZUICAgICAgICAgICAgICAgICAgMTEKKyNkZWZpbmUgTVQ2MzI1X05JX1ZEVkZTMTJfUjJSX1BETl9NQVNLICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfTklfVkRWRlMxMl9SMlJfUEROX1NISUZUICAgICAgICAgICAgICAgICAgMTQKKyNkZWZpbmUgTVQ2MzI1X05JX1ZEVkZTMTJfVlNMRUVQX1NFTF9NQVNLICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfTklfVkRWRlMxMl9WU0xFRVBfU0VMX1NISUZUICAgICAgICAgICAgICAgMTUKKyNkZWZpbmUgTVQ2MzI1X1ZTUkFNX0RWRlMxX0RJRzBfUlNWMF9NQVNLICAgICAgICAgICAgICAgIDB4RkYKKyNkZWZpbmUgTVQ2MzI1X1ZTUkFNX0RWRlMxX0RJRzBfUlNWMF9TSElGVCAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1ZTUkFNX0RWRlMxX0VOX0NUUkxfTUFTSyAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVlNSQU1fRFZGUzFfRU5fQ1RSTF9TSElGVCAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfVlNSQU1fRFZGUzFfVk9TRUxfQ1RSTF9NQVNLICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9WU1JBTV9EVkZTMV9WT1NFTF9DVFJMX1NISUZUICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9WU1JBTV9EVkZTMV9ESUcwX1JTVjFfTUFTSyAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1ZTUkFNX0RWRlMxX0RJRzBfUlNWMV9TSElGVCAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1ZTUkFNX0RWRlMxX0RJRzFfUlNWMV9NQVNLICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVlNSQU1fRFZGUzFfRElHMV9SU1YxX1NISUZUICAgICAgICAgICAgICAgMworI2RlZmluZSBNVDYzMjVfVlNSQU1fRFZGUzFfRU5fU0VMX01BU0sgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9WU1JBTV9EVkZTMV9FTl9TRUxfU0hJRlQgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9WU1JBTV9EVkZTMV9WT1NFTF9TRUxfTUFTSyAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1ZTUkFNX0RWRlMxX1ZPU0VMX1NFTF9TSElGVCAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1ZTUkFNX0RWRlMxX0RJRzBfUlNWMl9NQVNLICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfVlNSQU1fRFZGUzFfRElHMF9SU1YyX1NISUZUICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfVlNSQU1fRFZGUzFfRElHMV9SU1YyX01BU0sgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9WU1JBTV9EVkZTMV9ESUcxX1JTVjJfU0hJRlQgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfVlNSQU1fRFZGUzFfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9WU1JBTV9EVkZTMV9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9WU1JBTV9EVkZTMV9TVEJURF9NQVNLICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1ZTUkFNX0RWRlMxX1NUQlREX1NISUZUICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1ZTUkFNX0RWRlMxX0RJRzBfUlNWNF9NQVNLICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVlNSQU1fRFZGUzFfRElHMF9SU1Y0X1NISUZUICAgICAgICAgICAgICAgMTIKKyNkZWZpbmUgTVQ2MzI1X1ZTUkFNX0RWRlMxX0RJRzBfUlNWM19NQVNLICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVlNSQU1fRFZGUzFfRElHMF9SU1YzX1NISUZUICAgICAgICAgICAgICAgMTMKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZTUkFNX0RWRlMxX09DX1NUQVRVU19NQVNLICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVlNSQU1fRFZGUzFfT0NfU1RBVFVTX1NISUZUICAgICAgICAgICAgMTUKKyNkZWZpbmUgTVQ2MzI1X1ZTUkFNX0RWRlMxX1NGQ0hHX0ZSQVRFX01BU0sgICAgICAgICAgICAgIDB4N0YKKyNkZWZpbmUgTVQ2MzI1X1ZTUkFNX0RWRlMxX1NGQ0hHX0ZSQVRFX1NISUZUICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1ZTUkFNX0RWRlMxX1NGQ0hHX0ZFTl9NQVNLICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVlNSQU1fRFZGUzFfU0ZDSEdfRkVOX1NISUZUICAgICAgICAgICAgICAgNworI2RlZmluZSBNVDYzMjVfVlNSQU1fRFZGUzFfU0ZDSEdfUlJBVEVfTUFTSyAgICAgICAgICAgICAgMHg3RgorI2RlZmluZSBNVDYzMjVfVlNSQU1fRFZGUzFfU0ZDSEdfUlJBVEVfU0hJRlQgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfVlNSQU1fRFZGUzFfU0ZDSEdfUkVOX01BU0sgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9WU1JBTV9EVkZTMV9TRkNIR19SRU5fU0hJRlQgICAgICAgICAgICAgICAxNQorI2RlZmluZSBNVDYzMjVfVlNSQU1fRFZGUzFfVk9TRUxfUlNWX01BU0sgICAgICAgICAgICAgICAgMHg3RgorI2RlZmluZSBNVDYzMjVfVlNSQU1fRFZGUzFfVk9TRUxfUlNWX1NISUZUICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfVlNSQU1fRFZGUzFfVk9TRUxfT05fTUFTSyAgICAgICAgICAgICAgICAgMHg3RgorI2RlZmluZSBNVDYzMjVfVlNSQU1fRFZGUzFfVk9TRUxfT05fU0hJRlQgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfVlNSQU1fRFZGUzFfVk9TRUxfU0xFRVBfTUFTSyAgICAgICAgICAgICAgMHg3RgorI2RlZmluZSBNVDYzMjVfVlNSQU1fRFZGUzFfVk9TRUxfU0xFRVBfU0hJRlQgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfTklfVlNSQU1fRFZGUzFfVk9TRUxfTUFTSyAgICAgICAgICAgICAgICAgMHg3RgorI2RlZmluZSBNVDYzMjVfTklfVlNSQU1fRFZGUzFfVk9TRUxfU0hJRlQgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfVlNSQU1fRFZGUzFfVFJBTlNfVERfTUFTSyAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9WU1JBTV9EVkZTMV9UUkFOU19URF9TSElGVCAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9WU1JBTV9EVkZTMV9UUkFOU19DVFJMX01BU0sgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1ZTUkFNX0RWRlMxX1RSQU5TX0NUUkxfU0hJRlQgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1ZTUkFNX0RWRlMxX1RSQU5TX09OQ0VfTUFTSyAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVlNSQU1fRFZGUzFfVFJBTlNfT05DRV9TSElGVCAgICAgICAgICAgICAgNgorI2RlZmluZSBNVDYzMjVfTklfVlNSQU1fRFZGUzFfVk9TRUxfVFJBTlNfTUFTSyAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9OSV9WU1JBTV9EVkZTMV9WT1NFTF9UUkFOU19TSElGVCAgICAgICAgICA3CisjZGVmaW5lIE1UNjMyNV9WU1JBTV9EVkZTMV9WU0xFRVBfRU5fTUFTSyAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1ZTUkFNX0RWRlMxX1ZTTEVFUF9FTl9TSElGVCAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1ZTUkFNX0RWRlMxX1IyUl9QRE5fTUFTSyAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVlNSQU1fRFZGUzFfUjJSX1BETl9TSElGVCAgICAgICAgICAgICAgICAgMTAKKyNkZWZpbmUgTVQ2MzI1X1ZTUkFNX0RWRlMxX1ZTTEVFUF9TRUxfTUFTSyAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVlNSQU1fRFZGUzFfVlNMRUVQX1NFTF9TSElGVCAgICAgICAgICAgICAgMTEKKyNkZWZpbmUgTVQ2MzI1X05JX1ZTUkFNX0RWRlMxX1IyUl9QRE5fTUFTSyAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfTklfVlNSQU1fRFZGUzFfUjJSX1BETl9TSElGVCAgICAgICAgICAgICAgMTQKKyNkZWZpbmUgTVQ2MzI1X05JX1ZTUkFNX0RWRlMxX1ZTTEVFUF9TRUxfTUFTSyAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfTklfVlNSQU1fRFZGUzFfVlNMRUVQX1NFTF9TSElGVCAgICAgICAgICAgMTUKKyNkZWZpbmUgTVQ2MzI1X1ZEUkFNX0RJRzBfUlNWMF9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4RkYKKyNkZWZpbmUgTVQ2MzI1X1ZEUkFNX0RJRzBfUlNWMF9TSElGVCAgICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1ZEUkFNX0VOX0NUUkxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVkRSQU1fRU5fQ1RSTF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfVkRSQU1fVk9TRUxfQ1RSTF9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9WRFJBTV9WT1NFTF9DVFJMX1NISUZUICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9WRFJBTV9ESUcwX1JTVjFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1ZEUkFNX0RJRzBfUlNWMV9TSElGVCAgICAgICAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1ZEUkFNX0JVUlNUX0NUUkxfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVkRSQU1fQlVSU1RfQ1RSTF9TSElGVCAgICAgICAgICAgICAgICAgICAgMworI2RlZmluZSBNVDYzMjVfVkRSQU1fRU5fU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9WRFJBTV9FTl9TRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9WRFJBTV9WT1NFTF9TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1ZEUkFNX1ZPU0VMX1NFTF9TSElGVCAgICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1ZEUkFNX0RJRzBfUlNWMl9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfVkRSQU1fRElHMF9SU1YyX1NISUZUICAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfVkRSQU1fQlVSU1RfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9WRFJBTV9CVVJTVF9TRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfVkRSQU1fRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9WRFJBTV9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9WRFJBTV9TVEJURF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1ZEUkFNX1NUQlREX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZEUkFNX1NUQl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVkRSQU1fU1RCX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgMTIKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZEUkFNX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVkRSQU1fRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgMTMKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZEUkFNX09DX1NUQVRVU19NQVNLICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVkRSQU1fT0NfU1RBVFVTX1NISUZUICAgICAgICAgICAgICAgICAgMTUKKyNkZWZpbmUgTVQ2MzI1X1ZEUkFNX1NGQ0hHX0ZSQVRFX01BU0sgICAgICAgICAgICAgICAgICAgIDB4N0YKKyNkZWZpbmUgTVQ2MzI1X1ZEUkFNX1NGQ0hHX0ZSQVRFX1NISUZUICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1ZEUkFNX1NGQ0hHX0ZFTl9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVkRSQU1fU0ZDSEdfRkVOX1NISUZUICAgICAgICAgICAgICAgICAgICAgNworI2RlZmluZSBNVDYzMjVfVkRSQU1fU0ZDSEdfUlJBVEVfTUFTSyAgICAgICAgICAgICAgICAgICAgMHg3RgorI2RlZmluZSBNVDYzMjVfVkRSQU1fU0ZDSEdfUlJBVEVfU0hJRlQgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfVkRSQU1fU0ZDSEdfUkVOX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9WRFJBTV9TRkNIR19SRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAxNQorI2RlZmluZSBNVDYzMjVfVkRSQU1fVk9TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgMHg3RgorI2RlZmluZSBNVDYzMjVfVkRSQU1fVk9TRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfVkRSQU1fVk9TRUxfT05fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHg3RgorI2RlZmluZSBNVDYzMjVfVkRSQU1fVk9TRUxfT05fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfVkRSQU1fVk9TRUxfU0xFRVBfTUFTSyAgICAgICAgICAgICAgICAgICAgMHg3RgorI2RlZmluZSBNVDYzMjVfVkRSQU1fVk9TRUxfU0xFRVBfU0hJRlQgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfTklfVkRSQU1fVk9TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHg3RgorI2RlZmluZSBNVDYzMjVfTklfVkRSQU1fVk9TRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfVkRSQU1fQlVSU1RfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgMHg3CisjZGVmaW5lIE1UNjMyNV9WRFJBTV9CVVJTVF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9WRFJBTV9CVVJTVF9PTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDcKKyNkZWZpbmUgTVQ2MzI1X1ZEUkFNX0JVUlNUX09OX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1ZEUkFNX0JVUlNUX1NMRUVQX01BU0sgICAgICAgICAgICAgICAgICAgIDB4NworI2RlZmluZSBNVDYzMjVfVkRSQU1fQlVSU1RfU0xFRVBfU0hJRlQgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfUUlfVkRSQU1fQlVSU1RfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHg3CisjZGVmaW5lIE1UNjMyNV9RSV9WRFJBTV9CVVJTVF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfVkRSQU1fVFJBTlNfVERfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9WRFJBTV9UUkFOU19URF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9WRFJBTV9UUkFOU19DVFJMX01BU0sgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1ZEUkFNX1RSQU5TX0NUUkxfU0hJRlQgICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1ZEUkFNX1RSQU5TX09OQ0VfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVkRSQU1fVFJBTlNfT05DRV9TSElGVCAgICAgICAgICAgICAgICAgICAgNgorI2RlZmluZSBNVDYzMjVfTklfVkRSQU1fVk9TRUxfVFJBTlNfTUFTSyAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9OSV9WRFJBTV9WT1NFTF9UUkFOU19TSElGVCAgICAgICAgICAgICAgICA3CisjZGVmaW5lIE1UNjMyNV9WRFJBTV9WU0xFRVBfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1ZEUkFNX1ZTTEVFUF9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1ZEUkFNX1IyUl9QRE5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVkRSQU1fUjJSX1BETl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgMTAKKyNkZWZpbmUgTVQ2MzI1X1ZEUkFNX1ZTTEVFUF9TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVkRSQU1fVlNMRUVQX1NFTF9TSElGVCAgICAgICAgICAgICAgICAgICAgMTEKKyNkZWZpbmUgTVQ2MzI1X05JX1ZEUkFNX1IyUl9QRE5fTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfTklfVkRSQU1fUjJSX1BETl9TSElGVCAgICAgICAgICAgICAgICAgICAgMTQKKyNkZWZpbmUgTVQ2MzI1X05JX1ZEUkFNX1ZTTEVFUF9TRUxfTUFTSyAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfTklfVkRSQU1fVlNMRUVQX1NFTF9TSElGVCAgICAgICAgICAgICAgICAgMTUKKyNkZWZpbmUgTVQ2MzI1X1ZSRjE4XzBfRElHMF9SU1YwX01BU0sgICAgICAgICAgICAgICAgICAgIDB4RkYKKyNkZWZpbmUgTVQ2MzI1X1ZSRjE4XzBfRElHMF9SU1YwX1NISUZUICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1ZSRjE4XzBfRU5fQ1RSTF9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVlJGMThfMF9FTl9DVFJMX1NISUZUICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfVlJGMThfMF9WT1NFTF9DVFJMX01BU0sgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9WUkYxOF8wX1ZPU0VMX0NUUkxfU0hJRlQgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9WUkYxOF8wX0RJRzBfUlNWMV9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1ZSRjE4XzBfRElHMF9SU1YxX1NISUZUICAgICAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1ZSRjE4XzBfQlVSU1RfQ1RSTF9NQVNLICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVlJGMThfMF9CVVJTVF9DVFJMX1NISUZUICAgICAgICAgICAgICAgICAgMworI2RlZmluZSBNVDYzMjVfVlJGMThfMF9FTl9TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9WUkYxOF8wX0VOX1NFTF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9WUkYxOF8wX1ZPU0VMX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1ZSRjE4XzBfVk9TRUxfU0VMX1NISUZUICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1ZSRjE4XzBfRElHMF9SU1YyX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfVlJGMThfMF9ESUcwX1JTVjJfU0hJRlQgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfVlJGMThfMF9CVVJTVF9TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9WUkYxOF8wX0JVUlNUX1NFTF9TSElGVCAgICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfVlJGMThfMF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9WUkYxOF8wX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9WUkYxOF8wX1NUQlREX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1ZSRjE4XzBfU1RCVERfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZSRjE4XzBfU1RCX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVlJGMThfMF9TVEJfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgMTIKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZSRjE4XzBfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVlJGMThfMF9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgMTMKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZSRjE4XzBfT0NfU1RBVFVTX01BU0sgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVlJGMThfMF9PQ19TVEFUVVNfU0hJRlQgICAgICAgICAgICAgICAgMTUKKyNkZWZpbmUgTVQ2MzI1X1ZSRjE4XzBfU0ZDSEdfRlJBVEVfTUFTSyAgICAgICAgICAgICAgICAgIDB4N0YKKyNkZWZpbmUgTVQ2MzI1X1ZSRjE4XzBfU0ZDSEdfRlJBVEVfU0hJRlQgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1ZSRjE4XzBfU0ZDSEdfRkVOX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVlJGMThfMF9TRkNIR19GRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgNworI2RlZmluZSBNVDYzMjVfVlJGMThfMF9TRkNIR19SUkFURV9NQVNLICAgICAgICAgICAgICAgICAgMHg3RgorI2RlZmluZSBNVDYzMjVfVlJGMThfMF9TRkNIR19SUkFURV9TSElGVCAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfVlJGMThfMF9TRkNIR19SRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9WUkYxOF8wX1NGQ0hHX1JFTl9TSElGVCAgICAgICAgICAgICAgICAgICAxNQorI2RlZmluZSBNVDYzMjVfVlJGMThfMF9WT1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHg3RgorI2RlZmluZSBNVDYzMjVfVlJGMThfMF9WT1NFTF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfVlJGMThfMF9WT1NFTF9PTl9NQVNLICAgICAgICAgICAgICAgICAgICAgMHg3RgorI2RlZmluZSBNVDYzMjVfVlJGMThfMF9WT1NFTF9PTl9TSElGVCAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfVlJGMThfMF9WT1NFTF9TTEVFUF9NQVNLICAgICAgICAgICAgICAgICAgMHg3RgorI2RlZmluZSBNVDYzMjVfVlJGMThfMF9WT1NFTF9TTEVFUF9TSElGVCAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfTklfVlJGMThfMF9WT1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgMHg3RgorI2RlZmluZSBNVDYzMjVfTklfVlJGMThfMF9WT1NFTF9TSElGVCAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfVlJGMThfMF9CVVJTVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHg3CisjZGVmaW5lIE1UNjMyNV9WUkYxOF8wX0JVUlNUX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9WUkYxOF8wX0JVUlNUX09OX01BU0sgICAgICAgICAgICAgICAgICAgICAweDcKKyNkZWZpbmUgTVQ2MzI1X1ZSRjE4XzBfQlVSU1RfT05fU0hJRlQgICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1ZSRjE4XzBfQlVSU1RfU0xFRVBfTUFTSyAgICAgICAgICAgICAgICAgIDB4NworI2RlZmluZSBNVDYzMjVfVlJGMThfMF9CVVJTVF9TTEVFUF9TSElGVCAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfUUlfVlJGMThfMF9CVVJTVF9NQVNLICAgICAgICAgICAgICAgICAgICAgMHg3CisjZGVmaW5lIE1UNjMyNV9RSV9WUkYxOF8wX0JVUlNUX1NISUZUICAgICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfVlJGMThfMF9UUkFOU19URF9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9WUkYxOF8wX1RSQU5TX1REX1NISUZUICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9WUkYxOF8wX1RSQU5TX0NUUkxfTUFTSyAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1ZSRjE4XzBfVFJBTlNfQ1RSTF9TSElGVCAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1ZSRjE4XzBfVFJBTlNfT05DRV9NQVNLICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVlJGMThfMF9UUkFOU19PTkNFX1NISUZUICAgICAgICAgICAgICAgICAgNgorI2RlZmluZSBNVDYzMjVfTklfVlJGMThfMF9WT1NFTF9UUkFOU19NQVNLICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9OSV9WUkYxOF8wX1ZPU0VMX1RSQU5TX1NISUZUICAgICAgICAgICAgICA3CisjZGVmaW5lIE1UNjMyNV9WUkYxOF8wX1ZTTEVFUF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1ZSRjE4XzBfVlNMRUVQX0VOX1NISUZUICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1ZSRjE4XzBfUjJSX1BETl9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVlJGMThfMF9SMlJfUEROX1NISUZUICAgICAgICAgICAgICAgICAgICAgMTAKKyNkZWZpbmUgTVQ2MzI1X1ZSRjE4XzBfVlNMRUVQX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVlJGMThfMF9WU0xFRVBfU0VMX1NISUZUICAgICAgICAgICAgICAgICAgMTEKKyNkZWZpbmUgTVQ2MzI1X05JX1ZSRjE4XzBfUjJSX1BETl9NQVNLICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfTklfVlJGMThfMF9SMlJfUEROX1NISUZUICAgICAgICAgICAgICAgICAgMTQKKyNkZWZpbmUgTVQ2MzI1X05JX1ZSRjE4XzBfVlNMRUVQX1NFTF9NQVNLICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfTklfVlJGMThfMF9WU0xFRVBfU0VMX1NISUZUICAgICAgICAgICAgICAgMTUKKyNkZWZpbmUgTVQ2MzI1X1ZHUFVfRElHMF9SU1YwX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4RkYKKyNkZWZpbmUgTVQ2MzI1X1ZHUFVfRElHMF9SU1YwX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1ZHUFVfRU5fQ1RSTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVkdQVV9FTl9DVFJMX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfVkdQVV9WT1NFTF9DVFJMX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9WR1BVX1ZPU0VMX0NUUkxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9WR1BVX0RMQ19DVFJMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1ZHUFVfRExDX0NUUkxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1ZHUFVfQlVSU1RfQ1RSTF9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVkdQVV9CVVJTVF9DVFJMX1NISUZUICAgICAgICAgICAgICAgICAgICAgMworI2RlZmluZSBNVDYzMjVfVkdQVV9FTl9TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9WR1BVX0VOX1NFTF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9WR1BVX1ZPU0VMX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1ZHUFVfVk9TRUxfU0VMX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1ZHUFVfRExDX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfVkdQVV9ETENfU0VMX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfVkdQVV9CVVJTVF9TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9WR1BVX0JVUlNUX1NFTF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfVkdQVV9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9WR1BVX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9WR1BVX1NUQlREX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1ZHUFVfU1RCVERfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZHUFVfU1RCX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVkdQVV9TVEJfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgMTIKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZHUFVfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVkdQVV9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgMTMKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZHUFVfT0NfU1RBVFVTX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVkdQVV9PQ19TVEFUVVNfU0hJRlQgICAgICAgICAgICAgICAgICAgMTUKKyNkZWZpbmUgTVQ2MzI1X1ZHUFVfU0ZDSEdfRlJBVEVfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4N0YKKyNkZWZpbmUgTVQ2MzI1X1ZHUFVfU0ZDSEdfRlJBVEVfU0hJRlQgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1ZHUFVfU0ZDSEdfRkVOX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVkdQVV9TRkNIR19GRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgNworI2RlZmluZSBNVDYzMjVfVkdQVV9TRkNIR19SUkFURV9NQVNLICAgICAgICAgICAgICAgICAgICAgMHg3RgorI2RlZmluZSBNVDYzMjVfVkdQVV9TRkNIR19SUkFURV9TSElGVCAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfVkdQVV9TRkNIR19SRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9WR1BVX1NGQ0hHX1JFTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAxNQorI2RlZmluZSBNVDYzMjVfVkdQVV9WT1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg3RgorI2RlZmluZSBNVDYzMjVfVkdQVV9WT1NFTF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfVkdQVV9WT1NFTF9PTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHg3RgorI2RlZmluZSBNVDYzMjVfVkdQVV9WT1NFTF9PTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfVkdQVV9WT1NFTF9TTEVFUF9NQVNLICAgICAgICAgICAgICAgICAgICAgMHg3RgorI2RlZmluZSBNVDYzMjVfVkdQVV9WT1NFTF9TTEVFUF9TSElGVCAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfTklfVkdQVV9WT1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHg3RgorI2RlZmluZSBNVDYzMjVfTklfVkdQVV9WT1NFTF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfVkdQVV9CVVJTVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg3CisjZGVmaW5lIE1UNjMyNV9WR1BVX0JVUlNUX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9WR1BVX0JVUlNUX09OX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDcKKyNkZWZpbmUgTVQ2MzI1X1ZHUFVfQlVSU1RfT05fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1ZHUFVfQlVSU1RfU0xFRVBfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4NworI2RlZmluZSBNVDYzMjVfVkdQVV9CVVJTVF9TTEVFUF9TSElGVCAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfUUlfVkdQVV9CVVJTVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHg3CisjZGVmaW5lIE1UNjMyNV9RSV9WR1BVX0JVUlNUX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfVkdQVV9ETENfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9WR1BVX0RMQ19TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9WR1BVX0RMQ19PTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1ZHUFVfRExDX09OX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1ZHUFVfRExDX1NMRUVQX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfVkdQVV9ETENfU0xFRVBfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfUUlfVkdQVV9ETENfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9RSV9WR1BVX0RMQ19TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfVkdQVV9ETENfTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9WR1BVX0RMQ19OX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9WR1BVX0RMQ19OX09OX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1ZHUFVfRExDX05fT05fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1ZHUFVfRExDX05fU0xFRVBfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfVkdQVV9ETENfTl9TTEVFUF9TSElGVCAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfUUlfVkdQVV9ETENfTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9RSV9WR1BVX0RMQ19OX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfVkdQVV9UUkFOU19URF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9WR1BVX1RSQU5TX1REX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9WR1BVX1RSQU5TX0NUUkxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1ZHUFVfVFJBTlNfQ1RSTF9TSElGVCAgICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1ZHUFVfVFJBTlNfT05DRV9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVkdQVV9UUkFOU19PTkNFX1NISUZUICAgICAgICAgICAgICAgICAgICAgNgorI2RlZmluZSBNVDYzMjVfTklfVkdQVV9WT1NFTF9UUkFOU19NQVNLICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9OSV9WR1BVX1ZPU0VMX1RSQU5TX1NISUZUICAgICAgICAgICAgICAgICA3CisjZGVmaW5lIE1UNjMyNV9WR1BVX1ZTTEVFUF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1ZHUFVfVlNMRUVQX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1ZHUFVfUjJSX1BETl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVkdQVV9SMlJfUEROX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgMTAKKyNkZWZpbmUgTVQ2MzI1X1ZHUFVfVlNMRUVQX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVkdQVV9WU0xFRVBfU0VMX1NISUZUICAgICAgICAgICAgICAgICAgICAgMTEKKyNkZWZpbmUgTVQ2MzI1X05JX1ZHUFVfUjJSX1BETl9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfTklfVkdQVV9SMlJfUEROX1NISUZUICAgICAgICAgICAgICAgICAgICAgMTQKKyNkZWZpbmUgTVQ2MzI1X05JX1ZHUFVfVlNMRUVQX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfTklfVkdQVV9WU0xFRVBfU0VMX1NISUZUICAgICAgICAgICAgICAgICAgMTUKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFMV9ESUcwX1JTVjBfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4RkYKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFMV9ESUcwX1JTVjBfU0hJRlQgICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFMV9FTl9DVFJMX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVkNPUkUxX0VOX0NUUkxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfVkNPUkUxX1ZPU0VMX0NUUkxfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9WQ09SRTFfVk9TRUxfQ1RSTF9TSElGVCAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9WQ09SRTFfRExDX0NUUkxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFMV9ETENfQ1RSTF9TSElGVCAgICAgICAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFMV9CVVJTVF9DVFJMX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVkNPUkUxX0JVUlNUX0NUUkxfU0hJRlQgICAgICAgICAgICAgICAgICAgMworI2RlZmluZSBNVDYzMjVfVkNPUkUxX0VOX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9WQ09SRTFfRU5fU0VMX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9WQ09SRTFfVk9TRUxfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFMV9WT1NFTF9TRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFMV9ETENfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfVkNPUkUxX0RMQ19TRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfVkNPUkUxX0JVUlNUX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9WQ09SRTFfQlVSU1RfU0VMX1NISUZUICAgICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfVkNPUkUxX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9WQ09SRTFfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9WQ09SRTFfU1RCVERfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFMV9TVEJURF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZDT1JFMV9TVEJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVkNPUkUxX1NUQl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgMTIKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZDT1JFMV9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVkNPUkUxX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgMTMKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZDT1JFMV9PQ19TVEFUVVNfTUFTSyAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVkNPUkUxX09DX1NUQVRVU19TSElGVCAgICAgICAgICAgICAgICAgMTUKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFMV9TRkNIR19GUkFURV9NQVNLICAgICAgICAgICAgICAgICAgIDB4N0YKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFMV9TRkNIR19GUkFURV9TSElGVCAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFMV9TRkNIR19GRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVkNPUkUxX1NGQ0hHX0ZFTl9TSElGVCAgICAgICAgICAgICAgICAgICAgNworI2RlZmluZSBNVDYzMjVfVkNPUkUxX1NGQ0hHX1JSQVRFX01BU0sgICAgICAgICAgICAgICAgICAgMHg3RgorI2RlZmluZSBNVDYzMjVfVkNPUkUxX1NGQ0hHX1JSQVRFX1NISUZUICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfVkNPUkUxX1NGQ0hHX1JFTl9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9WQ09SRTFfU0ZDSEdfUkVOX1NISUZUICAgICAgICAgICAgICAgICAgICAxNQorI2RlZmluZSBNVDYzMjVfVkNPUkUxX1ZPU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHg3RgorI2RlZmluZSBNVDYzMjVfVkNPUkUxX1ZPU0VMX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfVkNPUkUxX1ZPU0VMX09OX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHg3RgorI2RlZmluZSBNVDYzMjVfVkNPUkUxX1ZPU0VMX09OX1NISUZUICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfVkNPUkUxX1ZPU0VMX1NMRUVQX01BU0sgICAgICAgICAgICAgICAgICAgMHg3RgorI2RlZmluZSBNVDYzMjVfVkNPUkUxX1ZPU0VMX1NMRUVQX1NISUZUICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfTklfVkNPUkUxX1ZPU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHg3RgorI2RlZmluZSBNVDYzMjVfTklfVkNPUkUxX1ZPU0VMX1NISUZUICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfVkNPUkUxX0JVUlNUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHg3CisjZGVmaW5lIE1UNjMyNV9WQ09SRTFfQlVSU1RfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9WQ09SRTFfQlVSU1RfT05fTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDcKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFMV9CVVJTVF9PTl9TSElGVCAgICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFMV9CVVJTVF9TTEVFUF9NQVNLICAgICAgICAgICAgICAgICAgIDB4NworI2RlZmluZSBNVDYzMjVfVkNPUkUxX0JVUlNUX1NMRUVQX1NISUZUICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfUUlfVkNPUkUxX0JVUlNUX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHg3CisjZGVmaW5lIE1UNjMyNV9RSV9WQ09SRTFfQlVSU1RfU0hJRlQgICAgICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfVkNPUkUxX0RMQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9WQ09SRTFfRExDX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9WQ09SRTFfRExDX09OX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFMV9ETENfT05fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFMV9ETENfU0xFRVBfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfVkNPUkUxX0RMQ19TTEVFUF9TSElGVCAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfUUlfVkNPUkUxX0RMQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9RSV9WQ09SRTFfRExDX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfVkNPUkUxX0RMQ19OX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9WQ09SRTFfRExDX05fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9WQ09SRTFfRExDX05fT05fTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFMV9ETENfTl9PTl9TSElGVCAgICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFMV9ETENfTl9TTEVFUF9NQVNLICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfVkNPUkUxX0RMQ19OX1NMRUVQX1NISUZUICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfUUlfVkNPUkUxX0RMQ19OX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9RSV9WQ09SRTFfRExDX05fU0hJRlQgICAgICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfVkNPUkUxX1RSQU5TX1REX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9WQ09SRTFfVFJBTlNfVERfU0hJRlQgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9WQ09SRTFfVFJBTlNfQ1RSTF9NQVNLICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFMV9UUkFOU19DVFJMX1NISUZUICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFMV9UUkFOU19PTkNFX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVkNPUkUxX1RSQU5TX09OQ0VfU0hJRlQgICAgICAgICAgICAgICAgICAgNgorI2RlZmluZSBNVDYzMjVfTklfVkNPUkUxX1ZPU0VMX1RSQU5TX01BU0sgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9OSV9WQ09SRTFfVk9TRUxfVFJBTlNfU0hJRlQgICAgICAgICAgICAgICA3CisjZGVmaW5lIE1UNjMyNV9WQ09SRTFfVlNMRUVQX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFMV9WU0xFRVBfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFMV9SMlJfUEROX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVkNPUkUxX1IyUl9QRE5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgMTAKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFMV9WU0xFRVBfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVkNPUkUxX1ZTTEVFUF9TRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgMTEKKyNkZWZpbmUgTVQ2MzI1X05JX1ZDT1JFMV9SMlJfUEROX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfTklfVkNPUkUxX1IyUl9QRE5fU0hJRlQgICAgICAgICAgICAgICAgICAgMTQKKyNkZWZpbmUgTVQ2MzI1X05JX1ZDT1JFMV9WU0xFRVBfU0VMX01BU0sgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfTklfVkNPUkUxX1ZTTEVFUF9TRUxfU0hJRlQgICAgICAgICAgICAgICAgMTUKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFMl9ESUcwX1JTVjBfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4RkYKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFMl9ESUcwX1JTVjBfU0hJRlQgICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFMl9FTl9DVFJMX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVkNPUkUyX0VOX0NUUkxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfVkNPUkUyX1ZPU0VMX0NUUkxfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9WQ09SRTJfVk9TRUxfQ1RSTF9TSElGVCAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9WQ09SRTJfRExDX0NUUkxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFMl9ETENfQ1RSTF9TSElGVCAgICAgICAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFMl9CVVJTVF9DVFJMX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVkNPUkUyX0JVUlNUX0NUUkxfU0hJRlQgICAgICAgICAgICAgICAgICAgMworI2RlZmluZSBNVDYzMjVfVkNPUkUyX0VOX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9WQ09SRTJfRU5fU0VMX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9WQ09SRTJfVk9TRUxfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFMl9WT1NFTF9TRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFMl9ETENfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfVkNPUkUyX0RMQ19TRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfVkNPUkUyX0JVUlNUX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9WQ09SRTJfQlVSU1RfU0VMX1NISUZUICAgICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfVkNPUkUyX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9WQ09SRTJfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9WQ09SRTJfU1RCVERfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFMl9TVEJURF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZDT1JFMl9TVEJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVkNPUkUyX1NUQl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgMTIKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZDT1JFMl9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVkNPUkUyX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgMTMKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZDT1JFMl9PQ19TVEFUVVNfTUFTSyAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVkNPUkUyX09DX1NUQVRVU19TSElGVCAgICAgICAgICAgICAgICAgMTUKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFMl9TRkNIR19GUkFURV9NQVNLICAgICAgICAgICAgICAgICAgIDB4N0YKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFMl9TRkNIR19GUkFURV9TSElGVCAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFMl9TRkNIR19GRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVkNPUkUyX1NGQ0hHX0ZFTl9TSElGVCAgICAgICAgICAgICAgICAgICAgNworI2RlZmluZSBNVDYzMjVfVkNPUkUyX1NGQ0hHX1JSQVRFX01BU0sgICAgICAgICAgICAgICAgICAgMHg3RgorI2RlZmluZSBNVDYzMjVfVkNPUkUyX1NGQ0hHX1JSQVRFX1NISUZUICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfVkNPUkUyX1NGQ0hHX1JFTl9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9WQ09SRTJfU0ZDSEdfUkVOX1NISUZUICAgICAgICAgICAgICAgICAgICAxNQorI2RlZmluZSBNVDYzMjVfVkNPUkUyX1ZPU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHg3RgorI2RlZmluZSBNVDYzMjVfVkNPUkUyX1ZPU0VMX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfVkNPUkUyX1ZPU0VMX09OX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHg3RgorI2RlZmluZSBNVDYzMjVfVkNPUkUyX1ZPU0VMX09OX1NISUZUICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfVkNPUkUyX1ZPU0VMX1NMRUVQX01BU0sgICAgICAgICAgICAgICAgICAgMHg3RgorI2RlZmluZSBNVDYzMjVfVkNPUkUyX1ZPU0VMX1NMRUVQX1NISUZUICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfTklfVkNPUkUyX1ZPU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHg3RgorI2RlZmluZSBNVDYzMjVfTklfVkNPUkUyX1ZPU0VMX1NISUZUICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfVkNPUkUyX0JVUlNUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHg3CisjZGVmaW5lIE1UNjMyNV9WQ09SRTJfQlVSU1RfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9WQ09SRTJfQlVSU1RfT05fTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDcKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFMl9CVVJTVF9PTl9TSElGVCAgICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFMl9CVVJTVF9TTEVFUF9NQVNLICAgICAgICAgICAgICAgICAgIDB4NworI2RlZmluZSBNVDYzMjVfVkNPUkUyX0JVUlNUX1NMRUVQX1NISUZUICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfUUlfVkNPUkUyX0JVUlNUX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHg3CisjZGVmaW5lIE1UNjMyNV9RSV9WQ09SRTJfQlVSU1RfU0hJRlQgICAgICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfVkNPUkUyX0RMQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9WQ09SRTJfRExDX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9WQ09SRTJfRExDX09OX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFMl9ETENfT05fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFMl9ETENfU0xFRVBfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfVkNPUkUyX0RMQ19TTEVFUF9TSElGVCAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfUUlfVkNPUkUyX0RMQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9RSV9WQ09SRTJfRExDX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfVkNPUkUyX0RMQ19OX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9WQ09SRTJfRExDX05fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9WQ09SRTJfRExDX05fT05fTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFMl9ETENfTl9PTl9TSElGVCAgICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFMl9ETENfTl9TTEVFUF9NQVNLICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfVkNPUkUyX0RMQ19OX1NMRUVQX1NISUZUICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfUUlfVkNPUkUyX0RMQ19OX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9RSV9WQ09SRTJfRExDX05fU0hJRlQgICAgICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfVkNPUkUyX1RSQU5TX1REX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9WQ09SRTJfVFJBTlNfVERfU0hJRlQgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9WQ09SRTJfVFJBTlNfQ1RSTF9NQVNLICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFMl9UUkFOU19DVFJMX1NISUZUICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFMl9UUkFOU19PTkNFX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVkNPUkUyX1RSQU5TX09OQ0VfU0hJRlQgICAgICAgICAgICAgICAgICAgNgorI2RlZmluZSBNVDYzMjVfTklfVkNPUkUyX1ZPU0VMX1RSQU5TX01BU0sgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9OSV9WQ09SRTJfVk9TRUxfVFJBTlNfU0hJRlQgICAgICAgICAgICAgICA3CisjZGVmaW5lIE1UNjMyNV9WQ09SRTJfVlNMRUVQX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFMl9WU0xFRVBfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFMl9SMlJfUEROX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVkNPUkUyX1IyUl9QRE5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgMTAKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFMl9WU0xFRVBfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVkNPUkUyX1ZTTEVFUF9TRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgMTEKKyNkZWZpbmUgTVQ2MzI1X05JX1ZDT1JFMl9SMlJfUEROX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfTklfVkNPUkUyX1IyUl9QRE5fU0hJRlQgICAgICAgICAgICAgICAgICAgMTQKKyNkZWZpbmUgTVQ2MzI1X05JX1ZDT1JFMl9WU0xFRVBfU0VMX01BU0sgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfTklfVkNPUkUyX1ZTTEVFUF9TRUxfU0hJRlQgICAgICAgICAgICAgICAgMTUKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFMl9WT1NFTF9BVURfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4N0YKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFMl9WT1NFTF9BVURfU0hJRlQgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X0JVQ0tfRFZGU19ET05FX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfQlVDS19EVkZTX0RPTkVfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfQlVDS19EVkZTX0RPTkVfU1dfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9CVUNLX0RWRlNfRE9ORV9TV19TSElGVCAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9WQ09SRV9EVkZTX0RPTkVfU1RBX01BU0sgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1ZDT1JFX0RWRlNfRE9ORV9TVEFfU0hJRlQgICAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1ZJTzE4X0RJRzBfUlNWMF9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4RkYKKyNkZWZpbmUgTVQ2MzI1X1ZJTzE4X0RJRzBfUlNWMF9TSElGVCAgICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1ZJTzE4X0VOX0NUUkxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVklPMThfRU5fQ1RSTF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfVklPMThfVk9TRUxfQ1RSTF9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9WSU8xOF9WT1NFTF9DVFJMX1NISUZUICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9WSU8xOF9ETENfQ1RSTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1ZJTzE4X0RMQ19DVFJMX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1ZJTzE4X0JVUlNUX0NUUkxfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVklPMThfQlVSU1RfQ1RSTF9TSElGVCAgICAgICAgICAgICAgICAgICAgMworI2RlZmluZSBNVDYzMjVfVklPMThfRU5fU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9WSU8xOF9FTl9TRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9WSU8xOF9WT1NFTF9TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1ZJTzE4X1ZPU0VMX1NFTF9TSElGVCAgICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1ZJTzE4X0RMQ19TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfVklPMThfRExDX1NFTF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfVklPMThfQlVSU1RfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9WSU8xOF9CVVJTVF9TRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfVklPMThfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9WSU8xOF9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9WSU8xOF9TVEJURF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1ZJTzE4X1NUQlREX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZJTzE4X1NUQl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVklPMThfU1RCX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgMTIKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZJTzE4X0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVklPMThfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgMTMKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZJTzE4X09DX1NUQVRVU19NQVNLICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVklPMThfT0NfU1RBVFVTX1NISUZUICAgICAgICAgICAgICAgICAgMTUKKyNkZWZpbmUgTVQ2MzI1X1ZJTzE4X1NGQ0hHX0ZSQVRFX01BU0sgICAgICAgICAgICAgICAgICAgIDB4N0YKKyNkZWZpbmUgTVQ2MzI1X1ZJTzE4X1NGQ0hHX0ZSQVRFX1NISUZUICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1ZJTzE4X1NGQ0hHX0ZFTl9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVklPMThfU0ZDSEdfRkVOX1NISUZUICAgICAgICAgICAgICAgICAgICAgNworI2RlZmluZSBNVDYzMjVfVklPMThfU0ZDSEdfUlJBVEVfTUFTSyAgICAgICAgICAgICAgICAgICAgMHg3RgorI2RlZmluZSBNVDYzMjVfVklPMThfU0ZDSEdfUlJBVEVfU0hJRlQgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfVklPMThfU0ZDSEdfUkVOX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9WSU8xOF9TRkNIR19SRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAxNQorI2RlZmluZSBNVDYzMjVfVklPMThfVk9TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgMHg3RgorI2RlZmluZSBNVDYzMjVfVklPMThfVk9TRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfVklPMThfVk9TRUxfT05fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHg3RgorI2RlZmluZSBNVDYzMjVfVklPMThfVk9TRUxfT05fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfVklPMThfVk9TRUxfU0xFRVBfTUFTSyAgICAgICAgICAgICAgICAgICAgMHg3RgorI2RlZmluZSBNVDYzMjVfVklPMThfVk9TRUxfU0xFRVBfU0hJRlQgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfTklfVklPMThfVk9TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHg3RgorI2RlZmluZSBNVDYzMjVfTklfVklPMThfVk9TRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfVklPMThfQlVSU1RfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgMHg3CisjZGVmaW5lIE1UNjMyNV9WSU8xOF9CVVJTVF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9WSU8xOF9CVVJTVF9PTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDcKKyNkZWZpbmUgTVQ2MzI1X1ZJTzE4X0JVUlNUX09OX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1ZJTzE4X0JVUlNUX1NMRUVQX01BU0sgICAgICAgICAgICAgICAgICAgIDB4NworI2RlZmluZSBNVDYzMjVfVklPMThfQlVSU1RfU0xFRVBfU0hJRlQgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfUUlfVklPMThfQlVSU1RfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHg3CisjZGVmaW5lIE1UNjMyNV9RSV9WSU8xOF9CVVJTVF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfVklPMThfRExDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9WSU8xOF9ETENfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9WSU8xOF9ETENfT05fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1ZJTzE4X0RMQ19PTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1ZJTzE4X0RMQ19TTEVFUF9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfVklPMThfRExDX1NMRUVQX1NISUZUICAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfUUlfVklPMThfRExDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9RSV9WSU8xOF9ETENfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfVklPMThfRExDX05fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9WSU8xOF9ETENfTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9WSU8xOF9ETENfTl9PTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1ZJTzE4X0RMQ19OX09OX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1ZJTzE4X0RMQ19OX1NMRUVQX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfVklPMThfRExDX05fU0xFRVBfU0hJRlQgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfUUlfVklPMThfRExDX05fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9RSV9WSU8xOF9ETENfTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfVklPMThfVFJBTlNfVERfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9WSU8xOF9UUkFOU19URF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9WSU8xOF9UUkFOU19DVFJMX01BU0sgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1ZJTzE4X1RSQU5TX0NUUkxfU0hJRlQgICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1ZJTzE4X1RSQU5TX09OQ0VfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVklPMThfVFJBTlNfT05DRV9TSElGVCAgICAgICAgICAgICAgICAgICAgNgorI2RlZmluZSBNVDYzMjVfTklfVklPMThfVk9TRUxfVFJBTlNfTUFTSyAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9OSV9WSU8xOF9WT1NFTF9UUkFOU19TSElGVCAgICAgICAgICAgICAgICA3CisjZGVmaW5lIE1UNjMyNV9WSU8xOF9WU0xFRVBfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1ZJTzE4X1ZTTEVFUF9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1ZJTzE4X1IyUl9QRE5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVklPMThfUjJSX1BETl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgMTAKKyNkZWZpbmUgTVQ2MzI1X1ZJTzE4X1ZTTEVFUF9TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVklPMThfVlNMRUVQX1NFTF9TSElGVCAgICAgICAgICAgICAgICAgICAgMTEKKyNkZWZpbmUgTVQ2MzI1X05JX1ZJTzE4X1IyUl9QRE5fTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfTklfVklPMThfUjJSX1BETl9TSElGVCAgICAgICAgICAgICAgICAgICAgMTQKKyNkZWZpbmUgTVQ2MzI1X05JX1ZJTzE4X1ZTTEVFUF9TRUxfTUFTSyAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfTklfVklPMThfVlNMRUVQX1NFTF9TSElGVCAgICAgICAgICAgICAgICAgMTUKKyNkZWZpbmUgTVQ2MzI1X1ZQQV9ESUcwX1JTVjBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4RkYKKyNkZWZpbmUgTVQ2MzI1X1ZQQV9ESUcwX1JTVjBfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1ZQQV9FTl9DVFJMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVlBBX0VOX0NUUkxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfVlBBX1ZPU0VMX0NUUkxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9WUEFfVk9TRUxfQ1RSTF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9WUEFfRExDX0NUUkxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1ZQQV9ETENfQ1RSTF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1ZQQV9CVVJTVF9DVFJMX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVlBBX0JVUlNUX0NUUkxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgMworI2RlZmluZSBNVDYzMjVfVlBBX0VOX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9WUEFfRU5fU0VMX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9WUEFfVk9TRUxfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1ZQQV9WT1NFTF9TRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1ZQQV9ETENfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfVlBBX0RMQ19TRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfVlBBX0JVUlNUX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9WUEFfQlVSU1RfU0VMX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfVlBBX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9WUEFfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9WUEFfU1RCVERfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1ZQQV9TVEJURF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZQQV9TVEJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVlBBX1NUQl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgMTIKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZQQV9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVlBBX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgMTMKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZQQV9PQ19TVEFUVVNfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVlBBX09DX1NUQVRVU19TSElGVCAgICAgICAgICAgICAgICAgICAgMTUKKyNkZWZpbmUgTVQ2MzI1X1ZQQV9TRkNIR19GUkFURV9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4N0YKKyNkZWZpbmUgTVQ2MzI1X1ZQQV9TRkNIR19GUkFURV9TSElGVCAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1ZQQV9TRkNIR19GRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVlBBX1NGQ0hHX0ZFTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgNworI2RlZmluZSBNVDYzMjVfVlBBX1NGQ0hHX1JSQVRFX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHg3RgorI2RlZmluZSBNVDYzMjVfVlBBX1NGQ0hHX1JSQVRFX1NISUZUICAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfVlBBX1NGQ0hHX1JFTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9WUEFfU0ZDSEdfUkVOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAxNQorI2RlZmluZSBNVDYzMjVfVlBBX1ZPU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzRgorI2RlZmluZSBNVDYzMjVfVlBBX1ZPU0VMX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfVlBBX1ZPU0VMX09OX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHgzRgorI2RlZmluZSBNVDYzMjVfVlBBX1ZPU0VMX09OX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfVlBBX1ZPU0VMX1NMRUVQX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgzRgorI2RlZmluZSBNVDYzMjVfVlBBX1ZPU0VMX1NMRUVQX1NISUZUICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfTklfVlBBX1ZPU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHgzRgorI2RlZmluZSBNVDYzMjVfTklfVlBBX1ZPU0VMX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfVlBBX0RJRzBfUlNWM19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHg3CisjZGVmaW5lIE1UNjMyNV9WUEFfRElHMF9SU1YzX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAxMQorI2RlZmluZSBNVDYzMjVfVlBBX0RMQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg3CisjZGVmaW5lIE1UNjMyNV9WUEFfRExDX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9WUEFfRExDX09OX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAweDcKKyNkZWZpbmUgTVQ2MzI1X1ZQQV9ETENfT05fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1ZQQV9ETENfU0xFRVBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4NworI2RlZmluZSBNVDYzMjVfVlBBX0RMQ19TTEVFUF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfUUlfVlBBX0RMQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg3CisjZGVmaW5lIE1UNjMyNV9RSV9WUEFfRExDX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfVlBBX0RJRzBfUlNWMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHhGRgorI2RlZmluZSBNVDYzMjVfVlBBX0RJRzBfUlNWMV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfVlBBX0RJRzFfUlNWMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHhGRgorI2RlZmluZSBNVDYzMjVfVlBBX0RJRzFfUlNWMV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfVlBBX1RSQU5TX1REX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9WUEFfVFJBTlNfVERfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9WUEFfVFJBTlNfQ1RSTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1ZQQV9UUkFOU19DVFJMX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1ZQQV9UUkFOU19PTkNFX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfVlBBX1RSQU5TX09OQ0VfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgNgorI2RlZmluZSBNVDYzMjVfTklfVlBBX0RWU19CV19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9OSV9WUEFfRFZTX0JXX1NISUZUICAgICAgICAgICAgICAgICAgICAgICA3CisjZGVmaW5lIE1UNjMyNV9WUEFfRElHMV9SU1Y0X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1ZQQV9ESUcxX1JTVjRfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDEwCisjZGVmaW5lIE1UNjMyNV9WUEFfRElHMV9SU1YzX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1ZQQV9ESUcxX1JTVjNfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDE0CisjZGVmaW5lIE1UNjMyNV9WUEFfQlVSU1RIX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1ZQQV9CVVJTVEhfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1ZQQV9CVVJTVEhfT05fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfVlBBX0JVUlNUSF9PTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgNAorI2RlZmluZSBNVDYzMjVfVlBBX0JVUlNUSF9TTEVFUF9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9WUEFfQlVSU1RIX1NMRUVQX1NISUZUICAgICAgICAgICAgICAgICAgICA4CisjZGVmaW5lIE1UNjMyNV9RSV9WUEFfQlVSU1RIX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZQQV9CVVJTVEhfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDEyCisjZGVmaW5lIE1UNjMyNV9WUEFfQlVSU1RMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1ZQQV9CVVJTVExfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1ZQQV9CVVJTVExfT05fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfVlBBX0JVUlNUTF9PTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgNAorI2RlZmluZSBNVDYzMjVfVlBBX0JVUlNUTF9TTEVFUF9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9WUEFfQlVSU1RMX1NMRUVQX1NISUZUICAgICAgICAgICAgICAgICAgICA4CisjZGVmaW5lIE1UNjMyNV9RSV9WUEFfQlVSU1RMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZQQV9CVVJTVExfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDEyCisjZGVmaW5lIE1UNjMyNV9WUEFfVk9TRUxfRExDMDExX01BU0sgICAgICAgICAgICAgICAgICAgICAweDNGCisjZGVmaW5lIE1UNjMyNV9WUEFfVk9TRUxfRExDMDExX1NISUZUICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9WUEFfVk9TRUxfRExDMTExX01BU0sgICAgICAgICAgICAgICAgICAgICAweDNGCisjZGVmaW5lIE1UNjMyNV9WUEFfVk9TRUxfRExDMTExX1NISUZUICAgICAgICAgICAgICAgICAgICA4CisjZGVmaW5lIE1UNjMyNV9WUEFfRExDX01BUF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1ZQQV9ETENfTUFQX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1ZQQV9WT1NFTF9ETEMwMDFfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4M0YKKyNkZWZpbmUgTVQ2MzI1X1ZQQV9WT1NFTF9ETEMwMDFfU0hJRlQgICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1ZQQV9EVlNfVFJBTlNfVERfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfVlBBX0RWU19UUkFOU19URF9TSElGVCAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfVlBBX0RWU19UUkFOU19DVFJMX01BU0sgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9WUEFfRFZTX1RSQU5TX0NUUkxfU0hJRlQgICAgICAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9WUEFfRFZTX1RSQU5TX09OQ0VfTUFTSyAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1ZQQV9EVlNfVFJBTlNfT05DRV9TSElGVCAgICAgICAgICAgICAgICAgIDYKKyNkZWZpbmUgTVQ2MzI1X05JX1ZQQV9EVlNfVFJBTlNUX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfTklfVlBBX0RWU19UUkFOU1RfU0hJRlQgICAgICAgICAgICAgICAgICAgNworI2RlZmluZSBNVDYzMjVfVlBBX0RJRzBfUlNWNF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHhGCisjZGVmaW5lIE1UNjMyNV9WUEFfRElHMF9SU1Y0X1NISUZUICAgICAgICAgICAgICAgICAgICAgICA4CisjZGVmaW5lIE1UNjMyNV9WUEFfRElHMV9SU1YyX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweEYKKyNkZWZpbmUgTVQ2MzI1X1ZQQV9ESUcxX1JTVjJfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDEyCisjZGVmaW5lIE1UNjMyNV9LX1JTVF9ET05FX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0tfUlNUX0RPTkVfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X0tfTUFQX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfS19NQVBfU0VMX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBNVDYzMjVfS19PTkNFX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9LX09OQ0VfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAyCisjZGVmaW5lIE1UNjMyNV9LX09OQ0VfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0tfT05DRV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMKKyNkZWZpbmUgTVQ2MzI1X0tfU1RBUlRfTUFOVUFMX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfS19TVEFSVF9NQU5VQUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgNAorI2RlZmluZSBNVDYzMjVfS19TUkNfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9LX1NSQ19TRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICA1CisjZGVmaW5lIE1UNjMyNV9LX0FVVE9fRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0tfQVVUT19FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgIDYKKyNkZWZpbmUgTVQ2MzI1X0tfSU5WX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfS19JTlZfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNworI2RlZmluZSBNVDYzMjVfS19DT05UUk9MX1NNUFNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgzRgorI2RlZmluZSBNVDYzMjVfS19DT05UUk9MX1NNUFNfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfS19SRVNVTFRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9LX1JFU1VMVF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9LX0RPTkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0tfRE9ORV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgTVQ2MzI1X0tfQ09OVFJPTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4M0YKKyNkZWZpbmUgTVQ2MzI1X0tfQ09OVFJPTF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1FJX1NNUFNfT1NDX0NBTF9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4M0YKKyNkZWZpbmUgTVQ2MzI1X1FJX1NNUFNfT1NDX0NBTF9TSElGVCAgICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X0tfQlVDS19DS19DTlRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4M0ZGCisjZGVmaW5lIE1UNjMyNV9LX0JVQ0tfQ0tfQ05UX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19BVURaQ0RFTkFCTEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVRFpDREVOQUJMRV9TSElGVCAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVRFpDREdBSU5TVEVQVElNRV9NQVNLICAgICAgICAgICAgICAgIDB4NworI2RlZmluZSBNVDYzMjVfUkdfQVVEWkNER0FJTlNURVBUSU1FX1NISUZUICAgICAgICAgICAgICAgMQorI2RlZmluZSBNVDYzMjVfUkdfQVVEWkNER0FJTlNURVBTSVpFX01BU0sgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19BVURaQ0RHQUlOU1RFUFNJWkVfU0hJRlQgICAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9SR19BVURaQ0RUSU1FT1VUTU9ERVNFTF9NQVNLICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVRFpDRFRJTUVPVVRNT0RFU0VMX1NISUZUICAgICAgICAgICAgIDYKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVRFpDRENMS1NFTF9WQVVEUDE1X01BU0sgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQVVEWkNEQ0xLU0VMX1ZBVURQMTVfU0hJRlQgICAgICAgICAgICAgNworI2RlZmluZSBNVDYzMjVfUkdfQVVEWkNETVVYU0VMX1ZBVURQMTVfTUFTSyAgICAgICAgICAgICAgMHg3CisjZGVmaW5lIE1UNjMyNV9SR19BVURaQ0RNVVhTRUxfVkFVRFAxNV9TSElGVCAgICAgICAgICAgICA4CisjZGVmaW5lIE1UNjMyNV9SR19BVURMT0xHQUlOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDFGCisjZGVmaW5lIE1UNjMyNV9SR19BVURMT0xHQUlOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19BVURMT1JHQUlOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDFGCisjZGVmaW5lIE1UNjMyNV9SR19BVURMT1JHQUlOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICA3CisjZGVmaW5lIE1UNjMyNV9SR19BVURIUExHQUlOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDFGCisjZGVmaW5lIE1UNjMyNV9SR19BVURIUExHQUlOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19BVURIUFJHQUlOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDFGCisjZGVmaW5lIE1UNjMyNV9SR19BVURIUFJHQUlOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICA3CisjZGVmaW5lIE1UNjMyNV9SR19BVURIU0dBSU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAweDFGCisjZGVmaW5lIE1UNjMyNV9SR19BVURIU0dBSU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19BVURJVkxHQUlOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDcKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVRElWTEdBSU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVRElWUkdBSU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4NworI2RlZmluZSBNVDYzMjVfUkdfQVVESVZSR0FJTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfUkdfQVVESU5UR0FJTjFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgzRgorI2RlZmluZSBNVDYzMjVfUkdfQVVESU5UR0FJTjFfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfQVVESU5UR0FJTjJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgzRgorI2RlZmluZSBNVDYzMjVfUkdfQVVESU5UR0FJTjJfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfSVNJTktfRElNMF9GU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHhGRkZGCisjZGVmaW5lIE1UNjMyNV9JU0lOS19ESU0wX0ZTRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9JU0lOSzBfUlNWMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAweEYKKyNkZWZpbmUgTVQ2MzI1X0lTSU5LMF9SU1YxX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X0lTSU5LMF9SU1YwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NworI2RlZmluZSBNVDYzMjVfSVNJTkswX1JTVjBfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgNAorI2RlZmluZSBNVDYzMjVfSVNJTktfRElNMF9EVVRZX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgxRgorI2RlZmluZSBNVDYzMjVfSVNJTktfRElNMF9EVVRZX1NISUZUICAgICAgICAgICAgICAgICAgICAgNworI2RlZmluZSBNVDYzMjVfSVNJTktfQ0gwX1NURVBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHg3CisjZGVmaW5lIE1UNjMyNV9JU0lOS19DSDBfU1RFUF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfSVNJTktfQlJFQVRIMF9URjJfU0VMX01BU0sgICAgICAgICAgICAgICAgMHhGCisjZGVmaW5lIE1UNjMyNV9JU0lOS19CUkVBVEgwX1RGMl9TRUxfU0hJRlQgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9JU0lOS19CUkVBVEgwX1RGMV9TRUxfTUFTSyAgICAgICAgICAgICAgICAweEYKKyNkZWZpbmUgTVQ2MzI1X0lTSU5LX0JSRUFUSDBfVEYxX1NFTF9TSElGVCAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X0lTSU5LX0JSRUFUSDBfVFIyX1NFTF9NQVNLICAgICAgICAgICAgICAgIDB4RgorI2RlZmluZSBNVDYzMjVfSVNJTktfQlJFQVRIMF9UUjJfU0VMX1NISUZUICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfSVNJTktfQlJFQVRIMF9UUjFfU0VMX01BU0sgICAgICAgICAgICAgICAgMHhGCisjZGVmaW5lIE1UNjMyNV9JU0lOS19CUkVBVEgwX1RSMV9TRUxfU0hJRlQgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfSVNJTktfQlJFQVRIMF9UT0ZGX1NFTF9NQVNLICAgICAgICAgICAgICAgMHhGCisjZGVmaW5lIE1UNjMyNV9JU0lOS19CUkVBVEgwX1RPRkZfU0VMX1NISUZUICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9JU0lOS19CUkVBVEgwX1RPTl9TRUxfTUFTSyAgICAgICAgICAgICAgICAweEYKKyNkZWZpbmUgTVQ2MzI1X0lTSU5LX0JSRUFUSDBfVE9OX1NFTF9TSElGVCAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X0lTSU5LX0RJTTFfRlNFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4RkZGRgorI2RlZmluZSBNVDYzMjVfSVNJTktfRElNMV9GU0VMX1NISUZUICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfSVNJTksxX1JTVjFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgMHhGCisjZGVmaW5lIE1UNjMyNV9JU0lOSzFfUlNWMV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9JU0lOSzFfUlNWMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAweDcKKyNkZWZpbmUgTVQ2MzI1X0lTSU5LMV9SU1YwX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X0lTSU5LX0RJTTFfRFVUWV9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MUYKKyNkZWZpbmUgTVQ2MzI1X0lTSU5LX0RJTTFfRFVUWV9TSElGVCAgICAgICAgICAgICAgICAgICAgIDcKKyNkZWZpbmUgTVQ2MzI1X0lTSU5LX0NIMV9TVEVQX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4NworI2RlZmluZSBNVDYzMjVfSVNJTktfQ0gxX1NURVBfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgMTIKKyNkZWZpbmUgTVQ2MzI1X0lTSU5LX0JSRUFUSDFfVEYyX1NFTF9NQVNLICAgICAgICAgICAgICAgIDB4RgorI2RlZmluZSBNVDYzMjVfSVNJTktfQlJFQVRIMV9URjJfU0VMX1NISUZUICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfSVNJTktfQlJFQVRIMV9URjFfU0VMX01BU0sgICAgICAgICAgICAgICAgMHhGCisjZGVmaW5lIE1UNjMyNV9JU0lOS19CUkVBVEgxX1RGMV9TRUxfU0hJRlQgICAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9JU0lOS19CUkVBVEgxX1RSMl9TRUxfTUFTSyAgICAgICAgICAgICAgICAweEYKKyNkZWZpbmUgTVQ2MzI1X0lTSU5LX0JSRUFUSDFfVFIyX1NFTF9TSElGVCAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X0lTSU5LX0JSRUFUSDFfVFIxX1NFTF9NQVNLICAgICAgICAgICAgICAgIDB4RgorI2RlZmluZSBNVDYzMjVfSVNJTktfQlJFQVRIMV9UUjFfU0VMX1NISUZUICAgICAgICAgICAgICAgMTIKKyNkZWZpbmUgTVQ2MzI1X0lTSU5LX0JSRUFUSDFfVE9GRl9TRUxfTUFTSyAgICAgICAgICAgICAgIDB4RgorI2RlZmluZSBNVDYzMjVfSVNJTktfQlJFQVRIMV9UT0ZGX1NFTF9TSElGVCAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfSVNJTktfQlJFQVRIMV9UT05fU0VMX01BU0sgICAgICAgICAgICAgICAgMHhGCisjZGVmaW5lIE1UNjMyNV9JU0lOS19CUkVBVEgxX1RPTl9TRUxfU0hJRlQgICAgICAgICAgICAgICA4CisjZGVmaW5lIE1UNjMyNV9JU0lOS19ESU0yX0ZTRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweEZGRkYKKyNkZWZpbmUgTVQ2MzI1X0lTSU5LX0RJTTJfRlNFTF9TSElGVCAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X0lTSU5LMl9SU1YxX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RgorI2RlZmluZSBNVDYzMjVfSVNJTksyX1JTVjFfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfSVNJTksyX1JTVjBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgMHg3CisjZGVmaW5lIE1UNjMyNV9JU0lOSzJfUlNWMF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9JU0lOS19ESU0yX0RVVFlfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDFGCisjZGVmaW5lIE1UNjMyNV9JU0lOS19ESU0yX0RVVFlfU0hJRlQgICAgICAgICAgICAgICAgICAgICA3CisjZGVmaW5lIE1UNjMyNV9JU0lOS19DSDJfU1RFUF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDcKKyNkZWZpbmUgTVQ2MzI1X0lTSU5LX0NIMl9TVEVQX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDEyCisjZGVmaW5lIE1UNjMyNV9JU0lOS19CUkVBVEgyX1RGMl9TRUxfTUFTSyAgICAgICAgICAgICAgICAweEYKKyNkZWZpbmUgTVQ2MzI1X0lTSU5LX0JSRUFUSDJfVEYyX1NFTF9TSElGVCAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X0lTSU5LX0JSRUFUSDJfVEYxX1NFTF9NQVNLICAgICAgICAgICAgICAgIDB4RgorI2RlZmluZSBNVDYzMjVfSVNJTktfQlJFQVRIMl9URjFfU0VMX1NISUZUICAgICAgICAgICAgICAgNAorI2RlZmluZSBNVDYzMjVfSVNJTktfQlJFQVRIMl9UUjJfU0VMX01BU0sgICAgICAgICAgICAgICAgMHhGCisjZGVmaW5lIE1UNjMyNV9JU0lOS19CUkVBVEgyX1RSMl9TRUxfU0hJRlQgICAgICAgICAgICAgICA4CisjZGVmaW5lIE1UNjMyNV9JU0lOS19CUkVBVEgyX1RSMV9TRUxfTUFTSyAgICAgICAgICAgICAgICAweEYKKyNkZWZpbmUgTVQ2MzI1X0lTSU5LX0JSRUFUSDJfVFIxX1NFTF9TSElGVCAgICAgICAgICAgICAgIDEyCisjZGVmaW5lIE1UNjMyNV9JU0lOS19CUkVBVEgyX1RPRkZfU0VMX01BU0sgICAgICAgICAgICAgICAweEYKKyNkZWZpbmUgTVQ2MzI1X0lTSU5LX0JSRUFUSDJfVE9GRl9TRUxfU0hJRlQgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X0lTSU5LX0JSRUFUSDJfVE9OX1NFTF9NQVNLICAgICAgICAgICAgICAgIDB4RgorI2RlZmluZSBNVDYzMjVfSVNJTktfQlJFQVRIMl9UT05fU0VMX1NISUZUICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfSVNJTktfRElNM19GU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHhGRkZGCisjZGVmaW5lIE1UNjMyNV9JU0lOS19ESU0zX0ZTRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9JU0lOSzNfUlNWMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAweEYKKyNkZWZpbmUgTVQ2MzI1X0lTSU5LM19SU1YxX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X0lTSU5LM19SU1YwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NworI2RlZmluZSBNVDYzMjVfSVNJTkszX1JTVjBfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgNAorI2RlZmluZSBNVDYzMjVfSVNJTktfRElNM19EVVRZX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgxRgorI2RlZmluZSBNVDYzMjVfSVNJTktfRElNM19EVVRZX1NISUZUICAgICAgICAgICAgICAgICAgICAgNworI2RlZmluZSBNVDYzMjVfSVNJTktfQ0gzX1NURVBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHg3CisjZGVmaW5lIE1UNjMyNV9JU0lOS19DSDNfU1RFUF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfSVNJTktfQlJFQVRIM19URjJfU0VMX01BU0sgICAgICAgICAgICAgICAgMHhGCisjZGVmaW5lIE1UNjMyNV9JU0lOS19CUkVBVEgzX1RGMl9TRUxfU0hJRlQgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9JU0lOS19CUkVBVEgzX1RGMV9TRUxfTUFTSyAgICAgICAgICAgICAgICAweEYKKyNkZWZpbmUgTVQ2MzI1X0lTSU5LX0JSRUFUSDNfVEYxX1NFTF9TSElGVCAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X0lTSU5LX0JSRUFUSDNfVFIyX1NFTF9NQVNLICAgICAgICAgICAgICAgIDB4RgorI2RlZmluZSBNVDYzMjVfSVNJTktfQlJFQVRIM19UUjJfU0VMX1NISUZUICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfSVNJTktfQlJFQVRIM19UUjFfU0VMX01BU0sgICAgICAgICAgICAgICAgMHhGCisjZGVmaW5lIE1UNjMyNV9JU0lOS19CUkVBVEgzX1RSMV9TRUxfU0hJRlQgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfSVNJTktfQlJFQVRIM19UT0ZGX1NFTF9NQVNLICAgICAgICAgICAgICAgMHhGCisjZGVmaW5lIE1UNjMyNV9JU0lOS19CUkVBVEgzX1RPRkZfU0VMX1NISUZUICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9JU0lOS19CUkVBVEgzX1RPTl9TRUxfTUFTSyAgICAgICAgICAgICAgICAweEYKKyNkZWZpbmUgTVQ2MzI1X0lTSU5LX0JSRUFUSDNfVE9OX1NFTF9TSElGVCAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1JHX0lTSU5LU19SU1ZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4RkYKKyNkZWZpbmUgTVQ2MzI1X1JHX0lTSU5LU19SU1ZfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX0lTSU5LM19ET1VCTEVfRU5fTUFTSyAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfSVNJTkszX0RPVUJMRV9FTl9TSElGVCAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfUkdfSVNJTksyX0RPVUJMRV9FTl9NQVNLICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19JU0lOSzJfRE9VQkxFX0VOX1NISUZUICAgICAgICAgICAgICAgICA5CisjZGVmaW5lIE1UNjMyNV9SR19JU0lOSzFfRE9VQkxFX0VOX01BU0sgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0lTSU5LMV9ET1VCTEVfRU5fU0hJRlQgICAgICAgICAgICAgICAgIDEwCisjZGVmaW5lIE1UNjMyNV9SR19JU0lOSzBfRE9VQkxFX0VOX01BU0sgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0lTSU5LMF9ET1VCTEVfRU5fU0hJRlQgICAgICAgICAgICAgICAgIDExCisjZGVmaW5lIE1UNjMyNV9SR19UUklNX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAweDcKKyNkZWZpbmUgTVQ2MzI1X1JHX1RSSU1fU0VMX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgIDEyCisjZGVmaW5lIE1UNjMyNV9SR19UUklNX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1RSSU1fRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgIDE1CisjZGVmaW5lIE1UNjMyNV9OSV9JU0lOSzNfU1RBVFVTX01BU0sgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X05JX0lTSU5LM19TVEFUVVNfU0hJRlQgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X05JX0lTSU5LMl9TVEFUVVNfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfTklfSVNJTksyX1NUQVRVU19TSElGVCAgICAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBNVDYzMjVfTklfSVNJTksxX1NUQVRVU19NQVNLICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9OSV9JU0lOSzFfU1RBVFVTX1NISUZUICAgICAgICAgICAgICAgICAgICAyCisjZGVmaW5lIE1UNjMyNV9OSV9JU0lOSzBfU1RBVFVTX01BU0sgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X05JX0lTSU5LMF9TVEFUVVNfU0hJRlQgICAgICAgICAgICAgICAgICAgIDMKKyNkZWZpbmUgTVQ2MzI1X0lTSU5LX1BIQVNFMF9ETFlfRU5fTUFTSyAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfSVNJTktfUEhBU0UwX0RMWV9FTl9TSElGVCAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfSVNJTktfUEhBU0UxX0RMWV9FTl9NQVNLICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9JU0lOS19QSEFTRTFfRExZX0VOX1NISUZUICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9JU0lOS19QSEFTRTJfRExZX0VOX01BU0sgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0lTSU5LX1BIQVNFMl9ETFlfRU5fU0hJRlQgICAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X0lTSU5LX1BIQVNFM19ETFlfRU5fTUFTSyAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfSVNJTktfUEhBU0UzX0RMWV9FTl9TSElGVCAgICAgICAgICAgICAgICAgMworI2RlZmluZSBNVDYzMjVfSVNJTktfUEhBU0VfRExZX1RDX01BU0sgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9JU0lOS19QSEFTRV9ETFlfVENfU0hJRlQgICAgICAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9JU0lOS19DSE9QMF9TV19NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0lTSU5LX0NIT1AwX1NXX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDEyCisjZGVmaW5lIE1UNjMyNV9JU0lOS19DSE9QMV9TV19NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0lTSU5LX0NIT1AxX1NXX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDEzCisjZGVmaW5lIE1UNjMyNV9JU0lOS19DSE9QMl9TV19NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0lTSU5LX0NIT1AyX1NXX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDE0CisjZGVmaW5lIE1UNjMyNV9JU0lOS19DSE9QM19TV19NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0lTSU5LX0NIT1AzX1NXX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDE1CisjZGVmaW5lIE1UNjMyNV9JU0lOS19TRlNUUjNfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0lTSU5LX1NGU1RSM19FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X0lTSU5LX1NGU1RSM19UQ19NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfSVNJTktfU0ZTVFIzX1RDX1NISUZUICAgICAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBNVDYzMjVfSVNJTktfU0ZTVFIyX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9JU0lOS19TRlNUUjJfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9JU0lOS19TRlNUUjJfVENfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X0lTSU5LX1NGU1RSMl9UQ19TSElGVCAgICAgICAgICAgICAgICAgICAgIDUKKyNkZWZpbmUgTVQ2MzI1X0lTSU5LX1NGU1RSMV9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfSVNJTktfU0ZTVFIxX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfSVNJTktfU0ZTVFIxX1RDX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9JU0lOS19TRlNUUjFfVENfU0hJRlQgICAgICAgICAgICAgICAgICAgICA5CisjZGVmaW5lIE1UNjMyNV9JU0lOS19TRlNUUjBfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0lTSU5LX1NGU1RSMF9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgIDEyCisjZGVmaW5lIE1UNjMyNV9JU0lOS19TRlNUUjBfVENfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X0lTSU5LX1NGU1RSMF9UQ19TSElGVCAgICAgICAgICAgICAgICAgICAgIDEzCisjZGVmaW5lIE1UNjMyNV9JU0lOS19DSDBfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0lTSU5LX0NIMF9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X0lTSU5LX0NIMV9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfSVNJTktfQ0gxX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBNVDYzMjVfSVNJTktfQ0gyX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9JU0lOS19DSDJfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAyCisjZGVmaW5lIE1UNjMyNV9JU0lOS19DSDNfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0lTSU5LX0NIM19FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgIDMKKyNkZWZpbmUgTVQ2MzI1X0lTSU5LX0NIT1AwX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfSVNJTktfQ0hPUDBfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgNAorI2RlZmluZSBNVDYzMjVfSVNJTktfQ0hPUDFfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9JU0lOS19DSE9QMV9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICA1CisjZGVmaW5lIE1UNjMyNV9JU0lOS19DSE9QMl9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0lTSU5LX0NIT1AyX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDYKKyNkZWZpbmUgTVQ2MzI1X0lTSU5LX0NIT1AzX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfSVNJTktfQ0hPUDNfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgNworI2RlZmluZSBNVDYzMjVfSVNJTktfQ0gwX0JJQVNfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9JU0lOS19DSDBfQklBU19FTl9TSElGVCAgICAgICAgICAgICAgICAgICA4CisjZGVmaW5lIE1UNjMyNV9JU0lOS19DSDFfQklBU19FTl9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0lTSU5LX0NIMV9CSUFTX0VOX1NISUZUICAgICAgICAgICAgICAgICAgIDkKKyNkZWZpbmUgTVQ2MzI1X0lTSU5LX0NIMl9CSUFTX0VOX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfSVNJTktfQ0gyX0JJQVNfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgMTAKKyNkZWZpbmUgTVQ2MzI1X0lTSU5LX0NIM19CSUFTX0VOX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfSVNJTktfQ0gzX0JJQVNfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgMTEKKyNkZWZpbmUgTVQ2MzI1X0lTSU5LX1JTVl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RgorI2RlZmluZSBNVDYzMjVfSVNJTktfUlNWX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfSVNJTktfQ0gzX01PREVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9JU0lOS19DSDNfTU9ERV9TSElGVCAgICAgICAgICAgICAgICAgICAgICA4CisjZGVmaW5lIE1UNjMyNV9JU0lOS19DSDJfTU9ERV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X0lTSU5LX0NIMl9NT0RFX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDEwCisjZGVmaW5lIE1UNjMyNV9JU0lOS19DSDFfTU9ERV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X0lTSU5LX0NIMV9NT0RFX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDEyCisjZGVmaW5lIE1UNjMyNV9JU0lOS19DSDBfTU9ERV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X0lTSU5LX0NIMF9NT0RFX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDE0CisjZGVmaW5lIE1UNjMyNV9SR19JU0lOS1NfQ0gwX1NURVBfTUFTSyAgICAgICAgICAgICAgICAgICAweDcKKyNkZWZpbmUgTVQ2MzI1X1JHX0lTSU5LU19DSDBfU1RFUF9TSElGVCAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX0lTSU5LU19DSDFfU1RFUF9NQVNLICAgICAgICAgICAgICAgICAgIDB4NworI2RlZmluZSBNVDYzMjVfUkdfSVNJTktTX0NIMV9TVEVQX1NISUZUICAgICAgICAgICAgICAgICAgMworI2RlZmluZSBNVDYzMjVfUkdfSVNJTktTX0NIMl9TVEVQX01BU0sgICAgICAgICAgICAgICAgICAgMHg3CisjZGVmaW5lIE1UNjMyNV9SR19JU0lOS1NfQ0gyX1NURVBfU0hJRlQgICAgICAgICAgICAgICAgICA2CisjZGVmaW5lIE1UNjMyNV9SR19JU0lOS1NfQ0gzX1NURVBfTUFTSyAgICAgICAgICAgICAgICAgICAweDcKKyNkZWZpbmUgTVQ2MzI1X1JHX0lTSU5LU19DSDNfU1RFUF9TSElGVCAgICAgICAgICAgICAgICAgIDkKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZUQ1hPMF9NT0RFX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVlRDWE8wX01PREVfU0VUX1NISUZUICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfVlRDWE8wX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WVENYTzBfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9SR19WVENYTzBfTU9ERV9DVFJMX01BU0sgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZUQ1hPMF9NT0RFX0NUUkxfU0hJRlQgICAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZUQ1hPMF9PTl9DVFJMX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVlRDWE8wX09OX0NUUkxfU0hJRlQgICAgICAgICAgICAgICAgICAgMworI2RlZmluZSBNVDYzMjVfUkdfVlRDWE8wX1NSQ0xLX01PREVfU0VMX01BU0sgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19WVENYTzBfU1JDTEtfTU9ERV9TRUxfU0hJRlQgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9RSV9WVENYTzBfTU9ERV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZUQ1hPMF9NT0RFX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDcKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZUQ1hPMF9TVEJURF9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUkdfVlRDWE8wX1NUQlREX1NISUZUICAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfUkdfVlRDWE8wX1NSQ0xLX0VOX1NFTF9NQVNLICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19WVENYTzBfU1JDTEtfRU5fU0VMX1NISUZUICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfUUlfVlRDWE8wX1NUQl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9RSV9WVENYTzBfU1RCX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAxNAorI2RlZmluZSBNVDYzMjVfUUlfVlRDWE8wX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9RSV9WVENYTzBfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAxNQorI2RlZmluZSBNVDYzMjVfUkdfVlRDWE8xX01PREVfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WVENYTzFfTU9ERV9TRVRfU0hJRlQgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19WVENYTzFfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZUQ1hPMV9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZUQ1hPMV9NT0RFX0NUUkxfTUFTSyAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVlRDWE8xX01PREVfQ1RSTF9TSElGVCAgICAgICAgICAgICAgICAgMgorI2RlZmluZSBNVDYzMjVfUkdfVlRDWE8xX09OX0NUUkxfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WVENYTzFfT05fQ1RSTF9TSElGVCAgICAgICAgICAgICAgICAgICAzCisjZGVmaW5lIE1UNjMyNV9SR19WVENYTzFfU1JDTEtfTU9ERV9TRUxfTUFTSyAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZUQ1hPMV9TUkNMS19NT0RFX1NFTF9TSElGVCAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZUQ1hPMV9NT0RFX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVlRDWE8xX01PREVfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgNworI2RlZmluZSBNVDYzMjVfUkdfVlRDWE8xX1NUQlREX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19WVENYTzFfU1RCVERfU0hJRlQgICAgICAgICAgICAgICAgICAgICA4CisjZGVmaW5lIE1UNjMyNV9SR19WVENYTzFfU1JDTEtfRU5fU0VMX01BU0sgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZUQ1hPMV9TUkNMS19FTl9TRUxfU0hJRlQgICAgICAgICAgICAgIDEyCisjZGVmaW5lIE1UNjMyNV9RSV9WVENYTzFfU1RCX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZUQ1hPMV9TVEJfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDE0CisjZGVmaW5lIE1UNjMyNV9RSV9WVENYTzFfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZUQ1hPMV9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgIDE1CisjZGVmaW5lIE1UNjMyNV9SR19WQVVEMjhfTU9ERV9TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZBVUQyOF9NT0RFX1NFVF9TSElGVCAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZBVUQyOF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVkFVRDI4X0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBNVDYzMjVfUkdfVkFVRDI4X01PREVfQ1RSTF9NQVNLICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WQVVEMjhfTU9ERV9DVFJMX1NISUZUICAgICAgICAgICAgICAgICAyCisjZGVmaW5lIE1UNjMyNV9SR19WQVVEMjhfT05fQ1RSTF9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZBVUQyOF9PTl9DVFJMX1NISUZUICAgICAgICAgICAgICAgICAgIDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZBVUQyOF9TUkNMS19NT0RFX1NFTF9NQVNLICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUkdfVkFVRDI4X1NSQ0xLX01PREVfU0VMX1NISUZUICAgICAgICAgICAgNAorI2RlZmluZSBNVDYzMjVfUUlfVkFVRDI4X01PREVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9RSV9WQVVEMjhfTU9ERV9TSElGVCAgICAgICAgICAgICAgICAgICAgICA3CisjZGVmaW5lIE1UNjMyNV9SR19WQVVEMjhfU1RCVERfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZBVUQyOF9TVEJURF9TSElGVCAgICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZBVUQyOF9TUkNMS19FTl9TRUxfTUFTSyAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUkdfVkFVRDI4X1NSQ0xLX0VOX1NFTF9TSElGVCAgICAgICAgICAgICAgMTIKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZBVUQyOF9TVEJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVkFVRDI4X1NUQl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgMTQKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZBVUQyOF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVkFVRDI4X0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgMTUKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZBVVhBMjhfTU9ERV9TRVRfTUFTSyAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVkFVWEEyOF9NT0RFX1NFVF9TSElGVCAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfVkFVWEEyOF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WQVVYQTI4X0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9SR19WQVVYQTI4X01PREVfQ1RSTF9NQVNLICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZBVVhBMjhfTU9ERV9DVFJMX1NISUZUICAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZBVVhBMjhfT05fQ1RSTF9NQVNLICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVkFVWEEyOF9PTl9DVFJMX1NISUZUICAgICAgICAgICAgICAgICAgMworI2RlZmluZSBNVDYzMjVfUkdfVkFVWEEyOF9TUkNMS19NT0RFX1NFTF9NQVNLICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19WQVVYQTI4X1NSQ0xLX01PREVfU0VMX1NISUZUICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9RSV9WQVVYQTI4X01PREVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZBVVhBMjhfTU9ERV9TSElGVCAgICAgICAgICAgICAgICAgICAgIDcKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZBVVhBMjhfU1RCVERfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUkdfVkFVWEEyOF9TVEJURF9TSElGVCAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfUkdfVkFVWEEyOF9BVVhBRENfUFdEQl9FTl9NQVNLICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WQVVYQTI4X0FVWEFEQ19QV0RCX0VOX1NISUZUICAgICAgICAgICAxMQorI2RlZmluZSBNVDYzMjVfUkdfVkFVWEEyOF9TUkNMS19FTl9TRUxfTUFTSyAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19WQVVYQTI4X1NSQ0xLX0VOX1NFTF9TSElGVCAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfUUlfVkFVWEEyOF9TVEJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9RSV9WQVVYQTI4X1NUQl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAxNAorI2RlZmluZSBNVDYzMjVfUUlfVkFVWEEyOF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9RSV9WQVVYQTI4X0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAxNQorI2RlZmluZSBNVDYzMjVfUkdfVkJJRjI4X01PREVfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WQklGMjhfTU9ERV9TRVRfU0hJRlQgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19WQklGMjhfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZCSUYyOF9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZCSUYyOF9NT0RFX0NUUkxfTUFTSyAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVkJJRjI4X01PREVfQ1RSTF9TSElGVCAgICAgICAgICAgICAgICAgMgorI2RlZmluZSBNVDYzMjVfUkdfVkJJRjI4X09OX0NUUkxfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WQklGMjhfT05fQ1RSTF9TSElGVCAgICAgICAgICAgICAgICAgICAzCisjZGVmaW5lIE1UNjMyNV9SR19WQklGMjhfU1JDTEtfTU9ERV9TRUxfTUFTSyAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZCSUYyOF9TUkNMS19NT0RFX1NFTF9TSElGVCAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZCSUYyOF9NT0RFX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVkJJRjI4X01PREVfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgNworI2RlZmluZSBNVDYzMjVfUkdfVkJJRjI4X1NUQlREX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19WQklGMjhfU1RCVERfU0hJRlQgICAgICAgICAgICAgICAgICAgICA4CisjZGVmaW5lIE1UNjMyNV9SR19WQklGMjhfU1JDTEtfRU5fU0VMX01BU0sgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZCSUYyOF9TUkNMS19FTl9TRUxfU0hJRlQgICAgICAgICAgICAgIDEyCisjZGVmaW5lIE1UNjMyNV9RSV9WQklGMjhfU1RCX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZCSUYyOF9TVEJfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDE0CisjZGVmaW5lIE1UNjMyNV9RSV9WQklGMjhfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZCSUYyOF9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgIDE1CisjZGVmaW5lIE1UNjMyNV9SR19WQ0FNQV9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDQU1BX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDQU1BX1NUQlREX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUkdfVkNBTUFfU1RCVERfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfUUlfVkNBTUFfU1RCX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9RSV9WQ0FNQV9TVEJfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAxNAorI2RlZmluZSBNVDYzMjVfUUlfVkNBTUFfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9RSV9WQ0FNQV9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAxNQorI2RlZmluZSBNVDYzMjVfUkdfVkNOMjhfTU9ERV9TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WQ04yOF9NT0RFX1NFVF9TSElGVCAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19WQ04yOF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDTjI4X0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDTjI4X01PREVfQ1RSTF9NQVNLICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVkNOMjhfTU9ERV9DVFJMX1NISUZUICAgICAgICAgICAgICAgICAgMgorI2RlZmluZSBNVDYzMjVfUkdfVkNOMjhfT05fQ1RSTF9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WQ04yOF9PTl9DVFJMX1NISUZUICAgICAgICAgICAgICAgICAgICAzCisjZGVmaW5lIE1UNjMyNV9SR19WQ04yOF9TUkNMS19NT0RFX1NFTF9NQVNLICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDTjI4X1NSQ0xLX01PREVfU0VMX1NISUZUICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZDTjI4X01PREVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVkNOMjhfTU9ERV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgNworI2RlZmluZSBNVDYzMjVfUkdfVkNOMjhfU1RCVERfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19WQ04yOF9TVEJURF9TSElGVCAgICAgICAgICAgICAgICAgICAgICA4CisjZGVmaW5lIE1UNjMyNV9SR19WQ04yOF9TUkNMS19FTl9TRUxfTUFTSyAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDTjI4X1NSQ0xLX0VOX1NFTF9TSElGVCAgICAgICAgICAgICAgIDEyCisjZGVmaW5lIE1UNjMyNV9RSV9WQ04yOF9TVEJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZDTjI4X1NUQl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgIDE0CisjZGVmaW5lIE1UNjMyNV9RSV9WQ04yOF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZDTjI4X0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgIDE1CisjZGVmaW5lIE1UNjMyNV9SR19WQ04zM19NT0RFX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDTjMzX01PREVfU0VUX1NISUZUICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDTjMzX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVkNOMzNfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBNVDYzMjVfUkdfVkNOMzNfTU9ERV9DVFJMX01BU0sgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WQ04zM19NT0RFX0NUUkxfU0hJRlQgICAgICAgICAgICAgICAgICAyCisjZGVmaW5lIE1UNjMyNV9SR19WQ04zM19PTl9DVFJMX01BU0sgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDTjMzX09OX0NUUkxfU0hJRlQgICAgICAgICAgICAgICAgICAgIDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDTjMzX1NSQ0xLX01PREVfU0VMX01BU0sgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUkdfVkNOMzNfU1JDTEtfTU9ERV9TRUxfU0hJRlQgICAgICAgICAgICAgNAorI2RlZmluZSBNVDYzMjVfUUlfVkNOMzNfTU9ERV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9RSV9WQ04zM19NT0RFX1NISUZUICAgICAgICAgICAgICAgICAgICAgICA3CisjZGVmaW5lIE1UNjMyNV9SR19WQ04zM19TVEJURF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDTjMzX1NUQlREX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDTjMzX1NSQ0xLX0VOX1NFTF9NQVNLICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUkdfVkNOMzNfU1JDTEtfRU5fU0VMX1NISUZUICAgICAgICAgICAgICAgMTIKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZDTjMzX1NUQl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVkNOMzNfU1RCX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgMTQKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZDTjMzX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVkNOMzNfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgMTUKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZSRjE4XzFfTU9ERV9TRVRfTUFTSyAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVlJGMThfMV9NT0RFX1NFVF9TSElGVCAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfVlJGMThfMV9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WUkYxOF8xX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9SR19WUkYxOF8xX01PREVfQ1RSTF9NQVNLICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZSRjE4XzFfTU9ERV9DVFJMX1NISUZUICAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZSRjE4XzFfT05fQ1RSTF9NQVNLICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVlJGMThfMV9PTl9DVFJMX1NISUZUICAgICAgICAgICAgICAgICAgMworI2RlZmluZSBNVDYzMjVfUkdfVlJGMThfMV9TUkNMS19NT0RFX1NFTF9NQVNLICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19WUkYxOF8xX1NSQ0xLX01PREVfU0VMX1NISUZUICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9RSV9WUkYxOF8xX01PREVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZSRjE4XzFfTU9ERV9TSElGVCAgICAgICAgICAgICAgICAgICAgIDcKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZSRjE4XzFfU1RCVERfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUkdfVlJGMThfMV9TVEJURF9TSElGVCAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfUkdfVlJGMThfMV9TUkNMS19FTl9TRUxfTUFTSyAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19WUkYxOF8xX1NSQ0xLX0VOX1NFTF9TSElGVCAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfUUlfVlJGMThfMV9TVEJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9RSV9WUkYxOF8xX1NUQl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAxNAorI2RlZmluZSBNVDYzMjVfUUlfVlJGMThfMV9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9RSV9WUkYxOF8xX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAxNQorI2RlZmluZSBNVDYzMjVfUkdfVlVTQjMzX01PREVfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WVVNCMzNfTU9ERV9TRVRfU0hJRlQgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19WVVNCMzNfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZVU0IzM19FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZVU0IzM19NT0RFX0NUUkxfTUFTSyAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVlVTQjMzX01PREVfQ1RSTF9TSElGVCAgICAgICAgICAgICAgICAgMgorI2RlZmluZSBNVDYzMjVfUkdfVlVTQjMzX09OX0NUUkxfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WVVNCMzNfT05fQ1RSTF9TSElGVCAgICAgICAgICAgICAgICAgICAzCisjZGVmaW5lIE1UNjMyNV9SR19WVVNCMzNfU1JDTEtfTU9ERV9TRUxfTUFTSyAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZVU0IzM19TUkNMS19NT0RFX1NFTF9TSElGVCAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZVU0IzM19NT0RFX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVlVTQjMzX01PREVfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgNworI2RlZmluZSBNVDYzMjVfUkdfVlVTQjMzX1NUQlREX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19WVVNCMzNfU1RCVERfU0hJRlQgICAgICAgICAgICAgICAgICAgICA4CisjZGVmaW5lIE1UNjMyNV9SR19WVVNCMzNfU1JDTEtfRU5fU0VMX01BU0sgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZVU0IzM19TUkNMS19FTl9TRUxfU0hJRlQgICAgICAgICAgICAgIDEyCisjZGVmaW5lIE1UNjMyNV9RSV9WVVNCMzNfU1RCX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZVU0IzM19TVEJfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDE0CisjZGVmaW5lIE1UNjMyNV9RSV9WVVNCMzNfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZVU0IzM19FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgIDE1CisjZGVmaW5lIE1UNjMyNV9SR19WTUNIX01PREVfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZNQ0hfTU9ERV9TRVRfU0hJRlQgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZNQ0hfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVk1DSF9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBNVDYzMjVfUkdfVk1DSF9NT0RFX0NUUkxfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WTUNIX01PREVfQ1RSTF9TSElGVCAgICAgICAgICAgICAgICAgICAyCisjZGVmaW5lIE1UNjMyNV9SR19WTUNIX09OX0NUUkxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZNQ0hfT05fQ1RSTF9TSElGVCAgICAgICAgICAgICAgICAgICAgIDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZNQ0hfU1JDTEtfTU9ERV9TRUxfTUFTSyAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUkdfVk1DSF9TUkNMS19NT0RFX1NFTF9TSElGVCAgICAgICAgICAgICAgNAorI2RlZmluZSBNVDYzMjVfUUlfVk1DSF9NT0RFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9RSV9WTUNIX01PREVfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICA3CisjZGVmaW5lIE1UNjMyNV9SR19WTUNIX1NUQlREX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZNQ0hfU1RCVERfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZNQ0hfU1JDTEtfRU5fU0VMX01BU0sgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUkdfVk1DSF9TUkNMS19FTl9TRUxfU0hJRlQgICAgICAgICAgICAgICAgMTIKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZNQ0hfU1RCX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVk1DSF9TVEJfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgMTQKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZNQ0hfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVk1DSF9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgMTUKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZNQ19NT0RFX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVk1DX01PREVfU0VUX1NISUZUICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfVk1DX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WTUNfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9SR19WTUNfTU9ERV9DVFJMX01BU0sgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZNQ19NT0RFX0NUUkxfU0hJRlQgICAgICAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZNQ19PTl9DVFJMX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVk1DX09OX0NUUkxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgMworI2RlZmluZSBNVDYzMjVfUkdfVk1DX1NSQ0xLX01PREVfU0VMX01BU0sgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19WTUNfU1JDTEtfTU9ERV9TRUxfU0hJRlQgICAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9RSV9WTUNfSU5UX0RJU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZNQ19JTlRfRElTX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDYKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZNQ19NT0RFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVk1DX01PREVfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgNworI2RlZmluZSBNVDYzMjVfUkdfVk1DX1NUQlREX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19WTUNfU1RCVERfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICA4CisjZGVmaW5lIE1UNjMyNV9SR19WTUNfSU5UX0RJU19TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZNQ19JTlRfRElTX1NFTF9TSElGVCAgICAgICAgICAgICAgICAgIDEwCisjZGVmaW5lIE1UNjMyNV9SR19WTUNfU1JDTEtfRU5fU0VMX01BU0sgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZNQ19TUkNMS19FTl9TRUxfU0hJRlQgICAgICAgICAgICAgICAgIDEyCisjZGVmaW5lIE1UNjMyNV9RSV9WTUNfU1RCX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZNQ19TVEJfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgIDE0CisjZGVmaW5lIE1UNjMyNV9RSV9WTUNfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZNQ19FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgIDE1CisjZGVmaW5lIE1UNjMyNV9SR19WRU1DMzNfTU9ERV9TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZFTUMzM19NT0RFX1NFVF9TSElGVCAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZFTUMzM19FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVkVNQzMzX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBNVDYzMjVfUkdfVkVNQzMzX01PREVfQ1RSTF9NQVNLICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WRU1DMzNfTU9ERV9DVFJMX1NISUZUICAgICAgICAgICAgICAgICAyCisjZGVmaW5lIE1UNjMyNV9SR19WRU1DMzNfT05fQ1RSTF9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZFTUMzM19PTl9DVFJMX1NISUZUICAgICAgICAgICAgICAgICAgIDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZFTUMzM19TUkNMS19NT0RFX1NFTF9NQVNLICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUkdfVkVNQzMzX1NSQ0xLX01PREVfU0VMX1NISUZUICAgICAgICAgICAgNAorI2RlZmluZSBNVDYzMjVfUUlfVkVNQ18zVjNfTU9ERV9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9RSV9WRU1DXzNWM19NT0RFX1NISUZUICAgICAgICAgICAgICAgICAgICA3CisjZGVmaW5lIE1UNjMyNV9SR19WRU1DMzNfU1RCVERfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZFTUMzM19TVEJURF9TSElGVCAgICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZFTUMzM19TUkNMS19FTl9TRUxfTUFTSyAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUkdfVkVNQzMzX1NSQ0xLX0VOX1NFTF9TSElGVCAgICAgICAgICAgICAgMTIKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZFTUNfM1YzX1NUQl9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVkVNQ18zVjNfU1RCX1NISUZUICAgICAgICAgICAgICAgICAgICAgMTQKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZFTUNfM1YzX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVkVNQ18zVjNfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgMTUKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZJTzI4X01PREVfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVklPMjhfTU9ERV9TRVRfU0hJRlQgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfVklPMjhfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WSU8yOF9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9SR19WSU8yOF9NT0RFX0NUUkxfTUFTSyAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZJTzI4X01PREVfQ1RSTF9TSElGVCAgICAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZJTzI4X09OX0NUUkxfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVklPMjhfT05fQ1RSTF9TSElGVCAgICAgICAgICAgICAgICAgICAgMworI2RlZmluZSBNVDYzMjVfUkdfVklPMjhfU1JDTEtfTU9ERV9TRUxfTUFTSyAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19WSU8yOF9TUkNMS19NT0RFX1NFTF9TSElGVCAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9RSV9WSU8yOF9NT0RFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZJTzI4X01PREVfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDcKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZJTzI4X1NUQlREX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUkdfVklPMjhfU1RCVERfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfUkdfVklPMjhfU1JDTEtfRU5fU0VMX01BU0sgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19WSU8yOF9TUkNMS19FTl9TRUxfU0hJRlQgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfUUlfVklPMjhfU1RCX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9RSV9WSU8yOF9TVEJfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAxNAorI2RlZmluZSBNVDYzMjVfUUlfVklPMjhfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9RSV9WSU8yOF9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAxNQorI2RlZmluZSBNVDYzMjVfUkdfVkNBTV9BRl9NT0RFX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WQ0FNX0FGX01PREVfU0VUX1NISUZUICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19WQ0FNX0FGX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDQU1fQUZfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDQU1fQUZfTU9ERV9DVFJMX01BU0sgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVkNBTV9BRl9NT0RFX0NUUkxfU0hJRlQgICAgICAgICAgICAgICAgMgorI2RlZmluZSBNVDYzMjVfUkdfVkNBTV9BRl9PTl9DVFJMX01BU0sgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WQ0FNX0FGX09OX0NUUkxfU0hJRlQgICAgICAgICAgICAgICAgICAzCisjZGVmaW5lIE1UNjMyNV9SR19WQ0FNX0FGX1NSQ0xLX01PREVfU0VMX01BU0sgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDQU1fQUZfU1JDTEtfTU9ERV9TRUxfU0hJRlQgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZDQU1BRl9NT0RFX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVkNBTUFGX01PREVfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgNworI2RlZmluZSBNVDYzMjVfUkdfVkNBTV9BRl9TVEJURF9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19WQ0FNX0FGX1NUQlREX1NISUZUICAgICAgICAgICAgICAgICAgICA4CisjZGVmaW5lIE1UNjMyNV9SR19WQ0FNX0FGX1NSQ0xLX0VOX1NFTF9NQVNLICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDQU1fQUZfU1JDTEtfRU5fU0VMX1NISUZUICAgICAgICAgICAgIDEyCisjZGVmaW5lIE1UNjMyNV9RSV9WQ0FNQUZfU1RCX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZDQU1BRl9TVEJfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDE0CisjZGVmaW5lIE1UNjMyNV9RSV9WQ0FNQUZfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZDQU1BRl9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgIDE1CisjZGVmaW5lIE1UNjMyNV9SR19WR1AxX01PREVfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZHUDFfTU9ERV9TRVRfU0hJRlQgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZHUDFfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVkdQMV9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBNVDYzMjVfUkdfVkdQMV9NT0RFX0NUUkxfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WR1AxX01PREVfQ1RSTF9TSElGVCAgICAgICAgICAgICAgICAgICAyCisjZGVmaW5lIE1UNjMyNV9SR19WR1AxX09OX0NUUkxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZHUDFfT05fQ1RSTF9TSElGVCAgICAgICAgICAgICAgICAgICAgIDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZHUDFfU1JDTEtfTU9ERV9TRUxfTUFTSyAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUkdfVkdQMV9TUkNMS19NT0RFX1NFTF9TSElGVCAgICAgICAgICAgICAgNAorI2RlZmluZSBNVDYzMjVfUUlfVkdQMV9NT0RFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9RSV9WR1AxX01PREVfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICA3CisjZGVmaW5lIE1UNjMyNV9SR19WR1AxX1NUQlREX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZHUDFfU1RCVERfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZHUDFfU1JDTEtfRU5fU0VMX01BU0sgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUkdfVkdQMV9TUkNMS19FTl9TRUxfU0hJRlQgICAgICAgICAgICAgICAgMTIKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZHUDFfU1RCX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVkdQMV9TVEJfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgMTQKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZHUDFfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVkdQMV9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgMTUKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZFRlVTRV9NT0RFX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVkVGVVNFX01PREVfU0VUX1NISUZUICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfVkVGVVNFX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WRUZVU0VfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9SR19WRUZVU0VfTU9ERV9DVFJMX01BU0sgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZFRlVTRV9NT0RFX0NUUkxfU0hJRlQgICAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZFRlVTRV9PTl9DVFJMX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVkVGVVNFX09OX0NUUkxfU0hJRlQgICAgICAgICAgICAgICAgICAgMworI2RlZmluZSBNVDYzMjVfUkdfVkVGVVNFX1NSQ0xLX01PREVfU0VMX01BU0sgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19WRUZVU0VfU1JDTEtfTU9ERV9TRUxfU0hJRlQgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9RSV9WRUZVU0VfTU9ERV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZFRlVTRV9NT0RFX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDcKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZFRlVTRV9TVEJURF9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUkdfVkVGVVNFX1NUQlREX1NISUZUICAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfUkdfVkVGVVNFX1NSQ0xLX0VOX1NFTF9NQVNLICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19WRUZVU0VfU1JDTEtfRU5fU0VMX1NISUZUICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfUUlfVkVGVVNFX1NUQl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9RSV9WRUZVU0VfU1RCX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAxNAorI2RlZmluZSBNVDYzMjVfUUlfVkVGVVNFX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9RSV9WRUZVU0VfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAxNQorI2RlZmluZSBNVDYzMjVfUkdfVlNJTTFfTU9ERV9TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WU0lNMV9NT0RFX1NFVF9TSElGVCAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19WU0lNMV9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZTSU0xX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZTSU0xX01PREVfQ1RSTF9NQVNLICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVlNJTTFfTU9ERV9DVFJMX1NISUZUICAgICAgICAgICAgICAgICAgMgorI2RlZmluZSBNVDYzMjVfUkdfVlNJTTFfT05fQ1RSTF9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WU0lNMV9PTl9DVFJMX1NISUZUICAgICAgICAgICAgICAgICAgICAzCisjZGVmaW5lIE1UNjMyNV9SR19WU0lNMV9TUkNMS19NT0RFX1NFTF9NQVNLICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZTSU0xX1NSQ0xLX01PREVfU0VMX1NISUZUICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZTSU0xX01PREVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVlNJTTFfTU9ERV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgNworI2RlZmluZSBNVDYzMjVfUkdfVlNJTTFfU1RCVERfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19WU0lNMV9TVEJURF9TSElGVCAgICAgICAgICAgICAgICAgICAgICA4CisjZGVmaW5lIE1UNjMyNV9SR19WU0lNMV9TUkNMS19FTl9TRUxfTUFTSyAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZTSU0xX1NSQ0xLX0VOX1NFTF9TSElGVCAgICAgICAgICAgICAgIDEyCisjZGVmaW5lIE1UNjMyNV9RSV9WU0lNMV9TVEJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZTSU0xX1NUQl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgIDE0CisjZGVmaW5lIE1UNjMyNV9RSV9WU0lNMV9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZTSU0xX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgIDE1CisjZGVmaW5lIE1UNjMyNV9SR19WU0lNMl9NT0RFX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZTSU0yX01PREVfU0VUX1NISUZUICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZTSU0yX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVlNJTTJfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBNVDYzMjVfUkdfVlNJTTJfTU9ERV9DVFJMX01BU0sgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WU0lNMl9NT0RFX0NUUkxfU0hJRlQgICAgICAgICAgICAgICAgICAyCisjZGVmaW5lIE1UNjMyNV9SR19WU0lNMl9PTl9DVFJMX01BU0sgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZTSU0yX09OX0NUUkxfU0hJRlQgICAgICAgICAgICAgICAgICAgIDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZTSU0yX1NSQ0xLX01PREVfU0VMX01BU0sgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUkdfVlNJTTJfU1JDTEtfTU9ERV9TRUxfU0hJRlQgICAgICAgICAgICAgNAorI2RlZmluZSBNVDYzMjVfUUlfVlNJTTJfTU9ERV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9RSV9WU0lNMl9NT0RFX1NISUZUICAgICAgICAgICAgICAgICAgICAgICA3CisjZGVmaW5lIE1UNjMyNV9SR19WU0lNMl9TVEJURF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZTSU0yX1NUQlREX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZTSU0yX1NSQ0xLX0VOX1NFTF9NQVNLICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUkdfVlNJTTJfU1JDTEtfRU5fU0VMX1NISUZUICAgICAgICAgICAgICAgMTIKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZTSU0yX1NUQl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVlNJTTJfU1RCX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgMTQKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZTSU0yX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVlNJTTJfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgMTUKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZNSVBJX01PREVfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVk1JUElfTU9ERV9TRVRfU0hJRlQgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfVk1JUElfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WTUlQSV9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9SR19WTUlQSV9NT0RFX0NUUkxfTUFTSyAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZNSVBJX01PREVfQ1RSTF9TSElGVCAgICAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZNSVBJX09OX0NUUkxfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVk1JUElfT05fQ1RSTF9TSElGVCAgICAgICAgICAgICAgICAgICAgMworI2RlZmluZSBNVDYzMjVfUkdfVk1JUElfU1JDTEtfTU9ERV9TRUxfTUFTSyAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19WTUlQSV9TUkNMS19NT0RFX1NFTF9TSElGVCAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9RSV9WTUlQSV9NT0RFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZNSVBJX01PREVfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDcKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZNSVBJX1NUQlREX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUkdfVk1JUElfU1RCVERfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfUkdfVk1JUElfU1JDTEtfRU5fU0VMX01BU0sgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19WTUlQSV9TUkNMS19FTl9TRUxfU0hJRlQgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfUUlfVk1JUElfU1RCX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9RSV9WTUlQSV9TVEJfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAxNAorI2RlZmluZSBNVDYzMjVfUUlfVk1JUElfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9RSV9WTUlQSV9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAxNQorI2RlZmluZSBNVDYzMjVfUkdfVklCUl9USEVSX1NIRU5fRU5fTUFTSyAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WSUJSX1RIRVJfU0hFTl9FTl9TSElGVCAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19WSUJSX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZJQlJfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZJQlJfU1dfTU9ERV9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVklCUl9TV19NT0RFX1NISUZUICAgICAgICAgICAgICAgICAgICAgMworI2RlZmluZSBNVDYzMjVfUkdfVklCUl9GUl9PUklfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19WSUJSX0ZSX09SSV9TSElGVCAgICAgICAgICAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9SR19WSUJSX01TVF9USU1FX01BU0sgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZJQlJfTVNUX1RJTUVfU0hJRlQgICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZJQlJfTUlEX1NUQVRFX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUkdfVklCUl9NSURfU1RBVEVfU0hJRlQgICAgICAgICAgICAgICAgICAgMTAKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZJQlJfRlJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUUlfVklCUl9GUl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgMTIKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZJQlJfUFdEQl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVklCUl9QV0RCX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgMTUKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDTjE4X01PREVfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVkNOMThfTU9ERV9TRVRfU0hJRlQgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfVkNOMThfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WQ04xOF9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9SR19WQ04xOF9NT0RFX0NUUkxfTUFTSyAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDTjE4X01PREVfQ1RSTF9TSElGVCAgICAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDTjE4X09OX0NUUkxfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVkNOMThfT05fQ1RSTF9TSElGVCAgICAgICAgICAgICAgICAgICAgMworI2RlZmluZSBNVDYzMjVfUkdfVkNOMThfU1JDTEtfTU9ERV9TRUxfTUFTSyAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19WQ04xOF9TUkNMS19NT0RFX1NFTF9TSElGVCAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9RSV9WQ04xOF9NT0RFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZDTjE4X01PREVfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDcKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDTjE4X1NUQlREX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUkdfVkNOMThfU1RCVERfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfUkdfVkNOMThfU1JDTEtfRU5fU0VMX01BU0sgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19WQ04xOF9TUkNMS19FTl9TRUxfU0hJRlQgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfUUlfVkNOMThfU1RCX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9RSV9WQ04xOF9TVEJfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAxNAorI2RlZmluZSBNVDYzMjVfUUlfVkNOMThfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9RSV9WQ04xOF9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAxNQorI2RlZmluZSBNVDYzMjVfTklfVkRJRzE4X1ZPU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHg3CisjZGVmaW5lIE1UNjMyNV9OSV9WRElHMThfVk9TRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19WRElHMThfU1JDTEtFTl9TRUxfTUFTSyAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZESUcxOF9TUkNMS0VOX1NFTF9TSElGVCAgICAgICAgICAgICAgIDcKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZESUcxOF9TTEVFUF9WT1NFTF9NQVNLICAgICAgICAgICAgICAgIDB4NworI2RlZmluZSBNVDYzMjVfUkdfVkRJRzE4X1NMRUVQX1ZPU0VMX1NISUZUICAgICAgICAgICAgICAgOQorI2RlZmluZSBNVDYzMjVfUkdfVkRJRzE4X1ZPU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHg3CisjZGVmaW5lIE1UNjMyNV9SR19WRElHMThfVk9TRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfUkdfVkRJRzE4X1ZPU0VMX0NUUkxfTUFTSyAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WRElHMThfVk9TRUxfQ1RSTF9TSElGVCAgICAgICAgICAgICAgICAxNQorI2RlZmluZSBNVDYzMjVfUkdfVkdQMl9NT0RFX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WR1AyX01PREVfU0VUX1NISUZUICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19WR1AyX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZHUDJfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZHUDJfTU9ERV9DVFJMX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVkdQMl9NT0RFX0NUUkxfU0hJRlQgICAgICAgICAgICAgICAgICAgMgorI2RlZmluZSBNVDYzMjVfUkdfVkdQMl9PTl9DVFJMX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WR1AyX09OX0NUUkxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAzCisjZGVmaW5lIE1UNjMyNV9SR19WR1AyX1NSQ0xLX01PREVfU0VMX01BU0sgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZHUDJfU1JDTEtfTU9ERV9TRUxfU0hJRlQgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZHUDJfTU9ERV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVkdQMl9NT0RFX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgNworI2RlZmluZSBNVDYzMjVfUkdfVkdQMl9TVEJURF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19WR1AyX1NUQlREX1NISUZUICAgICAgICAgICAgICAgICAgICAgICA4CisjZGVmaW5lIE1UNjMyNV9SR19WR1AyX1NSQ0xLX0VOX1NFTF9NQVNLICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZHUDJfU1JDTEtfRU5fU0VMX1NISUZUICAgICAgICAgICAgICAgIDEyCisjZGVmaW5lIE1UNjMyNV9RSV9WR1AyX1NUQl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZHUDJfU1RCX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgIDE0CisjZGVmaW5lIE1UNjMyNV9RSV9WR1AyX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZHUDJfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgIDE1CisjZGVmaW5lIE1UNjMyNV9SR19WQ0FNRF9NT0RFX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDQU1EX01PREVfU0VUX1NISUZUICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDQU1EX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVkNBTURfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBNVDYzMjVfUkdfVkNBTURfTU9ERV9DVFJMX01BU0sgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WQ0FNRF9NT0RFX0NUUkxfU0hJRlQgICAgICAgICAgICAgICAgICAyCisjZGVmaW5lIE1UNjMyNV9SR19WQ0FNRF9PTl9DVFJMX01BU0sgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDQU1EX09OX0NUUkxfU0hJRlQgICAgICAgICAgICAgICAgICAgIDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDQU1EX1NSQ0xLX01PREVfU0VMX01BU0sgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUkdfVkNBTURfU1JDTEtfTU9ERV9TRUxfU0hJRlQgICAgICAgICAgICAgNAorI2RlZmluZSBNVDYzMjVfUUlfVkNBTURfTU9ERV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9RSV9WQ0FNRF9NT0RFX1NISUZUICAgICAgICAgICAgICAgICAgICAgICA3CisjZGVmaW5lIE1UNjMyNV9SR19WQ0FNRF9TVEJURF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDQU1EX1NUQlREX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDQU1EX1NSQ0xLX0VOX1NFTF9NQVNLICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUkdfVkNBTURfU1JDTEtfRU5fU0VMX1NISUZUICAgICAgICAgICAgICAgMTIKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZDQU1EX1NUQl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVkNBTURfU1RCX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgMTQKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZDQU1EX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVkNBTURfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgMTUKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDQU1fSU9fTU9ERV9TRVRfTUFTSyAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVkNBTV9JT19NT0RFX1NFVF9TSElGVCAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfVkNBTV9JT19FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WQ0FNX0lPX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9SR19WQ0FNX0lPX01PREVfQ1RSTF9NQVNLICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDQU1fSU9fTU9ERV9DVFJMX1NISUZUICAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDQU1fSU9fT05fQ1RSTF9NQVNLICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVkNBTV9JT19PTl9DVFJMX1NISUZUICAgICAgICAgICAgICAgICAgMworI2RlZmluZSBNVDYzMjVfUkdfVkNBTV9JT19TUkNMS19NT0RFX1NFTF9NQVNLICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19WQ0FNX0lPX1NSQ0xLX01PREVfU0VMX1NISUZUICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9RSV9WQ0FNSU9fTU9ERV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZDQU1JT19NT0RFX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDcKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDQU1fSU9fU1RCVERfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUkdfVkNBTV9JT19TVEJURF9TSElGVCAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfUkdfVkNBTV9JT19TUkNMS19FTl9TRUxfTUFTSyAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19WQ0FNX0lPX1NSQ0xLX0VOX1NFTF9TSElGVCAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfUUlfVkNBTUlPX1NUQl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9RSV9WQ0FNSU9fU1RCX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAxNAorI2RlZmluZSBNVDYzMjVfUUlfVkNBTUlPX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9RSV9WQ0FNSU9fRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAxNQorI2RlZmluZSBNVDYzMjVfUkdfVlNSQU1fRFZGUzFfTU9ERV9TRVRfTUFTSyAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WU1JBTV9EVkZTMV9NT0RFX1NFVF9TSElGVCAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19WU1JBTV9EVkZTMV9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZTUkFNX0RWRlMxX0VOX1NISUZUICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZTUkFNX0RWRlMxX01PREVfQ1RSTF9NQVNLICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVlNSQU1fRFZGUzFfTU9ERV9DVFJMX1NISUZUICAgICAgICAgICAgMgorI2RlZmluZSBNVDYzMjVfUkdfVlNSQU1fRFZGUzFfT05fQ1RSTF9NQVNLICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WU1JBTV9EVkZTMV9PTl9DVFJMX1NISUZUICAgICAgICAgICAgICAzCisjZGVmaW5lIE1UNjMyNV9SR19WU1JBTV9EVkZTMV9TUkNMS19NT0RFX1NFTF9NQVNLICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZTUkFNX0RWRlMxX1NSQ0xLX01PREVfU0VMX1NISUZUICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZTUkFNX0RWRlMxX01PREVfTUFTSyAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVlNSQU1fRFZGUzFfTU9ERV9TSElGVCAgICAgICAgICAgICAgICAgNworI2RlZmluZSBNVDYzMjVfUkdfVlNSQU1fRFZGUzFfU1RCVERfTUFTSyAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19WU1JBTV9EVkZTMV9TVEJURF9TSElGVCAgICAgICAgICAgICAgICA4CisjZGVmaW5lIE1UNjMyNV9SR19WU1JBTV9EVkZTMV9TUkNMS19FTl9TRUxfTUFTSyAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZTUkFNX0RWRlMxX1NSQ0xLX0VOX1NFTF9TSElGVCAgICAgICAgIDEyCisjZGVmaW5lIE1UNjMyNV9RSV9WU1JBTV9EVkZTMV9TVEJfTUFTSyAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZTUkFNX0RWRlMxX1NUQl9TSElGVCAgICAgICAgICAgICAgICAgIDE0CisjZGVmaW5lIE1UNjMyNV9RSV9WU1JBTV9EVkZTMV9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZTUkFNX0RWRlMxX0VOX1NISUZUICAgICAgICAgICAgICAgICAgIDE1CisjZGVmaW5lIE1UNjMyNV9SR19WR1AzX01PREVfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZHUDNfTU9ERV9TRVRfU0hJRlQgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZHUDNfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVkdQM19FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBNVDYzMjVfUkdfVkdQM19NT0RFX0NUUkxfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WR1AzX01PREVfQ1RSTF9TSElGVCAgICAgICAgICAgICAgICAgICAyCisjZGVmaW5lIE1UNjMyNV9SR19WR1AzX09OX0NUUkxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZHUDNfT05fQ1RSTF9TSElGVCAgICAgICAgICAgICAgICAgICAgIDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZHUDNfU1JDTEtfTU9ERV9TRUxfTUFTSyAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUkdfVkdQM19TUkNMS19NT0RFX1NFTF9TSElGVCAgICAgICAgICAgICAgNAorI2RlZmluZSBNVDYzMjVfUUlfVkdQM19NT0RFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9RSV9WR1AzX01PREVfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICA3CisjZGVmaW5lIE1UNjMyNV9SR19WR1AzX1NUQlREX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZHUDNfU1RCVERfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZHUDNfU1JDTEtfRU5fU0VMX01BU0sgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUkdfVkdQM19TUkNMS19FTl9TRUxfU0hJRlQgICAgICAgICAgICAgICAgMTIKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZHUDNfU1RCX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVkdQM19TVEJfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgMTQKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZHUDNfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVkdQM19FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgMTUKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZCSUFTTl9NT0RFX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVkJJQVNOX01PREVfU0VUX1NISUZUICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfVkJJQVNOX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WQklBU05fRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9SR19WQklBU05fTU9ERV9DVFJMX01BU0sgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZCSUFTTl9NT0RFX0NUUkxfU0hJRlQgICAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZCSUFTTl9PTl9DVFJMX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVkJJQVNOX09OX0NUUkxfU0hJRlQgICAgICAgICAgICAgICAgICAgMworI2RlZmluZSBNVDYzMjVfUkdfVkJJQVNOX1NSQ0xLX01PREVfU0VMX01BU0sgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19WQklBU05fU1JDTEtfTU9ERV9TRUxfU0hJRlQgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9RSV9WQklBU05fTU9ERV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZCSUFTTl9NT0RFX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDcKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZCSUFTTl9TVEJURF9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUkdfVkJJQVNOX1NUQlREX1NISUZUICAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfUkdfVkJJQVNOX1NSQ0xLX0VOX1NFTF9NQVNLICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19WQklBU05fU1JDTEtfRU5fU0VMX1NISUZUICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfUUlfVkJJQVNOX1NUQl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9RSV9WQklBU05fU1RCX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAxNAorI2RlZmluZSBNVDYzMjVfUUlfVkJJQVNOX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9RSV9WQklBU05fRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAxNQorI2RlZmluZSBNVDYzMjVfUkdfVlJUQ19FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WUlRDX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9RSV9WUlRDX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZSVENfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgIDE1CisjZGVmaW5lIE1UNjMyNV9SR19WQklBU05fRElTX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZCSUFTTl9ESVNfU0VMX1NISUZUICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZCSUFTTl9UUkFOU19FTl9NQVNLICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVkJJQVNOX1RSQU5TX0VOX1NISUZUICAgICAgICAgICAgICAgICAgMgorI2RlZmluZSBNVDYzMjVfUkdfVkJJQVNOX1RSQU5TX0NUUkxfTUFTSyAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19WQklBU05fVFJBTlNfQ1RSTF9TSElGVCAgICAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9SR19WQklBU05fVFJBTlNfT05DRV9NQVNLICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZCSUFTTl9UUkFOU19PTkNFX1NISUZUICAgICAgICAgICAgICAgIDYKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZCSUFTTl9DSFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVkJJQVNOX0NIUl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgNworI2RlZmluZSBNVDYzMjVfUkdfVlRDWE8xX05ESVNfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WVENYTzFfTkRJU19FTl9TSElGVCAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19WVENYTzFfQ0FMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweEYKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZUQ1hPMV9DQUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZUQ1hPMF9ORElTX0VOX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVlRDWE8wX05ESVNfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfUkdfVlRDWE8wX0NBTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHhGCisjZGVmaW5lIE1UNjMyNV9SR19WVENYTzBfQ0FMX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfUkdfVkJJRjI4X05ESVNfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WQklGMjhfTkRJU19FTl9TSElGVCAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19WQklGMjhfQ0FMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweEYKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZCSUYyOF9DQUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZBVUQyOF9ORElTX0VOX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVkFVRDI4X05ESVNfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfUkdfVkFVRDI4X1NFTlNFX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WQVVEMjhfU0VOU0VfU0VMX1NISUZUICAgICAgICAgICAgICAgICA5CisjZGVmaW5lIE1UNjMyNV9SR19WQVVEMjhfQ0FMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweEYKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZBVUQyOF9DQUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDEyCisjZGVmaW5lIE1UNjMyNV9SR19WQ0FNQV9ORElTX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDQU1BX05ESVNfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDQU1BX1ZPU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUkdfVkNBTUFfVk9TRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBNVDYzMjVfUkdfVkNBTUFfQ0FMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHhGCisjZGVmaW5lIE1UNjMyNV9SR19WQ0FNQV9DQUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9SR19WQVVYQTI4X05ESVNfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZBVVhBMjhfTkRJU19FTl9TSElGVCAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZBVVhBMjhfU0VOU0VfU0VMX01BU0sgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVkFVWEEyOF9TRU5TRV9TRUxfU0hJRlQgICAgICAgICAgICAgICAgOQorI2RlZmluZSBNVDYzMjVfUkdfVkFVWEEyOF9DQUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHhGCisjZGVmaW5lIE1UNjMyNV9SR19WQVVYQTI4X0NBTF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfUkdfVkNOMzNfTkRJU19FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WQ04zM19ORElTX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19WQ04zM19WT1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDTjMzX1ZPU0VMX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDTjMzX0NBTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgIDB4RgorI2RlZmluZSBNVDYzMjVfUkdfVkNOMzNfQ0FMX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgNAorI2RlZmluZSBNVDYzMjVfUkdfVkNOMjhfTkRJU19FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WQ04yOF9ORElTX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICA4CisjZGVmaW5lIE1UNjMyNV9SR19WQ04yOF9DQUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAweEYKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDTjI4X0NBTF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgIDEyCisjZGVmaW5lIE1UNjMyNV9SR19WVVNCMzNfTkRJU19FTl9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZVU0IzM19ORElTX0VOX1NISUZUICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZVU0IzM19DQUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4RgorI2RlZmluZSBNVDYzMjVfUkdfVlVTQjMzX0NBTF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgNAorI2RlZmluZSBNVDYzMjVfUkdfVlJGMThfMV9ORElTX0VOX01BU0sgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WUkYxOF8xX05ESVNfRU5fU0hJRlQgICAgICAgICAgICAgICAgICA4CisjZGVmaW5lIE1UNjMyNV9SR19WUkYxOF8xX1ZPU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZSRjE4XzFfVk9TRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgIDkKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZSRjE4XzFfQ0FMX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4RgorI2RlZmluZSBNVDYzMjVfUkdfVlJGMThfMV9DQUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgMTIKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZNQ19ORElTX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVk1DX05ESVNfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfVk1DX1ZPU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WTUNfVk9TRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9SR19WTUNfU1RCX0NBTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZNQ19TVEJfQ0FMX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZNQ19DQUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RgorI2RlZmluZSBNVDYzMjVfUkdfVk1DX0NBTF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgNAorI2RlZmluZSBNVDYzMjVfUkdfVk1DSF9ORElTX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WTUNIX05ESVNfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICA4CisjZGVmaW5lIE1UNjMyNV9SR19WTUNIX1ZPU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZNQ0hfVk9TRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDkKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZNQ0hfREJfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVk1DSF9EQl9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgMTAKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZNQ0hfU1RCX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVk1DSF9TVEJfU0VMX1NISUZUICAgICAgICAgICAgICAgICAgICAgMTEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZNQ0hfQ0FMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RgorI2RlZmluZSBNVDYzMjVfUkdfVk1DSF9DQUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgMTIKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZFTUNfM1YzX1NUQl9DQUxfTUFTSyAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUkdfVkVNQ18zVjNfU1RCX0NBTF9TSElGVCAgICAgICAgICAgICAgICAgNAorI2RlZmluZSBNVDYzMjVfUkdfVkVNQ18zVjNfTkRJU19FTl9NQVNLICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WRU1DXzNWM19ORElTX0VOX1NISUZUICAgICAgICAgICAgICAgICA4CisjZGVmaW5lIE1UNjMyNV9SR19WRU1DXzNWM19WT1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZFTUNfM1YzX1ZPU0VMX1NISUZUICAgICAgICAgICAgICAgICAgIDkKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZFTUNfM1YzX0RMX0VOX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVkVNQ18zVjNfRExfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgMTAKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZFTUNfM1YzX0NBTF9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4RgorI2RlZmluZSBNVDYzMjVfUkdfVkVNQ18zVjNfQ0FMX1NISUZUICAgICAgICAgICAgICAgICAgICAgMTIKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDQU1BRl9ORElTX0VOX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVkNBTUFGX05ESVNfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfVkNBTUFGX1ZPU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHg3CisjZGVmaW5lIE1UNjMyNV9SR19WQ0FNQUZfVk9TRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9SR19WQ0FNQUZfQ0FMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweEYKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDQU1BRl9DQUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZJTzI4X05ESVNfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVklPMjhfTkRJU19FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfUkdfVklPMjhfQ0FMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHhGCisjZGVmaW5lIE1UNjMyNV9SR19WSU8yOF9DQUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfUkdfVkdQMl9ORElTX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WR1AyX05ESVNfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19WR1AyX1ZPU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZHUDJfVk9TRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZHUDJfQ0FMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RgorI2RlZmluZSBNVDYzMjVfUkdfVkdQMl9DQUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgNAorI2RlZmluZSBNVDYzMjVfUkdfVkdQMV9ORElTX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WR1AxX05ESVNfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICA4CisjZGVmaW5lIE1UNjMyNV9SR19WR1AxX1ZPU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDcKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZHUDFfVk9TRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDkKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZHUDFfQ0FMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RgorI2RlZmluZSBNVDYzMjVfUkdfVkdQMV9DQUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgMTIKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZTSU0yX05ESVNfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVlNJTTJfTkRJU19FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfVlNJTTJfVk9TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHg3CisjZGVmaW5lIE1UNjMyNV9SR19WU0lNMl9WT1NFTF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9SR19WU0lNMl9DQUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAweEYKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZTSU0yX0NBTF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZTSU0xX05ESVNfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVlNJTTFfTkRJU19FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfUkdfVlNJTTFfVk9TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHg3CisjZGVmaW5lIE1UNjMyNV9SR19WU0lNMV9WT1NFTF9TSElGVCAgICAgICAgICAgICAgICAgICAgICA5CisjZGVmaW5lIE1UNjMyNV9SR19WU0lNMV9DQUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAweEYKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZTSU0xX0NBTF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgIDEyCisjZGVmaW5lIE1UNjMyNV9SR19WSUJSX1ZPU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDcKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZJQlJfVk9TRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZJQlJfVk9DQUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4RgorI2RlZmluZSBNVDYzMjVfUkdfVklCUl9WT0NBTF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgNAorI2RlZmluZSBNVDYzMjVfUkdfVk1JUElfTkRJU19FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WTUlQSV9ORElTX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICA4CisjZGVmaW5lIE1UNjMyNV9SR19WTUlQSV9WT1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZNSVBJX1ZPU0VMX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDkKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZNSVBJX0NBTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgIDB4RgorI2RlZmluZSBNVDYzMjVfUkdfVk1JUElfQ0FMX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgMTIKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZFRlVTRV9ORElTX0VOX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVkVGVVNFX05ESVNfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfVkVGVVNFX1ZPU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHg3CisjZGVmaW5lIE1UNjMyNV9SR19WRUZVU0VfVk9TRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9SR19WRUZVU0VfQ0FMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweEYKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZFRlVTRV9DQUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDTjE4X05ESVNfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVkNOMThfTkRJU19FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfUkdfVkNOMThfVk9TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHg3CisjZGVmaW5lIE1UNjMyNV9SR19WQ04xOF9WT1NFTF9TSElGVCAgICAgICAgICAgICAgICAgICAgICA5CisjZGVmaW5lIE1UNjMyNV9SR19WQ04xOF9DQUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAweEYKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDTjE4X0NBTF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgIDEyCisjZGVmaW5lIE1UNjMyNV9SR19WQ0FNRF9ORElTX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDQU1EX05ESVNfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDQU1EX1ZPU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4NworI2RlZmluZSBNVDYzMjVfUkdfVkNBTURfVk9TRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBNVDYzMjVfUkdfVkNBTURfQ0FMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHhGCisjZGVmaW5lIE1UNjMyNV9SR19WQ0FNRF9DQUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9SR19WQ0FNSU9fTkRJU19FTl9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDQU1JT19ORElTX0VOX1NISUZUICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDQU1JT19WT1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4NworI2RlZmluZSBNVDYzMjVfUkdfVkNBTUlPX1ZPU0VMX1NISUZUICAgICAgICAgICAgICAgICAgICAgOQorI2RlZmluZSBNVDYzMjVfUkdfVkNBTUlPX0NBTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHhGCisjZGVmaW5lIE1UNjMyNV9SR19WQ0FNSU9fQ0FMX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfUkdfVlNSQU1fRFZGUzFfTkRJU19FTl9NQVNLICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WU1JBTV9EVkZTMV9ORElTX0VOX1NISUZUICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19WU1JBTV9EVkZTMV9ORElTX1BMQ1VSX01BU0sgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZTUkFNX0RWRlMxX05ESVNfUExDVVJfU0hJRlQgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZTUkFNX0RWRlMxX1ZPU0VMX01BU0sgICAgICAgICAgICAgICAgIDB4N0YKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZTUkFNX0RWRlMxX1ZPU0VMX1NISUZUICAgICAgICAgICAgICAgIDkKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZCSUFTTl9ORElTX0VOX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVkJJQVNOX05ESVNfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfVkJJQVNOX0NBTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHhGCisjZGVmaW5lIE1UNjMyNV9SR19WQklBU05fQ0FMX1NISUZUICAgICAgICAgICAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9SR19WR1AzX05ESVNfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZHUDNfTkRJU19FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZHUDNfVk9TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4NworI2RlZmluZSBNVDYzMjVfUkdfVkdQM19WT1NFTF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgOQorI2RlZmluZSBNVDYzMjVfUkdfVkdQM19DQUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgMHhGCisjZGVmaW5lIE1UNjMyNV9SR19WR1AzX0NBTF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfUkdfVkJJQVNOX1ZPU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgxRgorI2RlZmluZSBNVDYzMjVfUkdfVkJJQVNOX1ZPU0VMX1NISUZUICAgICAgICAgICAgICAgICAgICAgMTEKKyNkZWZpbmUgTVQ2MzI1X1JHX0RMRE9fMV9SU1ZfTF9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MUYKKyNkZWZpbmUgTVQ2MzI1X1JHX0RMRE9fMV9SU1ZfTF9TSElGVCAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX0xET19SU1YwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgIDB4M0YKKyNkZWZpbmUgTVQ2MzI1X1JHX0xET19SU1YwX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgIDUKKyNkZWZpbmUgTVQ2MzI1X1JHX0RMRE9fMV9SU1ZfSF9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MUYKKyNkZWZpbmUgTVQ2MzI1X1JHX0RMRE9fMV9SU1ZfSF9TSElGVCAgICAgICAgICAgICAgICAgICAgIDExCisjZGVmaW5lIE1UNjMyNV9SR19ETERPXzJfUlNWX0xfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDFGCisjZGVmaW5lIE1UNjMyNV9SR19ETERPXzJfUlNWX0xfU0hJRlQgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19MRE9fUlNWMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAweDNGCisjZGVmaW5lIE1UNjMyNV9SR19MRE9fUlNWMV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICA1CisjZGVmaW5lIE1UNjMyNV9SR19ETERPXzJfUlNWX0hfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDFGCisjZGVmaW5lIE1UNjMyNV9SR19ETERPXzJfUlNWX0hfU0hJRlQgICAgICAgICAgICAgICAgICAgICAxMQorI2RlZmluZSBNVDYzMjVfUkdfTERPX1JTVjNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgMHhGRgorI2RlZmluZSBNVDYzMjVfUkdfTERPX1JTVjNfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfU1lTTERPX1JTVkxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHg3CisjZGVmaW5lIE1UNjMyNV9SR19TWVNMRE9fUlNWTF9TSElGVCAgICAgICAgICAgICAgICAgICAgICA4CisjZGVmaW5lIE1UNjMyNV9SR19TWVNMRE9fUlNWX0hfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDcKKyNkZWZpbmUgTVQ2MzI1X1JHX1NZU0xET19SU1ZfSF9TSElGVCAgICAgICAgICAgICAgICAgICAgIDEyCisjZGVmaW5lIE1UNjMyNV9SR19BRExET19SU1ZfTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDFGCisjZGVmaW5lIE1UNjMyNV9SR19BRExET19SU1ZfTF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19MRE9fUlNWMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAweDNGCisjZGVmaW5lIE1UNjMyNV9SR19MRE9fUlNWMl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICA1CisjZGVmaW5lIE1UNjMyNV9SR19BRExET19SU1ZfSF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDFGCisjZGVmaW5lIE1UNjMyNV9SR19BRExET19SU1ZfSF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAxMQorI2RlZmluZSBNVDYzMjVfUkdfVk1DX09DRkJfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WTUNfT0NGQl9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19WSU8yOF9PQ0ZCX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZJTzI4X09DRkJfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZFTUMzM19PQ0ZCX0VOX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVkVNQzMzX09DRkJfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgMgorI2RlZmluZSBNVDYzMjVfUkdfVk1DSF9PQ0ZCX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WTUNIX09DRkJfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAzCisjZGVmaW5lIE1UNjMyNV9SR19WVVNCMzNfT0NGQl9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZVU0IzM19PQ0ZCX0VOX1NISUZUICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZSRjE4XzFfT0NGQl9FTl9NQVNLICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVlJGMThfMV9PQ0ZCX0VOX1NISUZUICAgICAgICAgICAgICAgICAgNQorI2RlZmluZSBNVDYzMjVfUkdfVkNOMzNfT0NGQl9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WQ04zM19PQ0ZCX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICA2CisjZGVmaW5lIE1UNjMyNV9SR19WQ04yOF9PQ0ZCX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDTjI4X09DRkJfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgIDcKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDQU1BX09DRkJfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVkNBTUFfT0NGQl9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfUkdfVkFVWEEyOF9PQ0ZCX0VOX01BU0sgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WQVVYQTI4X09DRkJfRU5fU0hJRlQgICAgICAgICAgICAgICAgICA5CisjZGVmaW5lIE1UNjMyNV9SR19WQklGMjhfT0NGQl9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZCSUYyOF9PQ0ZCX0VOX1NISUZUICAgICAgICAgICAgICAgICAgIDEwCisjZGVmaW5lIE1UNjMyNV9SR19WQVVEMjhfT0NGQl9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZBVUQyOF9PQ0ZCX0VOX1NISUZUICAgICAgICAgICAgICAgICAgIDExCisjZGVmaW5lIE1UNjMyNV9SR19WVENYTzFfT0NGQl9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZUQ1hPMV9PQ0ZCX0VOX1NISUZUICAgICAgICAgICAgICAgICAgIDEyCisjZGVmaW5lIE1UNjMyNV9SR19WVENYTzBfT0NGQl9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZUQ1hPMF9PQ0ZCX0VOX1NISUZUICAgICAgICAgICAgICAgICAgIDEzCisjZGVmaW5lIE1UNjMyNV9MRE9fREVHVERfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X0xET19ERUdURF9TRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDE0CisjZGVmaW5lIE1UNjMyNV9SR19WQklBU05fT0NGQl9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZCSUFTTl9PQ0ZCX0VOX1NISUZUICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZHUDNfT0NGQl9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVkdQM19PQ0ZCX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgMgorI2RlZmluZSBNVDYzMjVfUkdfVlNSQU1fRFZGUzFfT0NGQl9FTl9NQVNLICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WU1JBTV9EVkZTMV9PQ0ZCX0VOX1NISUZUICAgICAgICAgICAgICAzCisjZGVmaW5lIE1UNjMyNV9SR19WQ0FNX0lPX09DRkJfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDQU1fSU9fT0NGQl9FTl9TSElGVCAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDQU1EX09DRkJfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVkNBTURfT0NGQl9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgNQorI2RlZmluZSBNVDYzMjVfUkdfVkdQMl9PQ0ZCX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WR1AyX09DRkJfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICA2CisjZGVmaW5lIE1UNjMyNV9SR19WQ04xOF9PQ0ZCX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDTjE4X09DRkJfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgIDcKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZNSVBJX09DRkJfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVk1JUElfT0NGQl9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfUkdfVlNJTTJfT0NGQl9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WU0lNMl9PQ0ZCX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICA5CisjZGVmaW5lIE1UNjMyNV9SR19WU0lNMV9PQ0ZCX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZTSU0xX09DRkJfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgIDEwCisjZGVmaW5lIE1UNjMyNV9SR19WRUZVU0VfT0NGQl9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZFRlVTRV9PQ0ZCX0VOX1NISUZUICAgICAgICAgICAgICAgICAgIDExCisjZGVmaW5lIE1UNjMyNV9SR19WR1AxX09DRkJfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZHUDFfT0NGQl9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgIDEyCisjZGVmaW5lIE1UNjMyNV9SR19WQ0FNX0FGX09DRkJfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDQU1fQUZfT0NGQl9FTl9TSElGVCAgICAgICAgICAgICAgICAgIDEzCisjZGVmaW5lIE1UNjMyNV9RSV9WTUNfT0NGQl9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZNQ19PQ0ZCX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZJTzI4X09DRkJfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVklPMjhfT0NGQl9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBNVDYzMjVfUUlfVkVNQ18zVjNfT0NGQl9FTl9NQVNLICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9RSV9WRU1DXzNWM19PQ0ZCX0VOX1NISUZUICAgICAgICAgICAgICAgICAyCisjZGVmaW5lIE1UNjMyNV9RSV9WTUNIX09DRkJfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZNQ0hfT0NGQl9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgIDMKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZVU0IzM19PQ0ZCX0VOX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVlVTQjMzX09DRkJfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgNAorI2RlZmluZSBNVDYzMjVfUUlfVlJGMThfMV9PQ0ZCX0VOX01BU0sgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9RSV9WUkYxOF8xX09DRkJfRU5fU0hJRlQgICAgICAgICAgICAgICAgICA1CisjZGVmaW5lIE1UNjMyNV9RSV9WQ04zM19PQ0ZCX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZDTjMzX09DRkJfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgIDYKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZDTjI4X09DRkJfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVkNOMjhfT0NGQl9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgNworI2RlZmluZSBNVDYzMjVfUUlfVkNBTUFfT0NGQl9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9RSV9WQ0FNQV9PQ0ZCX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICA4CisjZGVmaW5lIE1UNjMyNV9RSV9WQVVYQTI4X09DRkJfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZBVVhBMjhfT0NGQl9FTl9TSElGVCAgICAgICAgICAgICAgICAgIDkKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZCSUYyOF9PQ0ZCX0VOX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVkJJRjI4X09DRkJfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgMTAKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZBVUQyOF9PQ0ZCX0VOX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVkFVRDI4X09DRkJfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgMTEKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZUQ1hPMV9PQ0ZCX0VOX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVlRDWE8xX09DRkJfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgMTIKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZUQ1hPMF9PQ0ZCX0VOX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVlRDWE8wX09DRkJfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgMTMKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZCSUFTTl9PQ0ZCX0VOX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVkJJQVNOX09DRkJfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBNVDYzMjVfUUlfVkdQM19PQ0ZCX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9RSV9WR1AzX09DRkJfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAyCisjZGVmaW5lIE1UNjMyNV9RSV9WU1JBTV9EVkZTMV9PQ0ZCX0VOX01BU0sgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZTUkFNX0RWRlMxX09DRkJfRU5fU0hJRlQgICAgICAgICAgICAgIDMKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZDQU1JT19PQ0ZCX0VOX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVkNBTUlPX09DRkJfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgNAorI2RlZmluZSBNVDYzMjVfUUlfVkNBTURfT0NGQl9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9RSV9WQ0FNRF9PQ0ZCX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICA1CisjZGVmaW5lIE1UNjMyNV9RSV9WR1AyX09DRkJfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZHUDJfT0NGQl9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgIDYKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZDTjE4X09DRkJfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVkNOMThfT0NGQl9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgNworI2RlZmluZSBNVDYzMjVfUUlfVk1JUElfT0NGQl9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9RSV9WTUlQSV9PQ0ZCX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICA4CisjZGVmaW5lIE1UNjMyNV9RSV9WU0lNMl9PQ0ZCX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZTSU0yX09DRkJfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgIDkKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZTSU0xX09DRkJfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVlNJTTFfT0NGQl9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgMTAKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZFRlVTRV9PQ0ZCX0VOX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVkVGVVNFX09DRkJfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgMTEKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZHUDFfT0NGQl9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVkdQMV9PQ0ZCX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgMTIKKyNkZWZpbmUgTVQ2MzI1X1FJX1ZDQU1BRl9PQ0ZCX0VOX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUUlfVkNBTUFGX09DRkJfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgMTMKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDQU1JT19FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVkNBTUlPX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfVkNBTUFGX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WQ0FNQUZfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9CSUZfQ09NTUFORF8wX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDdGRgorI2RlZmluZSBNVDYzMjVfQklGX0NPTU1BTkRfMF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfQklGX0NPTU1BTkRfMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHg3RkYKKyNkZWZpbmUgTVQ2MzI1X0JJRl9DT01NQU5EXzFfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X0JJRl9DT01NQU5EXzJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4N0ZGCisjZGVmaW5lIE1UNjMyNV9CSUZfQ09NTUFORF8yX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9CSUZfQ09NTUFORF8zX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDdGRgorI2RlZmluZSBNVDYzMjVfQklGX0NPTU1BTkRfM19TSElGVCAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfQklGX0NPTU1BTkRfNF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHg3RkYKKyNkZWZpbmUgTVQ2MzI1X0JJRl9DT01NQU5EXzRfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X0JJRl9DT01NQU5EXzVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4N0ZGCisjZGVmaW5lIE1UNjMyNV9CSUZfQ09NTUFORF81X1NISUZUICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9CSUZfQ09NTUFORF82X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDdGRgorI2RlZmluZSBNVDYzMjVfQklGX0NPTU1BTkRfNl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfQklGX0NPTU1BTkRfN19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHg3RkYKKyNkZWZpbmUgTVQ2MzI1X0JJRl9DT01NQU5EXzdfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X0JJRl9DT01NQU5EXzhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4N0ZGCisjZGVmaW5lIE1UNjMyNV9CSUZfQ09NTUFORF84X1NISUZUICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9CSUZfQ09NTUFORF85X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDdGRgorI2RlZmluZSBNVDYzMjVfQklGX0NPTU1BTkRfOV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfQklGX0NPTU1BTkRfMTBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHg3RkYKKyNkZWZpbmUgTVQ2MzI1X0JJRl9DT01NQU5EXzEwX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X0JJRl9DT01NQU5EXzExX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4N0ZGCisjZGVmaW5lIE1UNjMyNV9CSUZfQ09NTUFORF8xMV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9CSUZfQ09NTUFORF8xMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDdGRgorI2RlZmluZSBNVDYzMjVfQklGX0NPTU1BTkRfMTJfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfQklGX0NPTU1BTkRfMTNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHg3RkYKKyNkZWZpbmUgTVQ2MzI1X0JJRl9DT01NQU5EXzEzX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X0JJRl9DT01NQU5EXzE0X01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4N0ZGCisjZGVmaW5lIE1UNjMyNV9CSUZfQ09NTUFORF8xNF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9CSUZfUlNWX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDdGCisjZGVmaW5lIE1UNjMyNV9CSUZfUlNWX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9CSUZfQ09NTUFORF9UWVBFX01BU0sgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X0JJRl9DT01NQU5EX1RZUEVfU0hJRlQgICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X0JJRl9UUkFTRkVSX05VTV9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4RgorI2RlZmluZSBNVDYzMjVfQklGX1RSQVNGRVJfTlVNX1NISUZUICAgICAgICAgICAgICAgICAgICAgMTIKKyNkZWZpbmUgTVQ2MzI1X0JJRl9MT0dJQ18wX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4RgorI2RlZmluZSBNVDYzMjVfQklGX0xPR0lDXzBfU0VUX1NISUZUICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfQklGX0xPR0lDXzFfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgxRgorI2RlZmluZSBNVDYzMjVfQklGX0xPR0lDXzFfU0VUX1NISUZUICAgICAgICAgICAgICAgICAgICAgNAorI2RlZmluZSBNVDYzMjVfQklGX1NUT1BfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHgzRgorI2RlZmluZSBNVDYzMjVfQklGX1NUT1BfU0VUX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgMTAKKyNkZWZpbmUgTVQ2MzI1X0JJRl9ERUJPVU5DRV9XTkRfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfQklGX0RFQk9VTkNFX1dORF9TSElGVCAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfQklGX0RFQk9VTkNFX1RIRF9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9CSUZfREVCT1VOQ0VfVEhEX1NISUZUICAgICAgICAgICAgICAgICAgICAyCisjZGVmaW5lIE1UNjMyNV9CSUZfREVCT1VOQ0VfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0JJRl9ERUJPVU5DRV9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X0JJRl9SRUFEX0VYUEVDVF9OVU1fTUFTSyAgICAgICAgICAgICAgICAgIDB4RgorI2RlZmluZSBNVDYzMjVfQklGX1JFQURfRVhQRUNUX05VTV9TSElGVCAgICAgICAgICAgICAgICAgMTIKKyNkZWZpbmUgTVQ2MzI1X0JJRl9UUkFTQUNUX1RSSUdHRVJfTUFTSyAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfQklGX1RSQVNBQ1RfVFJJR0dFUl9TSElGVCAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfQklGX0RBVEFfTlVNX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHhGCisjZGVmaW5lIE1UNjMyNV9CSUZfREFUQV9OVU1fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9CSUZfUkVTUE9OU0VfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0JJRl9SRVNQT05TRV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgIDEyCisjZGVmaW5lIE1UNjMyNV9CSUZfREFUQV8wX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAweEZGCisjZGVmaW5lIE1UNjMyNV9CSUZfREFUQV8wX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9CSUZfQUNLXzBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0JJRl9BQ0tfMF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X0JJRl9FUlJPUl8wX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfQklGX0VSUk9SXzBfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgMTUKKyNkZWZpbmUgTVQ2MzI1X0JJRl9EQVRBXzFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkYKKyNkZWZpbmUgTVQ2MzI1X0JJRl9EQVRBXzFfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X0JJRl9BQ0tfMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfQklGX0FDS18xX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfQklGX0VSUk9SXzFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9CSUZfRVJST1JfMV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAxNQorI2RlZmluZSBNVDYzMjVfQklGX0RBVEFfMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhGRgorI2RlZmluZSBNVDYzMjVfQklGX0RBVEFfMl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfQklGX0FDS18yX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9CSUZfQUNLXzJfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICA4CisjZGVmaW5lIE1UNjMyNV9CSUZfRVJST1JfMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0JJRl9FUlJPUl8yX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgIDE1CisjZGVmaW5lIE1UNjMyNV9CSUZfREFUQV8zX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAweEZGCisjZGVmaW5lIE1UNjMyNV9CSUZfREFUQV8zX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9CSUZfQUNLXzNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0JJRl9BQ0tfM19TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X0JJRl9FUlJPUl8zX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfQklGX0VSUk9SXzNfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgMTUKKyNkZWZpbmUgTVQ2MzI1X0JJRl9EQVRBXzRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkYKKyNkZWZpbmUgTVQ2MzI1X0JJRl9EQVRBXzRfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X0JJRl9BQ0tfNF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfQklGX0FDS180X1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfQklGX0VSUk9SXzRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9CSUZfRVJST1JfNF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAxNQorI2RlZmluZSBNVDYzMjVfQklGX0RBVEFfNV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhGRgorI2RlZmluZSBNVDYzMjVfQklGX0RBVEFfNV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfQklGX0FDS181X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9CSUZfQUNLXzVfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICA4CisjZGVmaW5lIE1UNjMyNV9CSUZfRVJST1JfNV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0JJRl9FUlJPUl81X1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgIDE1CisjZGVmaW5lIE1UNjMyNV9CSUZfREFUQV82X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAweEZGCisjZGVmaW5lIE1UNjMyNV9CSUZfREFUQV82X1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9CSUZfQUNLXzZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0JJRl9BQ0tfNl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X0JJRl9FUlJPUl82X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfQklGX0VSUk9SXzZfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgMTUKKyNkZWZpbmUgTVQ2MzI1X0JJRl9EQVRBXzdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkYKKyNkZWZpbmUgTVQ2MzI1X0JJRl9EQVRBXzdfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X0JJRl9BQ0tfN19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfQklGX0FDS183X1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfQklGX0VSUk9SXzdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9CSUZfRVJST1JfN19TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAxNQorI2RlZmluZSBNVDYzMjVfQklGX0RBVEFfOF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhGRgorI2RlZmluZSBNVDYzMjVfQklGX0RBVEFfOF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfQklGX0FDS184X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9CSUZfQUNLXzhfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICA4CisjZGVmaW5lIE1UNjMyNV9CSUZfRVJST1JfOF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0JJRl9FUlJPUl84X1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgIDE1CisjZGVmaW5lIE1UNjMyNV9CSUZfREFUQV85X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAweEZGCisjZGVmaW5lIE1UNjMyNV9CSUZfREFUQV85X1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9CSUZfQUNLXzlfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0JJRl9BQ0tfOV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X0JJRl9FUlJPUl85X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfQklGX0VSUk9SXzlfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgMTUKKyNkZWZpbmUgTVQ2MzI1X0JJRl9URVNUX01PREUwX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfQklGX1RFU1RfTU9ERTBfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfQklGX1RFU1RfTU9ERTFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9CSUZfVEVTVF9NT0RFMV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9CSUZfVEVTVF9NT0RFMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0JJRl9URVNUX01PREUyX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X0JJRl9URVNUX01PREUzX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfQklGX1RFU1RfTU9ERTNfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgMworI2RlZmluZSBNVDYzMjVfQklGX1RFU1RfTU9ERTRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9CSUZfVEVTVF9NT0RFNF9TSElGVCAgICAgICAgICAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9CSUZfVEVTVF9NT0RFNV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0JJRl9URVNUX01PREU1X1NISUZUICAgICAgICAgICAgICAgICAgICAgIDUKKyNkZWZpbmUgTVQ2MzI1X0JJRl9URVNUX01PREU2X01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfQklGX1RFU1RfTU9ERTZfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgNgorI2RlZmluZSBNVDYzMjVfQklGX1RFU1RfTU9ERTdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9CSUZfVEVTVF9NT0RFN19TSElGVCAgICAgICAgICAgICAgICAgICAgICA3CisjZGVmaW5lIE1UNjMyNV9CSUZfVEVTVF9NT0RFOF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0JJRl9URVNUX01PREU4X1NISUZUICAgICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X0JJRl9CQVRfTE9TVF9TV19NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfQklGX0JBVF9MT1NUX1NXX1NISUZUICAgICAgICAgICAgICAgICAgICAgMTEKKyNkZWZpbmUgTVQ2MzI1X0JJRl9SWF9EQVRBX1NXX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfQklGX1JYX0RBVEFfU1dfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgMTIKKyNkZWZpbmUgTVQ2MzI1X0JJRl9UWF9EQVRBX1NXX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfQklGX1RYX0RBVEFfU1dfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgMTMKKyNkZWZpbmUgTVQ2MzI1X0JJRl9SWF9FTl9TV19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfQklGX1JYX0VOX1NXX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgMTQKKyNkZWZpbmUgTVQ2MzI1X0JJRl9UWF9FTl9TV19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfQklGX1RYX0VOX1NXX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgMTUKKyNkZWZpbmUgTVQ2MzI1X0JJRl9CQUNLX05PUk1BTF9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfQklGX0JBQ0tfTk9STUFMX1NISUZUICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfQklGX0lSUV9DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9CSUZfSVJRX0NMUl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9CSUZfQkFUX0xPU1RfR0FURURfTUFTSyAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0JJRl9CQVRfTE9TVF9HQVRFRF9TSElGVCAgICAgICAgICAgICAgICAgIDEwCisjZGVmaW5lIE1UNjMyNV9CSUZfSVJRX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0JJRl9JUlFfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDExCisjZGVmaW5lIE1UNjMyNV9CSUZfVElNRU9VVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0JJRl9USU1FT1VUX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgIDEyCisjZGVmaW5lIE1UNjMyNV9CSUZfQkFUX0xPU1RfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0JJRl9CQVRfTE9TVF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgIDEzCisjZGVmaW5lIE1UNjMyNV9CSUZfVE9UQUxfVkFMSURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0JJRl9UT1RBTF9WQUxJRF9TSElGVCAgICAgICAgICAgICAgICAgICAgIDE0CisjZGVmaW5lIE1UNjMyNV9CSUZfQlVTX1NUQVRVU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0JJRl9CVVNfU1RBVFVTX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDE1CisjZGVmaW5lIE1UNjMyNV9CSUZfUE9XRVJfVVBfQ09VTlRfTUFTSyAgICAgICAgICAgICAgICAgICAweDFGCisjZGVmaW5lIE1UNjMyNV9CSUZfUE9XRVJfVVBfQ09VTlRfU0hJRlQgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9CSUZfUE9XRVJfVVBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0JJRl9QT1dFUl9VUF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgIDE1CisjZGVmaW5lIE1UNjMyNV9CSUZfUlhfRVJST1JfVU5LTk9XX01BU0sgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0JJRl9SWF9FUlJPUl9VTktOT1dfU0hJRlQgICAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X0JJRl9SWF9FUlJPUl9JTlNVRkZfTUFTSyAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfQklGX1JYX0VSUk9SX0lOU1VGRl9TSElGVCAgICAgICAgICAgICAgICAgMworI2RlZmluZSBNVDYzMjVfQklGX1JYX0VSUk9SX0xPV1BIQVNFX01BU0sgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9CSUZfUlhfRVJST1JfTE9XUEhBU0VfU0hJRlQgICAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9CSUZfUlhfU1RBVEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAweDcKKyNkZWZpbmUgTVQ2MzI1X0JJRl9SWF9TVEFURV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgIDUKKyNkZWZpbmUgTVQ2MzI1X0JJRl9GTE9XX0NUTF9TVEFURV9NQVNLICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfQklGX0ZMT1dfQ1RMX1NUQVRFX1NISUZUICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfQklGX1RYX1NUQVRFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9CSUZfVFhfU1RBVEVfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAxMAorI2RlZmluZSBNVDYzMjVfUUlfQklGX1JYX0RBVEFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9RSV9CSUZfUlhfREFUQV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfUUlfQklGX1JYX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9RSV9CSUZfUlhfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAxMworI2RlZmluZSBNVDYzMjVfUUlfQklGX1RYX0RBVEFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9RSV9CSUZfVFhfREFUQV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAxNAorI2RlZmluZSBNVDYzMjVfUUlfQklGX1RYX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9RSV9CSUZfVFhfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAxNQorI2RlZmluZSBNVDYzMjVfQklGX1RYX0RBVEFfRklBTkxfTUFTSyAgICAgICAgICAgICAgICAgICAgMHhGRkZGCisjZGVmaW5lIE1UNjMyNV9CSUZfVFhfREFUQV9GSUFOTF9TSElGVCAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9CSUZfUlhfREFUQV9TQU1QTElOR19NQVNLICAgICAgICAgICAgICAgICAweEZGRkYKKyNkZWZpbmUgTVQ2MzI1X0JJRl9SWF9EQVRBX1NBTVBMSU5HX1NISUZUICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X0JJRl9SWF9EQVRBX1JFQ09WRVJZX01BU0sgICAgICAgICAgICAgICAgIDB4M0ZGRgorI2RlZmluZSBNVDYzMjVfQklGX1JYX0RBVEFfUkVDT1ZFUllfU0hJRlQgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfQkFUT05fSFRfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19CQVRPTl9IVF9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19CQVRPTl9UREVUX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0JBVE9OX1RERVRfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZCSUYyOF9BVVhBRENfRU5fTUFTSyAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVkJJRjI4X0FVWEFEQ19FTl9TSElGVCAgICAgICAgICAgICAgICAgMworI2RlZmluZSBNVDYzMjVfUkdfQkFUT05fSFRfRU5fRExZX1RJTUVfTUFTSyAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19CQVRPTl9IVF9FTl9ETFlfVElNRV9TSElGVCAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9RSV9CQVRPTl9IVF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1FJX0JBVE9OX0hUX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDUKKyNkZWZpbmUgTVQ2MzI1X1JHU19CQVRPTl9IVl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdTX0JBVE9OX0hWX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgNgorI2RlZmluZSBNVDYzMjVfUkdfQkFUT05fSFRfVFJJTV9SU1YwX01BU0sgICAgICAgICAgICAgICAgMHg3CisjZGVmaW5lIE1UNjMyNV9SR19CQVRPTl9IVF9UUklNX1JTVjBfU0hJRlQgICAgICAgICAgICAgICA4CisjZGVmaW5lIE1UNjMyNV9SR19IV19WVEhfQ1RSTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0hXX1ZUSF9DVFJMX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDExCisjZGVmaW5lIE1UNjMyNV9SR19IV19WVEgyX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX0hXX1ZUSDJfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgIDEyCisjZGVmaW5lIE1UNjMyNV9SR19IV19WVEgxX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX0hXX1ZUSDFfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgIDE0CisjZGVmaW5lIE1UNjMyNV9CSUZfVElNRU9VVF9TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweEZGRkYKKyNkZWZpbmUgTVQ2MzI1X0JJRl9USU1FT1VUX1NFVF9TSElGVCAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X0JJRl9SWF9ERUdfV05EX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4M0ZGCisjZGVmaW5lIE1UNjMyNV9CSUZfUlhfREVHX1dORF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9CSUZfUlhfREVHX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0JJRl9SWF9ERUdfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDE1CisjZGVmaW5lIE1UNjMyNV9CSUZfUlNWMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEZGCisjZGVmaW5lIE1UNjMyNV9CSUZfUlNWMV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9CSUZfUlNWMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEZGCisjZGVmaW5lIE1UNjMyNV9CSUZfUlNWMF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICA4CisjZGVmaW5lIE1UNjMyNV9TUEtfRU5fTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1NQS19FTl9MX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1NQS01PREVfTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfU1BLTU9ERV9MX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgMgorI2RlZmluZSBNVDYzMjVfU1BLX1RSSU1fRU5fTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9TUEtfVFJJTV9FTl9MX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAzCisjZGVmaW5lIE1UNjMyNV9TUEtfT0NfU0hETl9ETF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1NQS19PQ19TSEROX0RMX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1NQS19USEVSX1NIRE5fTF9FTl9NQVNLICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfU1BLX1RIRVJfU0hETl9MX0VOX1NISUZUICAgICAgICAgICAgICAgICAgOQorI2RlZmluZSBNVDYzMjVfU1BLX09VVF9TVEFHRV9TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9TUEtfT1VUX1NUQUdFX1NFTF9TSElGVCAgICAgICAgICAgICAgICAgICAxMAorI2RlZmluZSBNVDYzMjVfUkdfU1BLX0dBSU5MX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19TUEtfR0FJTkxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfREFfU1BLX09GRlNFVF9MX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgxRgorI2RlZmluZSBNVDYzMjVfREFfU1BLX09GRlNFVF9MX1NISUZUICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfREFfU1BLX0xFQURfREdMSF9MX01BU0sgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9EQV9TUEtfTEVBRF9ER0xIX0xfU0hJRlQgICAgICAgICAgICAgICAgICA1CisjZGVmaW5lIE1UNjMyNV9OSV9TUEtfTEVBRF9MX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X05JX1NQS19MRUFEX0xfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDYKKyNkZWZpbmUgTVQ2MzI1X1NQS19PRkZTRVRfTF9PVl9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfU1BLX09GRlNFVF9MX09WX1NISUZUICAgICAgICAgICAgICAgICAgICAgNworI2RlZmluZSBNVDYzMjVfU1BLX09GRlNFVF9MX1NXX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgxRgorI2RlZmluZSBNVDYzMjVfU1BLX09GRlNFVF9MX1NXX1NISUZUICAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfU1BLX0xFQURfTF9TV19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9TUEtfTEVBRF9MX1NXX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAxMworI2RlZmluZSBNVDYzMjVfU1BLX09GRlNFVF9MX01PREVfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9TUEtfT0ZGU0VUX0xfTU9ERV9TSElGVCAgICAgICAgICAgICAgICAgICAxNAorI2RlZmluZSBNVDYzMjVfU1BLX1RSSU1fRE9ORV9MX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9TUEtfVFJJTV9ET05FX0xfU0hJRlQgICAgICAgICAgICAgICAgICAgICAxNQorI2RlZmluZSBNVDYzMjVfUkdfU1BLX0lOVEdfUlNUX0xfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19TUEtfSU5UR19SU1RfTF9TSElGVCAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19TUEtfRk9SQ0VfRU5fTF9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1NQS19GT1JDRV9FTl9MX1NISUZUICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1NQS19TTEVXX0xfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUkdfU1BLX1NMRVdfTF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgMgorI2RlZmluZSBNVDYzMjVfUkdfU1BLQUJfT0JJQVNfTF9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19TUEtBQl9PQklBU19MX1NISUZUICAgICAgICAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9SR19TUEtSQ1ZfRU5fTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1NQS1JDVl9FTl9MX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDYKKyNkZWZpbmUgTVQ2MzI1X1JHX1NQS19EUkNfRU5fTF9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfU1BLX0RSQ19FTl9MX1NISUZUICAgICAgICAgICAgICAgICAgICAgNworI2RlZmluZSBNVDYzMjVfUkdfU1BLX1RFU1RfRU5fTF9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19TUEtfVEVTVF9FTl9MX1NISUZUICAgICAgICAgICAgICAgICAgICA4CisjZGVmaW5lIE1UNjMyNV9SR19TUEtBQl9PQ19FTl9MX01BU0sgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1NQS0FCX09DX0VOX0xfU0hJRlQgICAgICAgICAgICAgICAgICAgIDkKKyNkZWZpbmUgTVQ2MzI1X1JHX1NQS19PQ19FTl9MX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfU1BLX09DX0VOX0xfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgMTAKKyNkZWZpbmUgTVQ2MzI1X1NQS19FTl9SX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfU1BLX0VOX1JfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfU1BLTU9ERV9SX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9TUEtNT0RFX1JfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAyCisjZGVmaW5lIE1UNjMyNV9TUEtfVFJJTV9FTl9SX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1NQS19UUklNX0VOX1JfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDMKKyNkZWZpbmUgTVQ2MzI1X1NQS19PQ19TSEROX0RSX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfU1BLX09DX1NIRE5fRFJfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfU1BLX1RIRVJfU0hETl9SX0VOX01BU0sgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9TUEtfVEhFUl9TSEROX1JfRU5fU0hJRlQgICAgICAgICAgICAgICAgICA5CisjZGVmaW5lIE1UNjMyNV9SR19TUEtfR0FJTlJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1NQS19HQUlOUl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgIDEyCisjZGVmaW5lIE1UNjMyNV9EQV9TUEtfT0ZGU0VUX1JfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDFGCisjZGVmaW5lIE1UNjMyNV9EQV9TUEtfT0ZGU0VUX1JfU0hJRlQgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9EQV9TUEtfTEVBRF9ER0xIX1JfTUFTSyAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0RBX1NQS19MRUFEX0RHTEhfUl9TSElGVCAgICAgICAgICAgICAgICAgIDUKKyNkZWZpbmUgTVQ2MzI1X05JX1NQS19MRUFEX1JfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfTklfU1BLX0xFQURfUl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgNgorI2RlZmluZSBNVDYzMjVfU1BLX09GRlNFVF9SX09WX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9TUEtfT0ZGU0VUX1JfT1ZfU0hJRlQgICAgICAgICAgICAgICAgICAgICA3CisjZGVmaW5lIE1UNjMyNV9TUEtfT0ZGU0VUX1JfU1dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDFGCisjZGVmaW5lIE1UNjMyNV9TUEtfT0ZGU0VUX1JfU1dfU0hJRlQgICAgICAgICAgICAgICAgICAgICA4CisjZGVmaW5lIE1UNjMyNV9TUEtfTEVBRF9SX1NXX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1NQS19MRUFEX1JfU1dfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDEzCisjZGVmaW5lIE1UNjMyNV9TUEtfT0ZGU0VUX1JfTU9ERV9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1NQS19PRkZTRVRfUl9NT0RFX1NISUZUICAgICAgICAgICAgICAgICAgIDE0CisjZGVmaW5lIE1UNjMyNV9TUEtfVFJJTV9ET05FX1JfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1NQS19UUklNX0RPTkVfUl9TSElGVCAgICAgICAgICAgICAgICAgICAgIDE1CisjZGVmaW5lIE1UNjMyNV9SR19TUEtfSU5UR19SU1RfUl9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1NQS19JTlRHX1JTVF9SX1NISUZUICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX1NQS19GT1JDRV9FTl9SX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfU1BLX0ZPUkNFX0VOX1JfU0hJRlQgICAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBNVDYzMjVfUkdfU1BLX1NMRVdfUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19TUEtfU0xFV19SX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAyCisjZGVmaW5lIE1UNjMyNV9SR19TUEtBQl9PQklBU19SX01BU0sgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1NQS0FCX09CSUFTX1JfU0hJRlQgICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1JHX1NQS1JDVl9FTl9SX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfU1BLUkNWX0VOX1JfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgNgorI2RlZmluZSBNVDYzMjVfUkdfU1BLX0RSQ19FTl9SX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19TUEtfRFJDX0VOX1JfU0hJRlQgICAgICAgICAgICAgICAgICAgICA3CisjZGVmaW5lIE1UNjMyNV9SR19TUEtfVEVTVF9FTl9SX01BU0sgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1NQS19URVNUX0VOX1JfU0hJRlQgICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1JHX1NQS0FCX09DX0VOX1JfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfU1BLQUJfT0NfRU5fUl9TSElGVCAgICAgICAgICAgICAgICAgICAgOQorI2RlZmluZSBNVDYzMjVfUkdfU1BLX09DX0VOX1JfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19TUEtfT0NfRU5fUl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAxMAorI2RlZmluZSBNVDYzMjVfUkdfU1BLUEdBX0dBSU5SX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHhGCisjZGVmaW5lIE1UNjMyNV9SR19TUEtQR0FfR0FJTlJfU0hJRlQgICAgICAgICAgICAgICAgICAgICAxMQorI2RlZmluZSBNVDYzMjVfU1BLX1RSSU1fV05EX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHg3CisjZGVmaW5lIE1UNjMyNV9TUEtfVFJJTV9XTkRfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9TUEtfVFJJTV9USERfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1NQS19UUklNX1RIRF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1NQS19PQ19XTkRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfU1BLX09DX1dORF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfU1BLX09DX1RIRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9TUEtfT0NfVEhEX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAxMAorI2RlZmluZSBNVDYzMjVfU1BLX0RfT0NfUl9ERUdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9TUEtfRF9PQ19SX0RFR19TSElGVCAgICAgICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfU1BLX0FCX09DX1JfREVHX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9TUEtfQUJfT0NfUl9ERUdfU0hJRlQgICAgICAgICAgICAgICAgICAgICAxMworI2RlZmluZSBNVDYzMjVfU1BLX0RfT0NfTF9ERUdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9TUEtfRF9PQ19MX0RFR19TSElGVCAgICAgICAgICAgICAgICAgICAgICAxNAorI2RlZmluZSBNVDYzMjVfU1BLX0FCX09DX0xfREVHX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9TUEtfQUJfT0NfTF9ERUdfU0hJRlQgICAgICAgICAgICAgICAgICAgICAxNQorI2RlZmluZSBNVDYzMjVfU1BLX1REMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhGCisjZGVmaW5lIE1UNjMyNV9TUEtfVEQxX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9TUEtfVEQyX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEYKKyNkZWZpbmUgTVQ2MzI1X1NQS19URDJfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1NQS19URDNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RgorI2RlZmluZSBNVDYzMjVfU1BLX1REM19TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfU1BLX1RSSU1fRElWX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHg3CisjZGVmaW5lIE1UNjMyNV9TUEtfVFJJTV9ESVZfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfUkdfQlRMX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19CVExfU0VUX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19TUEtfSUJJQVNfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1NQS19JQklBU19TRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1JHX1NQS19DQ09ERV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgIDB4RgorI2RlZmluZSBNVDYzMjVfUkdfU1BLX0NDT0RFX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgNAorI2RlZmluZSBNVDYzMjVfUkdfU1BLX0VOX1ZJRVdfVkNNX01BU0sgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19TUEtfRU5fVklFV19WQ01fU0hJRlQgICAgICAgICAgICAgICAgICA4CisjZGVmaW5lIE1UNjMyNV9SR19TUEtfRU5fVklFV19DTEtfTUFTSyAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1NQS19FTl9WSUVXX0NMS19TSElGVCAgICAgICAgICAgICAgICAgIDkKKyNkZWZpbmUgTVQ2MzI1X1JHX1NQS19WQ01fU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfU1BLX1ZDTV9TRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgMTAKKyNkZWZpbmUgTVQ2MzI1X1JHX1NQS19WQ01fSUJTRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfU1BLX1ZDTV9JQlNFTF9TSElGVCAgICAgICAgICAgICAgICAgICAgMTEKKyNkZWZpbmUgTVQ2MzI1X1JHX1NQS19GQlJDX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfU1BLX0ZCUkNfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgMTIKKyNkZWZpbmUgTVQ2MzI1X1JHX1NQS0FCX09WRFJWX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfU1BLQUJfT1ZEUlZfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgMTMKKyNkZWZpbmUgTVQ2MzI1X1JHX1NQS19PQ1RIX0RfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfU1BLX09DVEhfRF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgMTQKKyNkZWZpbmUgTVQ2MzI1X1JHX1NQS1BHQV9HQUlOTF9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4RgorI2RlZmluZSBNVDYzMjVfUkdfU1BLUEdBX0dBSU5MX1NISUZUICAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfU1BLX1JTVjBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9TUEtfUlNWMF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfU1BLX1ZDTV9GQVNUX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9TUEtfVkNNX0ZBU1RfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAxMworI2RlZmluZSBNVDYzMjVfU1BLX1RFU1RfTU9ERTBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9TUEtfVEVTVF9NT0RFMF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAxNAorI2RlZmluZSBNVDYzMjVfU1BLX1RFU1RfTU9ERTFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9TUEtfVEVTVF9NT0RFMV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAxNQorI2RlZmluZSBNVDYzMjVfU1BLX1REX1dBSVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgMHg3CisjZGVmaW5lIE1UNjMyNV9TUEtfVERfV0FJVF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9TUEtfVERfRE9ORV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAweDcKKyNkZWZpbmUgTVQ2MzI1X1NQS19URF9ET05FX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1NQS19FTl9NT0RFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfU1BLX0VOX01PREVfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfU1BLX1ZDTV9GQVNUX1NXX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9TUEtfVkNNX0ZBU1RfU1dfU0hJRlQgICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9TUEtfUlNUX1JfU1dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1NQS19SU1RfUl9TV19TSElGVCAgICAgICAgICAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1NQS19SU1RfTF9TV19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfU1BLX1JTVF9MX1NXX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgMworI2RlZmluZSBNVDYzMjVfU1BLTU9ERV9SX1NXX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9TUEtNT0RFX1JfU1dfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9TUEtNT0RFX0xfU1dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1NQS01PREVfTF9TV19TSElGVCAgICAgICAgICAgICAgICAgICAgICAgIDUKKyNkZWZpbmUgTVQ2MzI1X1NQS19ERVBPUF9FTl9SX1NXX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfU1BLX0RFUE9QX0VOX1JfU1dfU0hJRlQgICAgICAgICAgICAgICAgICAgNgorI2RlZmluZSBNVDYzMjVfU1BLX0RFUE9QX0VOX0xfU1dfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9TUEtfREVQT1BfRU5fTF9TV19TSElGVCAgICAgICAgICAgICAgICAgICA3CisjZGVmaW5lIE1UNjMyNV9TUEtfRU5fUl9TV19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1NQS19FTl9SX1NXX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1NQS19FTl9MX1NXX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfU1BLX0VOX0xfU1dfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgOQorI2RlZmluZSBNVDYzMjVfU1BLX09VVFNUR19FTl9SX1NXX01BU0sgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9TUEtfT1VUU1RHX0VOX1JfU1dfU0hJRlQgICAgICAgICAgICAgICAgICAxMAorI2RlZmluZSBNVDYzMjVfU1BLX09VVFNUR19FTl9MX1NXX01BU0sgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9TUEtfT1VUU1RHX0VOX0xfU1dfU0hJRlQgICAgICAgICAgICAgICAgICAxMQorI2RlZmluZSBNVDYzMjVfU1BLX1RSSU1fRU5fUl9TV19NQVNLICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9TUEtfVFJJTV9FTl9SX1NXX1NISUZUICAgICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfU1BLX1RSSU1fRU5fTF9TV19NQVNLICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9TUEtfVFJJTV9FTl9MX1NXX1NISUZUICAgICAgICAgICAgICAgICAgICAxMworI2RlZmluZSBNVDYzMjVfU1BLX1RSSU1fU1RPUF9SX1NXX01BU0sgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9TUEtfVFJJTV9TVE9QX1JfU1dfU0hJRlQgICAgICAgICAgICAgICAgICAxNAorI2RlZmluZSBNVDYzMjVfU1BLX1RSSU1fU1RPUF9MX1NXX01BU0sgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9TUEtfVFJJTV9TVE9QX0xfU1dfU0hJRlQgICAgICAgICAgICAgICAgICAxNQorI2RlZmluZSBNVDYzMjVfUkdfU1BLX0lTRU5TRV9URVNUX0VOX01BU0sgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19TUEtfSVNFTlNFX1RFU1RfRU5fU0hJRlQgICAgICAgICAgICAgICA3CisjZGVmaW5lIE1UNjMyNV9SR19TUEtfSVNFTlNFX1JFRlNFTF9NQVNLICAgICAgICAgICAgICAgICAweDcKKyNkZWZpbmUgTVQ2MzI1X1JHX1NQS19JU0VOU0VfUkVGU0VMX1NISUZUICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1JHX1NQS19JU0VOU0VfR0FJTlNFTF9NQVNLICAgICAgICAgICAgICAgIDB4NworI2RlZmluZSBNVDYzMjVfUkdfU1BLX0lTRU5TRV9HQUlOU0VMX1NISUZUICAgICAgICAgICAgICAgMTEKKyNkZWZpbmUgTVQ2MzI1X1JHX1NQS19JU0VOU0VfUERSRVNFVF9NQVNLICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfU1BLX0lTRU5TRV9QRFJFU0VUX1NISUZUICAgICAgICAgICAgICAgMTQKKyNkZWZpbmUgTVQ2MzI1X1JHX1NQS19JU0VOU0VfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfU1BLX0lTRU5TRV9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgMTUKKyNkZWZpbmUgTVQ2MzI1X1JHX1NQS19SU1YxX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkYKKyNkZWZpbmUgTVQ2MzI1X1JHX1NQS19SU1YxX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX1NQS19SU1YwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkYKKyNkZWZpbmUgTVQ2MzI1X1JHX1NQS19SU1YwX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1JHX1NQS19BQkRfVk9MU0VOX0dBSU5fTUFTSyAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUkdfU1BLX0FCRF9WT0xTRU5fR0FJTl9TSElGVCAgICAgICAgICAgICAgNAorI2RlZmluZSBNVDYzMjVfUkdfU1BLX0FCRF9WT0xTRU5fRU5fTUFTSyAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19TUEtfQUJEX1ZPTFNFTl9FTl9TSElGVCAgICAgICAgICAgICAgICA2CisjZGVmaW5lIE1UNjMyNV9SR19TUEtfQUJEX0NVUlNFTl9TRUxfTUFTSyAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1NQS19BQkRfQ1VSU0VOX1NFTF9TSElGVCAgICAgICAgICAgICAgIDcKKyNkZWZpbmUgTVQ2MzI1X1JHX1NQS19SU1YyX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkYKKyNkZWZpbmUgTVQ2MzI1X1JHX1NQS19SU1YyX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1JHX1NQS19UUklNMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkYKKyNkZWZpbmUgTVQ2MzI1X1JHX1NQS19UUklNMl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX1NQS19UUklNMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkYKKyNkZWZpbmUgTVQ2MzI1X1JHX1NQS19UUklNMV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1JHX1NQS19EX0NVUlNFTl9SU0VUU0VMX01BU0sgICAgICAgICAgICAgIDB4MUYKKyNkZWZpbmUgTVQ2MzI1X1JHX1NQS19EX0NVUlNFTl9SU0VUU0VMX1NISUZUICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX1NQS19EX0NVUlNFTl9HQUlOX01BU0sgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUkdfU1BLX0RfQ1VSU0VOX0dBSU5fU0hJRlQgICAgICAgICAgICAgICAgNQorI2RlZmluZSBNVDYzMjVfUkdfU1BLX0RfQ1VSU0VOX0VOX01BU0sgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19TUEtfRF9DVVJTRU5fRU5fU0hJRlQgICAgICAgICAgICAgICAgICA3CisjZGVmaW5lIE1UNjMyNV9SR19TUEtfQUJfQ1VSU0VOX1JTRVRTRUxfTUFTSyAgICAgICAgICAgICAweDFGCisjZGVmaW5lIE1UNjMyNV9SR19TUEtfQUJfQ1VSU0VOX1JTRVRTRUxfU0hJRlQgICAgICAgICAgICA4CisjZGVmaW5lIE1UNjMyNV9SR19TUEtfQUJfQ1VSU0VOX0dBSU5fTUFTSyAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1NQS19BQl9DVVJTRU5fR0FJTl9TSElGVCAgICAgICAgICAgICAgIDEzCisjZGVmaW5lIE1UNjMyNV9SR19TUEtfQUJfQ1VSU0VOX0VOX01BU0sgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1NQS19BQl9DVVJTRU5fRU5fU0hJRlQgICAgICAgICAgICAgICAgIDE1CisjZGVmaW5lIE1UNjMyNV9SR19TUEtQR0FfR0FJTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweEYKKyNkZWZpbmUgTVQ2MzI1X1JHX1NQS1BHQV9HQUlOX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDExCisjZGVmaW5lIE1UNjMyNV9SR19TUEtfUlNWX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAweEZGCisjZGVmaW5lIE1UNjMyNV9SR19TUEtfUlNWX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19JU0VOU0VfUERfUkVTRVRfTUFTSyAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0lTRU5TRV9QRF9SRVNFVF9TSElGVCAgICAgICAgICAgICAgICAgIDExCisjZGVmaW5lIE1UNjMyNV9SR19BVURJVkxQV1JVUF9WQVVEUDEyX01BU0sgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVRElWTFBXUlVQX1ZBVURQMTJfU0hJRlQgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVRElWTFNUQVJUVVBfVkFVRFAxMl9NQVNLICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQVVESVZMU1RBUlRVUF9WQVVEUDEyX1NISUZUICAgICAgICAgICAgNQorI2RlZmluZSBNVDYzMjVfUkdfQVVESVZMTVVYU0VMX1ZBVURQMTJfTUFTSyAgICAgICAgICAgICAgMHg3CisjZGVmaW5lIE1UNjMyNV9SR19BVURJVkxNVVhTRUxfVkFVRFAxMl9TSElGVCAgICAgICAgICAgICA2CisjZGVmaW5lIE1UNjMyNV9SR19BVURJVkxNVVRFX1ZBVURQMTJfTUFTSyAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVRElWTE1VVEVfVkFVRFAxMl9TSElGVCAgICAgICAgICAgICAgIDkKKyNkZWZpbmUgTVQ2MzI1X1JHX09UUF9QQV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4M0YKKyNkZWZpbmUgTVQ2MzI1X1JHX09UUF9QQV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX09UUF9QRElOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkYKKyNkZWZpbmUgTVQ2MzI1X1JHX09UUF9QRElOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX09UUF9QVE1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUkdfT1RQX1BUTV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfT1RQX1BXRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19PVFBfUFdFX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19PVFBfUFBST0dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX09UUF9QUFJPR19TSElGVCAgICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX09UUF9QV0VfU1JDX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfT1RQX1BXRV9TUkNfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfT1RQX1BST0dfUEtFWV9NQVNLICAgICAgICAgICAgICAgICAgICAgMHhGRkZGCisjZGVmaW5lIE1UNjMyNV9SR19PVFBfUFJPR19QS0VZX1NISUZUICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19PVFBfUkRfUEtFWV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweEZGRkYKKyNkZWZpbmUgTVQ2MzI1X1JHX09UUF9SRF9QS0VZX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX09UUF9SRF9UUklHX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfT1RQX1JEX1RSSUdfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfUkRfUkRZX0JZUEFTU19NQVNLICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19SRF9SRFlfQllQQVNTX1NISUZUICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19TS0lQX09UUF9PVVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1NLSVBfT1RQX09VVF9TSElGVCAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX09UUF9SRF9TV19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfT1RQX1JEX1NXX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfT1RQX0RPVVRfU1dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHhGRkZGCisjZGVmaW5lIE1UNjMyNV9SR19PVFBfRE9VVF9TV19TSElGVCAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19PVFBfUkRfQlVTWV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX09UUF9SRF9CVVNZX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX09UUF9SRF9BQ0tfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfT1RQX1JEX0FDS19TSElGVCAgICAgICAgICAgICAgICAgICAgICAgMgorI2RlZmluZSBNVDYzMjVfUkdfT1RQX1BBX1NXX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHgxRgorI2RlZmluZSBNVDYzMjVfUkdfT1RQX1BBX1NXX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfT1RQX0RPVVRfMF8xNV9NQVNLICAgICAgICAgICAgICAgICAgICAgMHhGRkZGCisjZGVmaW5lIE1UNjMyNV9SR19PVFBfRE9VVF8wXzE1X1NISUZUICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19PVFBfRE9VVF8xNl8zMV9NQVNLICAgICAgICAgICAgICAgICAgICAweEZGRkYKKyNkZWZpbmUgTVQ2MzI1X1JHX09UUF9ET1VUXzE2XzMxX1NISUZUICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX09UUF9ET1VUXzMyXzQ3X01BU0sgICAgICAgICAgICAgICAgICAgIDB4RkZGRgorI2RlZmluZSBNVDYzMjVfUkdfT1RQX0RPVVRfMzJfNDdfU0hJRlQgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfT1RQX0RPVVRfNDhfNjNfTUFTSyAgICAgICAgICAgICAgICAgICAgMHhGRkZGCisjZGVmaW5lIE1UNjMyNV9SR19PVFBfRE9VVF80OF82M19TSElGVCAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19PVFBfRE9VVF82NF83OV9NQVNLICAgICAgICAgICAgICAgICAgICAweEZGRkYKKyNkZWZpbmUgTVQ2MzI1X1JHX09UUF9ET1VUXzY0Xzc5X1NISUZUICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX09UUF9ET1VUXzgwXzk1X01BU0sgICAgICAgICAgICAgICAgICAgIDB4RkZGRgorI2RlZmluZSBNVDYzMjVfUkdfT1RQX0RPVVRfODBfOTVfU0hJRlQgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfT1RQX0RPVVRfOTZfMTExX01BU0sgICAgICAgICAgICAgICAgICAgMHhGRkZGCisjZGVmaW5lIE1UNjMyNV9SR19PVFBfRE9VVF85Nl8xMTFfU0hJRlQgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19PVFBfRE9VVF8xMTJfMTI3X01BU0sgICAgICAgICAgICAgICAgICAweEZGRkYKKyNkZWZpbmUgTVQ2MzI1X1JHX09UUF9ET1VUXzExMl8xMjdfU0hJRlQgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX09UUF9ET1VUXzEyOF8xNDNfTUFTSyAgICAgICAgICAgICAgICAgIDB4RkZGRgorI2RlZmluZSBNVDYzMjVfUkdfT1RQX0RPVVRfMTI4XzE0M19TSElGVCAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfT1RQX0RPVVRfMTQ0XzE1OV9NQVNLICAgICAgICAgICAgICAgICAgMHhGRkZGCisjZGVmaW5lIE1UNjMyNV9SR19PVFBfRE9VVF8xNDRfMTU5X1NISUZUICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19PVFBfRE9VVF8xNjBfMTc1X01BU0sgICAgICAgICAgICAgICAgICAweEZGRkYKKyNkZWZpbmUgTVQ2MzI1X1JHX09UUF9ET1VUXzE2MF8xNzVfU0hJRlQgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX09UUF9ET1VUXzE3Nl8xOTFfTUFTSyAgICAgICAgICAgICAgICAgIDB4RkZGRgorI2RlZmluZSBNVDYzMjVfUkdfT1RQX0RPVVRfMTc2XzE5MV9TSElGVCAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfT1RQX0RPVVRfMTkyXzIwN19NQVNLICAgICAgICAgICAgICAgICAgMHhGRkZGCisjZGVmaW5lIE1UNjMyNV9SR19PVFBfRE9VVF8xOTJfMjA3X1NISUZUICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19PVFBfRE9VVF8yMDhfMjIzX01BU0sgICAgICAgICAgICAgICAgICAweEZGRkYKKyNkZWZpbmUgTVQ2MzI1X1JHX09UUF9ET1VUXzIwOF8yMjNfU0hJRlQgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX09UUF9ET1VUXzIyNF8yMzlfTUFTSyAgICAgICAgICAgICAgICAgIDB4RkZGRgorI2RlZmluZSBNVDYzMjVfUkdfT1RQX0RPVVRfMjI0XzIzOV9TSElGVCAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfT1RQX0RPVVRfMjQwXzI1NV9NQVNLICAgICAgICAgICAgICAgICAgMHhGRkZGCisjZGVmaW5lIE1UNjMyNV9SR19PVFBfRE9VVF8yNDBfMjU1X1NISUZUICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19PVFBfRE9VVF8yNTZfMjcxX01BU0sgICAgICAgICAgICAgICAgICAweEZGRkYKKyNkZWZpbmUgTVQ2MzI1X1JHX09UUF9ET1VUXzI1Nl8yNzFfU0hJRlQgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX09UUF9ET1VUXzI3Ml8yODdfTUFTSyAgICAgICAgICAgICAgICAgIDB4RkZGRgorI2RlZmluZSBNVDYzMjVfUkdfT1RQX0RPVVRfMjcyXzI4N19TSElGVCAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfT1RQX0RPVVRfMjg4XzMwM19NQVNLICAgICAgICAgICAgICAgICAgMHhGRkZGCisjZGVmaW5lIE1UNjMyNV9SR19PVFBfRE9VVF8yODhfMzAzX1NISUZUICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19PVFBfRE9VVF8zMDRfMzE5X01BU0sgICAgICAgICAgICAgICAgICAweEZGRkYKKyNkZWZpbmUgTVQ2MzI1X1JHX09UUF9ET1VUXzMwNF8zMTlfU0hJRlQgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX09UUF9ET1VUXzMyMF8zMzVfTUFTSyAgICAgICAgICAgICAgICAgIDB4RkZGRgorI2RlZmluZSBNVDYzMjVfUkdfT1RQX0RPVVRfMzIwXzMzNV9TSElGVCAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfT1RQX0RPVVRfMzM2XzM1MV9NQVNLICAgICAgICAgICAgICAgICAgMHhGRkZGCisjZGVmaW5lIE1UNjMyNV9SR19PVFBfRE9VVF8zMzZfMzUxX1NISUZUICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19PVFBfRE9VVF8zNTJfMzY3X01BU0sgICAgICAgICAgICAgICAgICAweEZGRkYKKyNkZWZpbmUgTVQ2MzI1X1JHX09UUF9ET1VUXzM1Ml8zNjdfU0hJRlQgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX09UUF9ET1VUXzM2OF8zODNfTUFTSyAgICAgICAgICAgICAgICAgIDB4RkZGRgorI2RlZmluZSBNVDYzMjVfUkdfT1RQX0RPVVRfMzY4XzM4M19TSElGVCAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfT1RQX0RPVVRfMzg0XzM5OV9NQVNLICAgICAgICAgICAgICAgICAgMHhGRkZGCisjZGVmaW5lIE1UNjMyNV9SR19PVFBfRE9VVF8zODRfMzk5X1NISUZUICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19PVFBfRE9VVF80MDBfNDE1X01BU0sgICAgICAgICAgICAgICAgICAweEZGRkYKKyNkZWZpbmUgTVQ2MzI1X1JHX09UUF9ET1VUXzQwMF80MTVfU0hJRlQgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX09UUF9ET1VUXzQxNl80MzFfTUFTSyAgICAgICAgICAgICAgICAgIDB4RkZGRgorI2RlZmluZSBNVDYzMjVfUkdfT1RQX0RPVVRfNDE2XzQzMV9TSElGVCAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfT1RQX0RPVVRfNDMyXzQ0N19NQVNLICAgICAgICAgICAgICAgICAgMHhGRkZGCisjZGVmaW5lIE1UNjMyNV9SR19PVFBfRE9VVF80MzJfNDQ3X1NISUZUICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19PVFBfRE9VVF80NDhfNDYzX01BU0sgICAgICAgICAgICAgICAgICAweEZGRkYKKyNkZWZpbmUgTVQ2MzI1X1JHX09UUF9ET1VUXzQ0OF80NjNfU0hJRlQgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX09UUF9ET1VUXzQ2NF80NzlfTUFTSyAgICAgICAgICAgICAgICAgIDB4RkZGRgorI2RlZmluZSBNVDYzMjVfUkdfT1RQX0RPVVRfNDY0XzQ3OV9TSElGVCAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfT1RQX0RPVVRfNDgwXzQ5NV9NQVNLICAgICAgICAgICAgICAgICAgMHhGRkZGCisjZGVmaW5lIE1UNjMyNV9SR19PVFBfRE9VVF80ODBfNDk1X1NISUZUICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19PVFBfRE9VVF80OTZfNTExX01BU0sgICAgICAgICAgICAgICAgICAweEZGRkYKKyNkZWZpbmUgTVQ2MzI1X1JHX09UUF9ET1VUXzQ5Nl81MTFfU0hJRlQgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX09UUF9WQUxfMF8xNV9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4RkZGRgorI2RlZmluZSBNVDYzMjVfUkdfT1RQX1ZBTF8wXzE1X1NISUZUICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfT1RQX1ZBTF8xNl8zMV9NQVNLICAgICAgICAgICAgICAgICAgICAgMHhGRkZGCisjZGVmaW5lIE1UNjMyNV9SR19PVFBfVkFMXzE2XzMxX1NISUZUICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19PVFBfVkFMXzMyXzQ3X01BU0sgICAgICAgICAgICAgICAgICAgICAweEZGRkYKKyNkZWZpbmUgTVQ2MzI1X1JHX09UUF9WQUxfMzJfNDdfU0hJRlQgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX09UUF9WQUxfNDhfNjNfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4RkZGRgorI2RlZmluZSBNVDYzMjVfUkdfT1RQX1ZBTF80OF82M19TSElGVCAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfT1RQX1ZBTF82NF83OV9NQVNLICAgICAgICAgICAgICAgICAgICAgMHhGRkZGCisjZGVmaW5lIE1UNjMyNV9SR19PVFBfVkFMXzY0Xzc5X1NISUZUICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19PVFBfVkFMXzgwXzk1X01BU0sgICAgICAgICAgICAgICAgICAgICAweEZGRkYKKyNkZWZpbmUgTVQ2MzI1X1JHX09UUF9WQUxfODBfOTVfU0hJRlQgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX09UUF9WQUxfOTZfMTExX01BU0sgICAgICAgICAgICAgICAgICAgIDB4RkZGRgorI2RlZmluZSBNVDYzMjVfUkdfT1RQX1ZBTF85Nl8xMTFfU0hJRlQgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfT1RQX1ZBTF8xMTJfMTI3X01BU0sgICAgICAgICAgICAgICAgICAgMHhGRkZGCisjZGVmaW5lIE1UNjMyNV9SR19PVFBfVkFMXzExMl8xMjdfU0hJRlQgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19PVFBfVkFMXzEyOF8xNDNfTUFTSyAgICAgICAgICAgICAgICAgICAweEZGRkYKKyNkZWZpbmUgTVQ2MzI1X1JHX09UUF9WQUxfMTI4XzE0M19TSElGVCAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX09UUF9WQUxfMTQ0XzE1OV9NQVNLICAgICAgICAgICAgICAgICAgIDB4RkZGRgorI2RlZmluZSBNVDYzMjVfUkdfT1RQX1ZBTF8xNDRfMTU5X1NISUZUICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfT1RQX1ZBTF8xNjBfMTc1X01BU0sgICAgICAgICAgICAgICAgICAgMHhGRkZGCisjZGVmaW5lIE1UNjMyNV9SR19PVFBfVkFMXzE2MF8xNzVfU0hJRlQgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19PVFBfVkFMXzE3Nl8xOTFfTUFTSyAgICAgICAgICAgICAgICAgICAweEZGRkYKKyNkZWZpbmUgTVQ2MzI1X1JHX09UUF9WQUxfMTc2XzE5MV9TSElGVCAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX09UUF9WQUxfMTkyXzIwN19NQVNLICAgICAgICAgICAgICAgICAgIDB4RkZGRgorI2RlZmluZSBNVDYzMjVfUkdfT1RQX1ZBTF8xOTJfMjA3X1NISUZUICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfT1RQX1ZBTF8yMDhfMjIzX01BU0sgICAgICAgICAgICAgICAgICAgMHhGRkZGCisjZGVmaW5lIE1UNjMyNV9SR19PVFBfVkFMXzIwOF8yMjNfU0hJRlQgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19PVFBfVkFMXzIyNF8yMzlfTUFTSyAgICAgICAgICAgICAgICAgICAweEZGRkYKKyNkZWZpbmUgTVQ2MzI1X1JHX09UUF9WQUxfMjI0XzIzOV9TSElGVCAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX09UUF9WQUxfMjQwXzI1NV9NQVNLICAgICAgICAgICAgICAgICAgIDB4RkZGRgorI2RlZmluZSBNVDYzMjVfUkdfT1RQX1ZBTF8yNDBfMjU1X1NISUZUICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfT1RQX1ZBTF8yNTZfMjcxX01BU0sgICAgICAgICAgICAgICAgICAgMHhGRkZGCisjZGVmaW5lIE1UNjMyNV9SR19PVFBfVkFMXzI1Nl8yNzFfU0hJRlQgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19PVFBfVkFMXzI3Ml8yODdfTUFTSyAgICAgICAgICAgICAgICAgICAweEZGRkYKKyNkZWZpbmUgTVQ2MzI1X1JHX09UUF9WQUxfMjcyXzI4N19TSElGVCAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX09UUF9WQUxfMjg4XzMwM19NQVNLICAgICAgICAgICAgICAgICAgIDB4RkZGRgorI2RlZmluZSBNVDYzMjVfUkdfT1RQX1ZBTF8yODhfMzAzX1NISUZUICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfT1RQX1ZBTF8zMDRfMzE5X01BU0sgICAgICAgICAgICAgICAgICAgMHhGRkZGCisjZGVmaW5lIE1UNjMyNV9SR19PVFBfVkFMXzMwNF8zMTlfU0hJRlQgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19PVFBfVkFMXzMyMF8zMzVfTUFTSyAgICAgICAgICAgICAgICAgICAweEZGRkYKKyNkZWZpbmUgTVQ2MzI1X1JHX09UUF9WQUxfMzIwXzMzNV9TSElGVCAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX09UUF9WQUxfMzM2XzM1MV9NQVNLICAgICAgICAgICAgICAgICAgIDB4RkZGRgorI2RlZmluZSBNVDYzMjVfUkdfT1RQX1ZBTF8zMzZfMzUxX1NISUZUICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfT1RQX1ZBTF8zNTJfMzY3X01BU0sgICAgICAgICAgICAgICAgICAgMHhGRkZGCisjZGVmaW5lIE1UNjMyNV9SR19PVFBfVkFMXzM1Ml8zNjdfU0hJRlQgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19PVFBfVkFMXzM2OF8zODNfTUFTSyAgICAgICAgICAgICAgICAgICAweEZGRkYKKyNkZWZpbmUgTVQ2MzI1X1JHX09UUF9WQUxfMzY4XzM4M19TSElGVCAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX09UUF9WQUxfMzg0XzM5OV9NQVNLICAgICAgICAgICAgICAgICAgIDB4RkZGRgorI2RlZmluZSBNVDYzMjVfUkdfT1RQX1ZBTF8zODRfMzk5X1NISUZUICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfT1RQX1ZBTF80MDBfNDE1X01BU0sgICAgICAgICAgICAgICAgICAgMHhGRkZGCisjZGVmaW5lIE1UNjMyNV9SR19PVFBfVkFMXzQwMF80MTVfU0hJRlQgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19PVFBfVkFMXzQxNl80MzFfTUFTSyAgICAgICAgICAgICAgICAgICAweEZGRkYKKyNkZWZpbmUgTVQ2MzI1X1JHX09UUF9WQUxfNDE2XzQzMV9TSElGVCAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX09UUF9WQUxfNDMyXzQ0N19NQVNLICAgICAgICAgICAgICAgICAgIDB4RkZGRgorI2RlZmluZSBNVDYzMjVfUkdfT1RQX1ZBTF80MzJfNDQ3X1NISUZUICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfT1RQX1ZBTF80NDhfNDYzX01BU0sgICAgICAgICAgICAgICAgICAgMHhGRkZGCisjZGVmaW5lIE1UNjMyNV9SR19PVFBfVkFMXzQ0OF80NjNfU0hJRlQgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19PVFBfVkFMXzQ2NF80NzlfTUFTSyAgICAgICAgICAgICAgICAgICAweEZGRkYKKyNkZWZpbmUgTVQ2MzI1X1JHX09UUF9WQUxfNDY0XzQ3OV9TSElGVCAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX09UUF9WQUxfNDgwXzQ5NV9NQVNLICAgICAgICAgICAgICAgICAgIDB4RkZGRgorI2RlZmluZSBNVDYzMjVfUkdfT1RQX1ZBTF80ODBfNDk1X1NISUZUICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfT1RQX1ZBTF80OTZfNTExX01BU0sgICAgICAgICAgICAgICAgICAgMHhGRkZGCisjZGVmaW5lIE1UNjMyNV9SR19PVFBfVkFMXzQ5Nl81MTFfU0hJRlQgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9NSVhfRU9TQzMyX1NUUF9MUERUQl9NQVNLICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X01JWF9FT1NDMzJfU1RQX0xQRFRCX1NISUZUICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgTVQ2MzI1X01JWF9FT1NDMzJfU1RQX0xQREVOX01BU0sgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfTUlYX0VPU0MzMl9TVFBfTFBERU5fU0hJRlQgICAgICAgICAgICAgICAgMgorI2RlZmluZSBNVDYzMjVfTUlYX1hPU0MzMl9TVFBfUFdEQl9NQVNLICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9NSVhfWE9TQzMyX1NUUF9QV0RCX1NISUZUICAgICAgICAgICAgICAgICAzCisjZGVmaW5lIE1UNjMyNV9NSVhfWE9TQzMyX1NUUF9MUERUQl9NQVNLICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X01JWF9YT1NDMzJfU1RQX0xQRFRCX1NISUZUICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X01JWF9YT1NDMzJfU1RQX0xQREVOX01BU0sgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfTUlYX1hPU0MzMl9TVFBfTFBERU5fU0hJRlQgICAgICAgICAgICAgICAgNQorI2RlZmluZSBNVDYzMjVfTUlYX1hPU0MzMl9TVFBfTFBEUlNUX01BU0sgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9NSVhfWE9TQzMyX1NUUF9MUERSU1RfU0hJRlQgICAgICAgICAgICAgICA2CisjZGVmaW5lIE1UNjMyNV9NSVhfWE9TQzMyX1NUUF9DQUxJX01BU0sgICAgICAgICAgICAgICAgICAweDFGCisjZGVmaW5lIE1UNjMyNV9NSVhfWE9TQzMyX1NUUF9DQUxJX1NISUZUICAgICAgICAgICAgICAgICA3CisjZGVmaW5lIE1UNjMyNV9TVE1QX01PREVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1NUTVBfTU9ERV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgIDEyCisjZGVmaW5lIE1UNjMyNV9NSVhfRU9TQzMyX1NUUF9DSE9QX0VOX01BU0sgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X01JWF9FT1NDMzJfU1RQX0NIT1BfRU5fU0hJRlQgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X01JWF9EQ1hPX1NUUF9MVlNIX0VOX01BU0sgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfTUlYX0RDWE9fU1RQX0xWU0hfRU5fU0hJRlQgICAgICAgICAgICAgICAgMQorI2RlZmluZSBNVDYzMjVfTUlYX1BNVV9TVFBfRERMT19WUlRDX01BU0sgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9NSVhfUE1VX1NUUF9ERExPX1ZSVENfU0hJRlQgICAgICAgICAgICAgICAyCisjZGVmaW5lIE1UNjMyNV9NSVhfUE1VX1NUUF9ERExPX1ZSVENfRU5fTUFTSyAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X01JWF9QTVVfU1RQX0RETE9fVlJUQ19FTl9TSElGVCAgICAgICAgICAgIDMKKyNkZWZpbmUgTVQ2MzI1X01JWF9SVENfU1RQX1hPU0MzMl9FTkJfTUFTSyAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfTUlYX1JUQ19TVFBfWE9TQzMyX0VOQl9TSElGVCAgICAgICAgICAgICAgNAorI2RlZmluZSBNVDYzMjVfTUlYX0RDWE9fU1RQX1RFU1RfREVHTElUQ0hfTU9ERV9NQVNLICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9NSVhfRENYT19TVFBfVEVTVF9ERUdMSVRDSF9NT0RFX1NISUZUICAgICA1CisjZGVmaW5lIE1UNjMyNV9NSVhfRU9TQzMyX1NUUF9SU1ZfTUFTSyAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X01JWF9FT1NDMzJfU1RQX1JTVl9TSElGVCAgICAgICAgICAgICAgICAgIDYKKyNkZWZpbmUgTVQ2MzI1X01JWF9FT1NDMzJfVkNUX0VOX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfTUlYX0VPU0MzMl9WQ1RfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfTUlYX0VPU0MzMl9PUFRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9NSVhfRU9TQzMyX09QVF9TSElGVCAgICAgICAgICAgICAgICAgICAgICA5CisjZGVmaW5lIE1UNjMyNV9NSVhfUlRDX1NUUF9ERUJVR19PVVRfTUFTSyAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X01JWF9SVENfU1RQX0RFQlVHX09VVF9TSElGVCAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X01JWF9SVENfU1RQX0RFQlVHX1NFTF9NQVNLICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfTUlYX1JUQ19TVFBfREVCVUdfU0VMX1NISUZUICAgICAgICAgICAgICAgNAorI2RlZmluZSBNVDYzMjVfTUlYX1JUQ19TVFBfS19FT1NDMzJfRU5fTUFTSyAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9NSVhfUlRDX1NUUF9LX0VPU0MzMl9FTl9TSElGVCAgICAgICAgICAgICA3CisjZGVmaW5lIE1UNjMyNV9NSVhfUlRDX1NUUF9FTUJDS19TRUxfTUFTSyAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X01JWF9SVENfU1RQX0VNQkNLX1NFTF9TSElGVCAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X01JWF9TVFBfQkJXQUtFVVBfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfTUlYX1NUUF9CQldBS0VVUF9TSElGVCAgICAgICAgICAgICAgICAgICAgOQorI2RlZmluZSBNVDYzMjVfTUlYX1NUUF9SVENfRERMT19NQVNLICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9NSVhfU1RQX1JUQ19ERExPX1NISUZUICAgICAgICAgICAgICAgICAgICAxMAorI2RlZmluZSBNVDYzMjVfTUlYX1JUQ19YT1NDMzJfRU5CX01BU0sgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9NSVhfUlRDX1hPU0MzMl9FTkJfU0hJRlQgICAgICAgICAgICAgICAgICAxMQorI2RlZmluZSBNVDYzMjVfTUlYX0VGVVNFX1hPU0MzMl9FTkJfT1BUX01BU0sgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9NSVhfRUZVU0VfWE9TQzMyX0VOQl9PUFRfU0hJRlQgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfRkdfT05fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9GR19PTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9GR19DQUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X0ZHX0NBTF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X0ZHX0FVVE9DQUxSQVRFX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4NworI2RlZmluZSBNVDYzMjVfRkdfQVVUT0NBTFJBVEVfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgNAorI2RlZmluZSBNVDYzMjVfRkdfU1dfQ1JfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9GR19TV19DUl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICA4CisjZGVmaW5lIE1UNjMyNV9GR19TV19SRUFEX1BSRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0ZHX1NXX1JFQURfUFJFX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDkKKyNkZWZpbmUgTVQ2MzI1X0ZHX0xBVENIREFUQV9TVF9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfRkdfTEFUQ0hEQVRBX1NUX1NISUZUICAgICAgICAgICAgICAgICAgICAgMTAKKyNkZWZpbmUgTVQ2MzI1X0ZHX1NXX0NMRUFSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfRkdfU1dfQ0xFQVJfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgMTEKKyNkZWZpbmUgTVQ2MzI1X0ZHX09GRlNFVF9SU1RfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfRkdfT0ZGU0VUX1JTVF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgMTIKKyNkZWZpbmUgTVQ2MzI1X0ZHX1RJTUVfUlNUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfRkdfVElNRV9SU1RfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgMTMKKyNkZWZpbmUgTVQ2MzI1X0ZHX0NIQVJHRV9SU1RfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfRkdfQ0hBUkdFX1JTVF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgMTQKKyNkZWZpbmUgTVQ2MzI1X0ZHX1NXX1JTVENMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfRkdfU1dfUlNUQ0xSX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgMTUKKyNkZWZpbmUgTVQ2MzI1X0ZHX0NBUl8zMV8xNl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkZGRgorI2RlZmluZSBNVDYzMjVfRkdfQ0FSXzMxXzE2X1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfRkdfQ0FSXzE1XzAwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHhGRkZGCisjZGVmaW5lIE1UNjMyNV9GR19DQVJfMTVfMDBfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9GR19OVEVSXzI5XzE2X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDNGRkYKKyNkZWZpbmUgTVQ2MzI1X0ZHX05URVJfMjlfMTZfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X0ZHX05URVJfMTVfMDBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4RkZGRgorI2RlZmluZSBNVDYzMjVfRkdfTlRFUl8xNV8wMF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfRkdfQkxUUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhGRkZGCisjZGVmaW5lIE1UNjMyNV9GR19CTFRSX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9GR19CRlRSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEZGRkYKKyNkZWZpbmUgTVQ2MzI1X0ZHX0JGVFJfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X0ZHX0NVUlJFTlRfT1VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4RkZGRgorI2RlZmluZSBNVDYzMjVfRkdfQ1VSUkVOVF9PVVRfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfRkdfQURKVVNUX09GRlNFVF9WQUxVRV9NQVNLICAgICAgICAgICAgICAgMHhGRkZGCisjZGVmaW5lIE1UNjMyNV9GR19BREpVU1RfT0ZGU0VUX1ZBTFVFX1NISUZUICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9GR19PRkZTRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEZGRkYKKyNkZWZpbmUgTVQ2MzI1X0ZHX09GRlNFVF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX0ZHUklOVE1PREVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfRkdSSU5UTU9ERV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfRkdBTkFMT0dURVNUX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHhGCisjZGVmaW5lIE1UNjMyNV9SR19GR0FOQUxPR1RFU1RfU0hJRlQgICAgICAgICAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9SR19TUEFSRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEZGCisjZGVmaW5lIE1UNjMyNV9SR19TUEFSRV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICA4CisjZGVmaW5lIE1UNjMyNV9GR19PU1JfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEYKKyNkZWZpbmUgTVQ2MzI1X0ZHX09TUl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X0ZHX0FESl9PRkZTRVRfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfRkdfQURKX09GRlNFVF9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfRkdfQURDX0FVVE9SU1RfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9GR19BRENfQVVUT1JTVF9TSElGVCAgICAgICAgICAgICAgICAgICAgICA5CisjZGVmaW5lIE1UNjMyNV9GR19GSVIxQllQQVNTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0ZHX0ZJUjFCWVBBU1NfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X0ZHX0ZJUjJCWVBBU1NfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfRkdfRklSMkJZUEFTU19TSElGVCAgICAgICAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBNVDYzMjVfRkdfTF9DVVJfSU5UX1NUU19NQVNLICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9GR19MX0NVUl9JTlRfU1RTX1NISUZUICAgICAgICAgICAgICAgICAgICAyCisjZGVmaW5lIE1UNjMyNV9GR19IX0NVUl9JTlRfU1RTX01BU0sgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0ZHX0hfQ1VSX0lOVF9TVFNfU0hJRlQgICAgICAgICAgICAgICAgICAgIDMKKyNkZWZpbmUgTVQ2MzI1X0ZHX0xfSU5UX1NUU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfRkdfTF9JTlRfU1RTX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgNAorI2RlZmluZSBNVDYzMjVfRkdfSF9JTlRfU1RTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9GR19IX0lOVF9TVFNfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICA1CisjZGVmaW5lIE1UNjMyNV9GR19BRENfUlNUREVURUNUX01BU0sgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0ZHX0FEQ19SU1RERVRFQ1RfU0hJRlQgICAgICAgICAgICAgICAgICAgIDcKKyNkZWZpbmUgTVQ2MzI1X0ZHX1NMUF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfRkdfU0xQX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfRkdfWkNWX0RFVF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9GR19aQ1ZfREVUX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICA5CisjZGVmaW5lIE1UNjMyNV9SR19GR19BVVhBRENfUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0ZHX0FVWEFEQ19SX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDEwCisjZGVmaW5lIE1UNjMyNV9GR0FEQ19FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0ZHQURDX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEyCisjZGVmaW5lIE1UNjMyNV9GR0NBTF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0ZHQ0FMX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEzCisjZGVmaW5lIE1UNjMyNV9GR19SU1RfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0ZHX1JTVF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE0CisjZGVmaW5lIE1UNjMyNV9GR19DSUMyX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEZGRkYKKyNkZWZpbmUgTVQ2MzI1X0ZHX0NJQzJfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X0ZHX1NMUF9DVVJfVEhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4RkZGRgorI2RlZmluZSBNVDYzMjVfRkdfU0xQX0NVUl9USF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfRkdfU0xQX1RJTUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgMHhGRgorI2RlZmluZSBNVDYzMjVfRkdfU0xQX1RJTUVfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfRkdfU1JDVk9MVEVOX0ZUSU1FX01BU0sgICAgICAgICAgICAgICAgICAgMHhGRgorI2RlZmluZSBNVDYzMjVfRkdfU1JDVk9MVEVOX0ZUSU1FX1NISUZUICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfRkdfREVUX1RJTUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgMHhGRgorI2RlZmluZSBNVDYzMjVfRkdfREVUX1RJTUVfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfRkdfWkNWX0NBUl8zMV8xNl9NQVNLICAgICAgICAgICAgICAgICAgICAgMHhGRkZGCisjZGVmaW5lIE1UNjMyNV9GR19aQ1ZfQ0FSXzMxXzE2X1NISUZUICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9GR19aQ1ZfQ0FSXzE1XzAwX01BU0sgICAgICAgICAgICAgICAgICAgICAweEZGRkYKKyNkZWZpbmUgTVQ2MzI1X0ZHX1pDVl9DQVJfMTVfMDBfU0hJRlQgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X0ZHX1pDVl9DVVJSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkZGRgorI2RlZmluZSBNVDYzMjVfRkdfWkNWX0NVUlJfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfRkdfUl9DVVJSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhGRkZGCisjZGVmaW5lIE1UNjMyNV9GR19SX0NVUlJfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9GR19NT0RFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0ZHX01PREVfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X0ZHX1JTVF9TV19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfRkdfUlNUX1NXX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBNVDYzMjVfRkdfRkdDQUxfRU5fU1dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9GR19GR0NBTF9FTl9TV19TSElGVCAgICAgICAgICAgICAgICAgICAgICAyCisjZGVmaW5lIE1UNjMyNV9GR19GR0FEQ19FTl9TV19NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0ZHX0ZHQURDX0VOX1NXX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDMKKyNkZWZpbmUgTVQ2MzI1X0ZHX1JTVjFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RgorI2RlZmluZSBNVDYzMjVfRkdfUlNWMV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNAorI2RlZmluZSBNVDYzMjVfRkdfVEVTVF9NT0RFMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9GR19URVNUX01PREUwX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAxNAorI2RlZmluZSBNVDYzMjVfRkdfVEVTVF9NT0RFMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9GR19URVNUX01PREUxX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAxNQorI2RlZmluZSBNVDYzMjVfRkdfR0FJTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxRkZGCisjZGVmaW5lIE1UNjMyNV9GR19HQUlOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9GR19DVVJfSFRIX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAweEZGRkYKKyNkZWZpbmUgTVQ2MzI1X0ZHX0NVUl9IVEhfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X0ZHX0NVUl9MVEhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkZGRgorI2RlZmluZSBNVDYzMjVfRkdfQ1VSX0xUSF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfRkdfWkNWX0RFVF9USU1FX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgzRgorI2RlZmluZSBNVDYzMjVfRkdfWkNWX0RFVF9USU1FX1NISUZUICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfRkdfWkNWX0NBUl9USF8zMF8xNl9NQVNLICAgICAgICAgICAgICAgICAgMHg3RkZGCisjZGVmaW5lIE1UNjMyNV9GR19aQ1ZfQ0FSX1RIXzMwXzE2X1NISUZUICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9GR19aQ1ZfQ0FSX1RIXzE1XzAwX01BU0sgICAgICAgICAgICAgICAgICAweEZGRkYKKyNkZWZpbmUgTVQ2MzI1X0ZHX1pDVl9DQVJfVEhfMTVfMDBfU0hJRlQgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX0ZHSU5UTU9ERV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfRkdJTlRNT0RFX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgNAorI2RlZmluZSBNVDYzMjVfUkdfQVVEREFDTFBXUlVQX1ZBVURQMTVfTUFTSyAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19BVUREQUNMUFdSVVBfVkFVRFAxNV9TSElGVCAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19BVUREQUNSUFdSVVBfVkFVRFAxNV9NQVNLICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVRERBQ1JQV1JVUF9WQVVEUDE1X1NISUZUICAgICAgICAgICAgIDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVRF9EQUNfUFdSX1VQX1ZBMjhfTUFTSyAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQVVEX0RBQ19QV1JfVVBfVkEyOF9TSElGVCAgICAgICAgICAgICAgMgorI2RlZmluZSBNVDYzMjVfUkdfQVVEX0RBQ19QV0xfVVBfVkEyOF9NQVNLICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19BVURfREFDX1BXTF9VUF9WQTI4X1NISUZUICAgICAgICAgICAgICAzCisjZGVmaW5lIE1UNjMyNV9SR19BVURIU1BXUlVQX1ZBVURQMTVfTUFTSyAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVREhTUFdSVVBfVkFVRFAxNV9TSElGVCAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVREhQTFBXUlVQX1ZBVURQMTVfTUFTSyAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQVVESFBMUFdSVVBfVkFVRFAxNV9TSElGVCAgICAgICAgICAgICAgNQorI2RlZmluZSBNVDYzMjVfUkdfQVVESFBSUFdSVVBfVkFVRFAxNV9NQVNLICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19BVURIUFJQV1JVUF9WQVVEUDE1X1NISUZUICAgICAgICAgICAgICA2CisjZGVmaW5lIE1UNjMyNV9SR19BVURIU01VWElOUFVUU0VMX1ZBVURQMTVfTUFTSyAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVREhTTVVYSU5QVVRTRUxfVkFVRFAxNV9TSElGVCAgICAgICAgIDcKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVREhQTE1VWElOUFVUU0VMX1ZBVURQMTVfTUFTSyAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUkdfQVVESFBMTVVYSU5QVVRTRUxfVkFVRFAxNV9TSElGVCAgICAgICAgOQorI2RlZmluZSBNVDYzMjVfUkdfQVVESFBSTVVYSU5QVVRTRUxfVkFVRFAxNV9NQVNLICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19BVURIUFJNVVhJTlBVVFNFTF9WQVVEUDE1X1NISUZUICAgICAgICAxMQorI2RlZmluZSBNVDYzMjVfUkdfQVVESFNTQ0RJU0FCTEVfVkFVRFAxNV9NQVNLICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19BVURIU1NDRElTQUJMRV9WQVVEUDE1X1NISUZUICAgICAgICAgICAxMworI2RlZmluZSBNVDYzMjVfUkdfQVVESFBMU0NESVNBQkxFX1ZBVURQMTVfTUFTSyAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19BVURIUExTQ0RJU0FCTEVfVkFVRFAxNV9TSElGVCAgICAgICAgICAxNAorI2RlZmluZSBNVDYzMjVfUkdfQVVESFBSU0NESVNBQkxFX1ZBVURQMTVfTUFTSyAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19BVURIUFJTQ0RJU0FCTEVfVkFVRFAxNV9TSElGVCAgICAgICAgICAxNQorI2RlZmluZSBNVDYzMjVfUkdfQVVESFBMQlNDQ1VSUkVOVF9WQVVEUDE1X01BU0sgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19BVURIUExCU0NDVVJSRU5UX1ZBVURQMTVfU0hJRlQgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19BVURIUFJCU0NDVVJSRU5UX1ZBVURQMTVfTUFTSyAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVREhQUkJTQ0NVUlJFTlRfVkFVRFAxNV9TSElGVCAgICAgICAgIDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVREhTQlNDQ1VSUkVOVF9WQVVEUDE1X01BU0sgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQVVESFNCU0NDVVJSRU5UX1ZBVURQMTVfU0hJRlQgICAgICAgICAgMgorI2RlZmluZSBNVDYzMjVfUkdfQVVESFBTVEFSVFVQX1ZBVURQMTVfTUFTSyAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19BVURIUFNUQVJUVVBfVkFVRFAxNV9TSElGVCAgICAgICAgICAgICAzCisjZGVmaW5lIE1UNjMyNV9SR19BVURIU1NUQVJUVVBfVkFVRFAxNV9NQVNLICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVREhTU1RBUlRVUF9WQVVEUDE1X1NISUZUICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1JHX1BSRUNIQVJHRUJVRl9FTl9WQVVEUDE1X01BU0sgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfUFJFQ0hBUkdFQlVGX0VOX1ZBVURQMTVfU0hJRlQgICAgICAgICAgNQorI2RlZmluZSBNVDYzMjVfUkdfSFBJTlBVVFNUQkVOSF9WQVVEUDE1X01BU0sgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19IUElOUFVUU1RCRU5IX1ZBVURQMTVfU0hJRlQgICAgICAgICAgICA2CisjZGVmaW5lIE1UNjMyNV9SR19IUE9VVFBVVFNUQkVOSF9WQVVEUDE1X01BU0sgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0hQT1VUUFVUU1RCRU5IX1ZBVURQMTVfU0hJRlQgICAgICAgICAgIDcKKyNkZWZpbmUgTVQ2MzI1X1JHX0hQSU5QVVRSRVNFVDBfVkFVRFAxNV9NQVNLICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfSFBJTlBVVFJFU0VUMF9WQVVEUDE1X1NISUZUICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfUkdfSFBPVVRQVVRSRVNFVDBfVkFVRFAxNV9NQVNLICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19IUE9VVFBVVFJFU0VUMF9WQVVEUDE1X1NISUZUICAgICAgICAgICA5CisjZGVmaW5lIE1UNjMyNV9SR19IUE9VVF9TSE9SVFZDTV9WQVVEUDE1X01BU0sgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0hQT1VUX1NIT1JUVkNNX1ZBVURQMTVfU0hJRlQgICAgICAgICAgIDEwCisjZGVmaW5lIE1UNjMyNV9SR19IU0lOUFVUU1RCRU5IX1ZBVURQMTVfTUFTSyAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0hTSU5QVVRTVEJFTkhfVkFVRFAxNV9TSElGVCAgICAgICAgICAgIDExCisjZGVmaW5lIE1UNjMyNV9SR19IU09VVFBVVFNUQkVOSF9WQVVEUDE1X01BU0sgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0hTT1VUUFVUU1RCRU5IX1ZBVURQMTVfU0hJRlQgICAgICAgICAgIDEyCisjZGVmaW5lIE1UNjMyNV9SR19IU0lOUFVUUkVTRVQwX1ZBVURQMTVfTUFTSyAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0hTSU5QVVRSRVNFVDBfVkFVRFAxNV9TSElGVCAgICAgICAgICAgIDEzCisjZGVmaW5lIE1UNjMyNV9SR19IU09VVFBVVFJFU0VUMF9WQVVEUDE1X01BU0sgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0hTT1VUUFVUUkVTRVQwX1ZBVURQMTVfU0hJRlQgICAgICAgICAgIDE0CisjZGVmaW5lIE1UNjMyNV9SR19IUE9VVFNUQl9SU0VMX1ZBVURQMTVfTUFTSyAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX0hQT1VUU1RCX1JTRUxfVkFVRFAxNV9TSElGVCAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX0hTT1VUX1NIT1JUVkNNX1ZBVURQMTVfTUFTSyAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfSFNPVVRfU0hPUlRWQ01fVkFVRFAxNV9TSElGVCAgICAgICAgICAgMgorI2RlZmluZSBNVDYzMjVfUkdfQVVESFBMVFJJTV9WQVVEUDE1X01BU0sgICAgICAgICAgICAgICAgMHhGCisjZGVmaW5lIE1UNjMyNV9SR19BVURIUExUUklNX1ZBVURQMTVfU0hJRlQgICAgICAgICAgICAgICAzCisjZGVmaW5lIE1UNjMyNV9SR19BVURIUFJUUklNX1ZBVURQMTVfTUFTSyAgICAgICAgICAgICAgICAweEYKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVREhQUlRSSU1fVkFVRFAxNV9TSElGVCAgICAgICAgICAgICAgIDcKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVREhQVFJJTV9FTl9WQVVEUDE1X01BU0sgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQVVESFBUUklNX0VOX1ZBVURQMTVfU0hJRlQgICAgICAgICAgICAgMTEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVREhQTEZJTkVUUklNX1ZBVURQMTVfTUFTSyAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUkdfQVVESFBMRklORVRSSU1fVkFVRFAxNV9TSElGVCAgICAgICAgICAgMTIKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVREhQUkZJTkVUUklNX1ZBVURQMTVfTUFTSyAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUkdfQVVESFBSRklORVRSSU1fVkFVRFAxNV9TSElGVCAgICAgICAgICAgMTQKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVRFRSSU1CVUZfRU5fVkFVRFAxNV9NQVNLICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQVVEVFJJTUJVRl9FTl9WQVVEUDE1X1NISUZUICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfQVVEVFJJTUJVRl9JTlBVVE1VWFNFTF9WQVVEUDE1X01BU0sgICAgMHhGCisjZGVmaW5lIE1UNjMyNV9SR19BVURUUklNQlVGX0lOUFVUTVVYU0VMX1ZBVURQMTVfU0hJRlQgICAxCisjZGVmaW5lIE1UNjMyNV9SR19BVURUUklNQlVGX0dBSU5TRUxfVkFVRFAxNV9NQVNLICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVRFRSSU1CVUZfR0FJTlNFTF9WQVVEUDE1X1NISUZUICAgICAgIDUKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVREhQU1BLREVUX0VOX1ZBVURQMTVfTUFTSyAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQVVESFBTUEtERVRfRU5fVkFVRFAxNV9TSElGVCAgICAgICAgICAgNworI2RlZmluZSBNVDYzMjVfUkdfQVVESFBTUEtERVRfSU5QVVRNVVhTRUxfVkFVRFAxNV9NQVNLICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19BVURIUFNQS0RFVF9JTlBVVE1VWFNFTF9WQVVEUDE1X1NISUZUICA4CisjZGVmaW5lIE1UNjMyNV9SR19BVURIUFNQS0RFVF9PVVRQVVRNVVhTRUxfVkFVRFAxNV9NQVNLICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVREhQU1BLREVUX09VVFBVVE1VWFNFTF9WQVVEUDE1X1NISUZUIDEwCisjZGVmaW5lIE1UNjMyNV9SR19BQklERUNfUkVTRVJWRURfVkEyOF9NQVNLICAgICAgICAgICAgICAweEZGCisjZGVmaW5lIE1UNjMyNV9SR19BQklERUNfUkVTRVJWRURfVkEyOF9TSElGVCAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19BQklERUNfUkVTRVJWRURfVkFVRFAxNV9NQVNLICAgICAgICAgICAweEZGCisjZGVmaW5lIE1UNjMyNV9SR19BQklERUNfUkVTRVJWRURfVkFVRFAxNV9TSElGVCAgICAgICAgICA4CisjZGVmaW5lIE1UNjMyNV9SR19BVURCSUFTQURKXzBfVkFVRFAxNV9NQVNLICAgICAgICAgICAgICAweDNGCisjZGVmaW5lIE1UNjMyNV9SR19BVURCSUFTQURKXzBfVkFVRFAxNV9TSElGVCAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9SR19BVURCSUFTQURKXzFfVkFVRFAxNV9NQVNLICAgICAgICAgICAgICAweDNGCisjZGVmaW5lIE1UNjMyNV9SR19BVURCSUFTQURKXzFfVkFVRFAxNV9TSElGVCAgICAgICAgICAgICAxMAorI2RlZmluZSBNVDYzMjVfUkdfQVVESUJJQVNQV1JETl9WQVVEUDE1X01BU0sgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19BVURJQklBU1BXUkROX1ZBVURQMTVfU0hJRlQgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19SU1RCX0RFQ09ERVJfVkEyOF9NQVNLICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1JTVEJfREVDT0RFUl9WQTI4X1NISUZUICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1JTVEJfRU5DT0RFUl9WQTI4X01BU0sgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfUlNUQl9FTkNPREVSX1ZBMjhfU0hJRlQgICAgICAgICAgICAgICAgMgorI2RlZmluZSBNVDYzMjVfUkdfU0VMX0RFQ09ERVJfOTZLX1ZBMjhfTUFTSyAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19TRUxfREVDT0RFUl85NktfVkEyOF9TSElGVCAgICAgICAgICAgICAzCisjZGVmaW5lIE1UNjMyNV9SR19TRUxfRU5DT0RFUl85NktfVkEyOF9NQVNLICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1NFTF9FTkNPREVSXzk2S19WQTI4X1NISUZUICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1JHX1NFTF9ERUxBWV9WQ09SRV9NQVNLICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfU0VMX0RFTEFZX1ZDT1JFX1NISUZUICAgICAgICAgICAgICAgICAgNQorI2RlZmluZSBNVDYzMjVfUkdfSENMRE9fRU5fVkExOF9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19IQ0xET19FTl9WQTE4X1NISUZUICAgICAgICAgICAgICAgICAgICA2CisjZGVmaW5lIE1UNjMyNV9SR19MQ0xET19FTl9WQTE4X01BU0sgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0xDTERPX0VOX1ZBMThfU0hJRlQgICAgICAgICAgICAgICAgICAgIDcKKyNkZWZpbmUgTVQ2MzI1X1JHX0xDTERPX0VOQ19FTl9WQTI4X01BU0sgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfTENMRE9fRU5DX0VOX1ZBMjhfU0hJRlQgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfUkdfVkEzM1JFRkdFTl9FTl9WQTE4X01BU0sgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WQTMzUkVGR0VOX0VOX1ZBMThfU0hJRlQgICAgICAgICAgICAgICA5CisjZGVmaW5lIE1UNjMyNV9SR19IQ0xET19QRERJU19FTl9WQTE4X01BU0sgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0hDTERPX1BERElTX0VOX1ZBMThfU0hJRlQgICAgICAgICAgICAgIDEwCisjZGVmaW5lIE1UNjMyNV9SR19IQ0xET19SRU1PVEVfU0VOU0VfVkExOF9NQVNLICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0hDTERPX1JFTU9URV9TRU5TRV9WQTE4X1NISUZUICAgICAgICAgIDExCisjZGVmaW5lIE1UNjMyNV9SR19MQ0xET19QRERJU19FTl9WQTE4X01BU0sgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0xDTERPX1BERElTX0VOX1ZBMThfU0hJRlQgICAgICAgICAgICAgIDEyCisjZGVmaW5lIE1UNjMyNV9SR19MQ0xET19SRU1PVEVfU0VOU0VfVkExOF9NQVNLICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0xDTERPX1JFTU9URV9TRU5TRV9WQTE4X1NISUZUICAgICAgICAgIDEzCisjZGVmaW5lIE1UNjMyNV9SR19MQ0xET19WT1NFTF9WQTE4X01BU0sgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0xDTERPX1ZPU0VMX1ZBMThfU0hJRlQgICAgICAgICAgICAgICAgIDE0CisjZGVmaW5lIE1UNjMyNV9SR19IQ0xET19WT1NFTF9WQTE4X01BU0sgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0hDTERPX1ZPU0VMX1ZBMThfU0hJRlQgICAgICAgICAgICAgICAgIDE1CisjZGVmaW5lIE1UNjMyNV9SR19MQ0xET19FTkNfUERESVNfRU5fVkEyOF9NQVNLICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0xDTERPX0VOQ19QRERJU19FTl9WQTI4X1NISUZUICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX0xDTERPX0VOQ19SRU1PVEVfU0VOU0VfVkEyOF9NQVNLICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfTENMRE9fRU5DX1JFTU9URV9TRU5TRV9WQTI4X1NISUZUICAgICAgMQorI2RlZmluZSBNVDYzMjVfUkdfVkEyOFJFRkdFTl9FTl9WQTI4X01BU0sgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WQTI4UkVGR0VOX0VOX1ZBMjhfU0hJRlQgICAgICAgICAgICAgICAyCisjZGVmaW5lIE1UNjMyNV9SR19BVURQTVVfUkVTRVJWRURfVkEyOF9NQVNLICAgICAgICAgICAgICAweEYKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVRFBNVV9SRVNFUlZFRF9WQTI4X1NISUZUICAgICAgICAgICAgIDMKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVRFBNVV9SRVNFUlZFRF9WQTE4X01BU0sgICAgICAgICAgICAgIDB4RgorI2RlZmluZSBNVDYzMjVfUkdfQVVEUE1VX1JFU0VSVkVEX1ZBMThfU0hJRlQgICAgICAgICAgICAgNworI2RlZmluZSBNVDYzMjVfUkdfQVVEUE1VX1JFU0VSVkVEX1ZBVURQMTVfTUFTSyAgICAgICAgICAgMHhGCisjZGVmaW5lIE1UNjMyNV9SR19BVURQTVVfUkVTRVJWRURfVkFVRFAxNV9TSElGVCAgICAgICAgICAxMQorI2RlZmluZSBNVDYzMjVfUkdfTlZSRUdfRU5fVkFVRFAxNV9NQVNLICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19OVlJFR19FTl9WQVVEUDE1X1NISUZUICAgICAgICAgICAgICAgICAxNQorI2RlZmluZSBNVDYzMjVfUkdfTlZSRUdfUFVMTDBWX1ZBVURQMTVfTUFTSyAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19OVlJFR19QVUxMMFZfVkFVRFAxNV9TSElGVCAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19BVURHTEJfUFdSRE5fVkEyOF9NQVNLICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVREdMQl9QV1JETl9WQTI4X1NISUZUICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVRFBSRUFNUExPTl9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQVVEUFJFQU1QTE9OX1NISUZUICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfQVVEUFJFQU1QTERDQ0VOX01BU0sgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19BVURQUkVBTVBMRENDRU5fU0hJRlQgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9SR19BVURQUkVBTVBMRENSUEVDSEFSR0VfTUFTSyAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVRFBSRUFNUExEQ1JQRUNIQVJHRV9TSElGVCAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVRFBSRUFNUExQR0FURVNUX01BU0sgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQVVEUFJFQU1QTFBHQVRFU1RfU0hJRlQgICAgICAgICAgICAgICAgMworI2RlZmluZSBNVDYzMjVfUkdfQVVEUFJFQU1QTFZTQ0FMRV9NQVNLICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19BVURQUkVBTVBMVlNDQUxFX1NISUZUICAgICAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9SR19BVURQUkVBTVBMSU5QVVRTRUxfTUFTSyAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVRFBSRUFNUExJTlBVVFNFTF9TSElGVCAgICAgICAgICAgICAgIDYKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVREFEQ0xQV1JVUF9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQVVEQURDTFBXUlVQX1NISUZUICAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfUkdfQVVEQURDTElOUFVUU0VMX01BU0sgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19BVURBRENMSU5QVVRTRUxfU0hJRlQgICAgICAgICAgICAgICAgICA5CisjZGVmaW5lIE1UNjMyNV9SR19BVURQUkVBTVBST05fTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVRFBSRUFNUFJPTl9TSElGVCAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVRFBSRUFNUFJEQ0NFTl9NQVNLICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQVVEUFJFQU1QUkRDQ0VOX1NISUZUICAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBNVDYzMjVfUkdfQVVEUFJFQU1QUkRDUlBFQ0hBUkdFX01BU0sgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19BVURQUkVBTVBSRENSUEVDSEFSR0VfU0hJRlQgICAgICAgICAgICAyCisjZGVmaW5lIE1UNjMyNV9SR19BVURQUkVBTVBSUEdBVEVTVF9NQVNLICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVRFBSRUFNUFJQR0FURVNUX1NISUZUICAgICAgICAgICAgICAgIDMKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVRFBSRUFNUFJWU0NBTEVfTUFTSyAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUkdfQVVEUFJFQU1QUlZTQ0FMRV9TSElGVCAgICAgICAgICAgICAgICAgNAorI2RlZmluZSBNVDYzMjVfUkdfQVVEUFJFQU1QUklOUFVUU0VMX01BU0sgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19BVURQUkVBTVBSSU5QVVRTRUxfU0hJRlQgICAgICAgICAgICAgICA2CisjZGVmaW5lIE1UNjMyNV9SR19BVURBRENSUFdSVVBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVREFEQ1JQV1JVUF9TSElGVCAgICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVREFEQ1JJTlBVVFNFTF9NQVNLICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUkdfQVVEQURDUklOUFVUU0VMX1NISUZUICAgICAgICAgICAgICAgICAgOQorI2RlZmluZSBNVDYzMjVfUkdfQVVEVUxIQUxGQklBU19NQVNLICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19BVURVTEhBTEZCSUFTX1NISUZUICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19BVURHTEJWT1dMUFdFTl9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVREdMQlZPV0xQV0VOX1NISUZUICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVRFBSRUFNUExQRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQVVEUFJFQU1QTFBFTl9TSElGVCAgICAgICAgICAgICAgICAgICAgMgorI2RlZmluZSBNVDYzMjVfUkdfQVVEQURDMVNUU1RBR0VMUEVOX01BU0sgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19BVURBREMxU1RTVEFHRUxQRU5fU0hJRlQgICAgICAgICAgICAgICAzCisjZGVmaW5lIE1UNjMyNV9SR19BVURBREMyTkRTVEFHRUxQRU5fTUFTSyAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVREFEQzJORFNUQUdFTFBFTl9TSElGVCAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVREFEQ0ZMQVNITFBFTl9NQVNLICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQVVEQURDRkxBU0hMUEVOX1NISUZUICAgICAgICAgICAgICAgICAgNQorI2RlZmluZSBNVDYzMjVfUkdfQVVEUFJFQU1QSUREVEVTVF9NQVNLICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19BVURQUkVBTVBJRERURVNUX1NISUZUICAgICAgICAgICAgICAgICA2CisjZGVmaW5lIE1UNjMyNV9SR19BVURBREMxU1RTVEFHRUlERFRFU1RfTUFTSyAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVREFEQzFTVFNUQUdFSUREVEVTVF9TSElGVCAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVREFEQzJORFNUQUdFSUREVEVTVF9NQVNLICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUkdfQVVEQURDMk5EU1RBR0VJRERURVNUX1NISUZUICAgICAgICAgICAgMTAKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVREFEQ1JFRkJVRklERFRFU1RfTUFTSyAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUkdfQVVEQURDUkVGQlVGSUREVEVTVF9TSElGVCAgICAgICAgICAgICAgMTIKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVREFEQ0ZMQVNISUREVEVTVF9NQVNLICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUkdfQVVEQURDRkxBU0hJRERURVNUX1NISUZUICAgICAgICAgICAgICAgMTQKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVREFEQ0RBQzBQMjVGU19NQVNLICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQVVEQURDREFDMFAyNUZTX1NISUZUICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfQVVEQURDQ0xLU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19BVURBRENDTEtTRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9SR19BVURBRENDTEtTT1VSQ0VfTUFTSyAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVREFEQ0NMS1NPVVJDRV9TSElGVCAgICAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVREFEQ0NMS0dFTk1PREVfTUFTSyAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUkdfQVVEQURDQ0xLR0VOTU9ERV9TSElGVCAgICAgICAgICAgICAgICAgNAorI2RlZmluZSBNVDYzMjVfUkdfQVVEUFJFQU1QQUFGRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19BVURQUkVBTVBBQUZFTl9TSElGVCAgICAgICAgICAgICAgICAgICA4CisjZGVmaW5lIE1UNjMyNV9SR19EQ0NWQ01CVUZMUE1PRFNFTF9NQVNLICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0RDQ1ZDTUJVRkxQTU9EU0VMX1NISUZUICAgICAgICAgICAgICAgIDkKKyNkZWZpbmUgTVQ2MzI1X1JHX0RDQ1ZDTUJVRkxQU1dFTl9NQVNLICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfRENDVkNNQlVGTFBTV0VOX1NISUZUICAgICAgICAgICAgICAgICAgMTAKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVRFNQQVJFUEdBX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MUYKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVRFNQQVJFUEdBX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDExCisjZGVmaW5lIE1UNjMyNV9SR19BVURBREMxU1RTVEFHRVNERU5CX01BU0sgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVREFEQzFTVFNUQUdFU0RFTkJfU0hJRlQgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVREFEQzJORFNUQUdFUkVTRVRfTUFTSyAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQVVEQURDMk5EU1RBR0VSRVNFVF9TSElGVCAgICAgICAgICAgICAgMQorI2RlZmluZSBNVDYzMjVfUkdfQVVEQURDM1JEU1RBR0VSRVNFVF9NQVNLICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19BVURBREMzUkRTVEFHRVJFU0VUX1NISUZUICAgICAgICAgICAgICAyCisjZGVmaW5lIE1UNjMyNV9SR19BVURBRENGU1JFU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVREFEQ0ZTUkVTRVRfU0hJRlQgICAgICAgICAgICAgICAgICAgIDMKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVREFEQ1dJREVDTV9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQVVEQURDV0lERUNNX1NISUZUICAgICAgICAgICAgICAgICAgICAgNAorI2RlZmluZSBNVDYzMjVfUkdfQVVEQURDTk9QQVRFU1RfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19BVURBRENOT1BBVEVTVF9TSElGVCAgICAgICAgICAgICAgICAgICA1CisjZGVmaW5lIE1UNjMyNV9SR19BVURBRENCWVBBU1NfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVREFEQ0JZUEFTU19TSElGVCAgICAgICAgICAgICAgICAgICAgIDYKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVREFEQ0ZGQllQQVNTX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQVVEQURDRkZCWVBBU1NfU0hJRlQgICAgICAgICAgICAgICAgICAgNworI2RlZmluZSBNVDYzMjVfUkdfQVVEQURDREFDRkJDVVJSRU5UX01BU0sgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19BVURBRENEQUNGQkNVUlJFTlRfU0hJRlQgICAgICAgICAgICAgICA4CisjZGVmaW5lIE1UNjMyNV9SR19BVURBRENEQUNJRERURVNUX01BU0sgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVREFEQ0RBQ0lERFRFU1RfU0hJRlQgICAgICAgICAgICAgICAgIDkKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVREFEQ0RBQ05SWl9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQVVEQURDREFDTlJaX1NISUZUICAgICAgICAgICAgICAgICAgICAgMTEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVREFEQ05PREVNX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQVVEQURDTk9ERU1fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgMTIKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVREFEQ0RBQ1RFU1RfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQVVEQURDREFDVEVTVF9TSElGVCAgICAgICAgICAgICAgICAgICAgMTMKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVREFEQ1RFU1REQVRBX01BU0sgICAgICAgICAgICAgICAgICAgIDB4RkZGRgorI2RlZmluZSBNVDYzMjVfUkdfQVVEQURDVEVTVERBVEFfU0hJRlQgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfQVVEUkNUVU5FTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHgxRgorI2RlZmluZSBNVDYzMjVfUkdfQVVEUkNUVU5FTF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfQVVEUkNUVU5FTFNFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19BVURSQ1RVTkVMU0VMX1NISUZUICAgICAgICAgICAgICAgICAgICA1CisjZGVmaW5lIE1UNjMyNV9SR19BVURSQ1RVTkVSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDFGCisjZGVmaW5lIE1UNjMyNV9SR19BVURSQ1RVTkVSX1NISUZUICAgICAgICAgICAgICAgICAgICAgICA4CisjZGVmaW5lIE1UNjMyNV9SR19BVURSQ1RVTkVSU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVRFJDVFVORVJTRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgIDEzCisjZGVmaW5lIE1UNjMyNV9SR19BVURTUEFSRVZBMjhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweEZGCisjZGVmaW5lIE1UNjMyNV9SR19BVURTUEFSRVZBMjhfU0hJRlQgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19BVURTUEFSRVZBMThfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweEZGCisjZGVmaW5lIE1UNjMyNV9SR19BVURTUEFSRVZBMThfU0hJRlQgICAgICAgICAgICAgICAgICAgICA4CisjZGVmaW5lIE1UNjMyNV9SR19BVURESUdNSUNFTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVRERJR01JQ0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVRERJR01JQ0JJQVNfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUkdfQVVERElHTUlDQklBU19TSElGVCAgICAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBNVDYzMjVfUkdfRE1JQ0hQQ0xLRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19ETUlDSFBDTEtFTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAzCisjZGVmaW5lIE1UNjMyNV9SR19BVURESUdNSUNQRFVUWV9NQVNLICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVRERJR01JQ1BEVVRZX1NISUZUICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVRERJR01JQ05EVVRZX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUkdfQVVERElHTUlDTkRVVFlfU0hJRlQgICAgICAgICAgICAgICAgICAgNgorI2RlZmluZSBNVDYzMjVfUkdfRE1JQ01PTkVOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19ETUlDTU9ORU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICA4CisjZGVmaW5lIE1UNjMyNV9SR19ETUlDTU9OU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDcKKyNkZWZpbmUgTVQ2MzI1X1JHX0RNSUNNT05TRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDkKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVRFNQQVJFVk1JQ19NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4RgorI2RlZmluZSBNVDYzMjVfUkdfQVVEU1BBUkVWTUlDX1NISUZUICAgICAgICAgICAgICAgICAgICAgMTIKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVRFBXREJNSUNCSUFTMF9NQVNLICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQVVEUFdEQk1JQ0JJQVMwX1NISUZUICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfQVVETUlDQklBUzBEQ1NXUEVOX01BU0sgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19BVURNSUNCSUFTMERDU1dQRU5fU0hJRlQgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9SR19BVURNSUNCSUFTMERDU1dORU5fTUFTSyAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVRE1JQ0JJQVMwRENTV05FTl9TSElGVCAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVRE1JQ0JJQVMwQllQQVNTRU5fTUFTSyAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQVVETUlDQklBUzBCWVBBU1NFTl9TSElGVCAgICAgICAgICAgICAgMworI2RlZmluZSBNVDYzMjVfUkdfQVVEUFdEQk1JQ0JJQVMxX01BU0sgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19BVURQV0RCTUlDQklBUzFfU0hJRlQgICAgICAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9SR19BVURNSUNCSUFTMURDU1dQRU5fTUFTSyAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVRE1JQ0JJQVMxRENTV1BFTl9TSElGVCAgICAgICAgICAgICAgIDUKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVRE1JQ0JJQVMxRENTV05FTl9NQVNLICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQVVETUlDQklBUzFEQ1NXTkVOX1NISUZUICAgICAgICAgICAgICAgNgorI2RlZmluZSBNVDYzMjVfUkdfQVVETUlDQklBUzFCWVBBU1NFTl9NQVNLICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19BVURNSUNCSUFTMUJZUEFTU0VOX1NISUZUICAgICAgICAgICAgICA3CisjZGVmaW5lIE1UNjMyNV9SR19BVURNSUNCSUFTVlJFRl9NQVNLICAgICAgICAgICAgICAgICAgICAweDcKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVRE1JQ0JJQVNWUkVGX1NISUZUICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVRE1JQ0JJQVNMT1dQRU5fTUFTSyAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQVVETUlDQklBU0xPV1BFTl9TSElGVCAgICAgICAgICAgICAgICAgMTEKKyNkZWZpbmUgTVQ2MzI1X1JHX0JBTkRHQVBHRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQkFOREdBUEdFTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgMTIKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVREVOQ1NQQVJFVkEyOF9NQVNLICAgICAgICAgICAgICAgICAgIDB4RkYKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVREVOQ1NQQVJFVkEyOF9TSElGVCAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVREVOQ1NQQVJFVkExOF9NQVNLICAgICAgICAgICAgICAgICAgIDB4RkYKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVREVOQ1NQQVJFVkExOF9TSElGVCAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1JHX1BMTF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfUExMX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfUExMQlNfUlNUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19QTExCU19SU1RfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9SR19QTExfRENLT19TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1BMTF9EQ0tPX1NFTF9TSElGVCAgICAgICAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1JHX1BMTF9ESVYxX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgIDB4M0YKKyNkZWZpbmUgTVQ2MzI1X1JHX1BMTF9ESVYxX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1JHX1BMTF9STEFUQ0hfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfUExMX1JMQVRDSF9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgMTAKKyNkZWZpbmUgTVQ2MzI1X1JHX1BMTF9QRElWMV9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfUExMX1BESVYxX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgMTEKKyNkZWZpbmUgTVQ2MzI1X1JHX1BMTF9QRElWMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgIDB4RgorI2RlZmluZSBNVDYzMjVfUkdfUExMX1BESVYxX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgMTIKKyNkZWZpbmUgTVQ2MzI1X1JHX1BMTF9CQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUkdfUExMX0JDX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfUExMX0JQX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19QTExfQlBfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAyCisjZGVmaW5lIE1UNjMyNV9SR19QTExfQlJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1BMTF9CUl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1JHX0NLT19TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUkdfQ0tPX1NFTF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgNgorI2RlZmluZSBNVDYzMjVfUkdfUExMX0lCU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19QTExfSUJTRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICA4CisjZGVmaW5lIE1UNjMyNV9SR19QTExfQ0tUX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX1BMTF9DS1RfU0VMX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDEwCisjZGVmaW5lIE1UNjMyNV9SR19QTExfVkNUX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1BMTF9WQ1RfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDEyCisjZGVmaW5lIE1UNjMyNV9SR19QTExfQ0tUX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1BMTF9DS1RfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDEzCisjZGVmaW5lIE1UNjMyNV9SR19QTExfSFBNX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1BMTF9IUE1fRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDE0CisjZGVmaW5lIE1UNjMyNV9SR19QTExfRENIUF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1BMTF9EQ0hQX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDE1CisjZGVmaW5lIE1UNjMyNV9SR19QTExfQ0RJVl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAweDcKKyNkZWZpbmUgTVQ2MzI1X1JHX1BMTF9DRElWX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDT0JBTkRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NworI2RlZmluZSBNVDYzMjVfUkdfVkNPQkFORF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgMworI2RlZmluZSBNVDYzMjVfUkdfQ0tEUlZfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19DS0RSVl9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICA2CisjZGVmaW5lIE1UNjMyNV9SR19QTExfRENIUF9BRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1BMTF9EQ0hQX0FFTl9TSElGVCAgICAgICAgICAgICAgICAgICAgIDcKKyNkZWZpbmUgTVQ2MzI1X1JHX1BMTF9SU1ZBX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkYKKyNkZWZpbmUgTVQ2MzI1X1JHX1BMTF9SU1ZBX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVRFBSRUFNUExHQUlOX01BU0sgICAgICAgICAgICAgICAgICAgIDB4NworI2RlZmluZSBNVDYzMjVfUkdfQVVEUFJFQU1QTEdBSU5fU0hJRlQgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfQVVEUFJFQU1QUkdBSU5fTUFTSyAgICAgICAgICAgICAgICAgICAgMHg3CisjZGVmaW5lIE1UNjMyNV9SR19BVURQUkVBTVBSR0FJTl9TSElGVCAgICAgICAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9SR19ESVZDS1NfQ0hHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0RJVkNLU19DSEdfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX0RJVkNLU19PTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfRElWQ0tTX09OX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfRElWQ0tTX1BSR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHgxRkYKKyNkZWZpbmUgTVQ2MzI1X1JHX0RJVkNLU19QUkdfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX0RJVkNLU19QV0RfTkNQX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfRElWQ0tTX1BXRF9OQ1BfU0hJRlQgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfRElWQ0tTX1BXRF9OQ1BfU1RfU0VMX01BU0sgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19ESVZDS1NfUFdEX05DUF9TVF9TRUxfU0hJRlQgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9BVVhBRENfRElHMF9SU1YwX01BU0sgICAgICAgICAgICAgICAgICAgICAweEZGRkYKKyNkZWZpbmUgTVQ2MzI1X0FVWEFEQ19ESUcwX1JTVjBfU0hJRlQgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X0FVWEFEQ19BRENfQlVTWV9JTl9NQVNLICAgICAgICAgICAgICAgICAgIDB4MUZGRgorI2RlZmluZSBNVDYzMjVfQVVYQURDX0FEQ19CVVNZX0lOX1NISUZUICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfQVVYQURDX0FEQ19CVVNZX0lOX1dBS0VVUF9QQ0hSX01BU0sgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9BVVhBRENfQURDX0JVU1lfSU5fV0FLRVVQX1BDSFJfU0hJRlQgICAgICAxMworI2RlZmluZSBNVDYzMjVfQVVYQURDX0FEQ19CVVNZX0lOX1dBS0VVUF9TV0NIUl9NQVNLICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9BVVhBRENfQURDX0JVU1lfSU5fV0FLRVVQX1NXQ0hSX1NISUZUICAgICAxNAorI2RlZmluZSBNVDYzMjVfQVVYQURDX1JPX1JTVjBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9BVVhBRENfUk9fUlNWMF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAxNQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0FEQ19CVVNZX0lOX1ZJU01QUzBfTUFTSyAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9BVVhBRENfQURDX0JVU1lfSU5fVklTTVBTMF9TSElGVCAgICAgICAgICAxMQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0FEQ19CVVNZX0lOX0xCQVRfTUFTSyAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9BVVhBRENfQURDX0JVU1lfSU5fTEJBVF9TSElGVCAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfQVVYQURDX0FEQ19CVVNZX0lOX0xCQVQyX01BU0sgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9BVVhBRENfQURDX0JVU1lfSU5fTEJBVDJfU0hJRlQgICAgICAgICAgICAxMworI2RlZmluZSBNVDYzMjVfQVVYQURDX0FEQ19CVVNZX0lOX1RIUjFfTUFTSyAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9BVVhBRENfQURDX0JVU1lfSU5fVEhSMV9TSElGVCAgICAgICAgICAgICAxNAorI2RlZmluZSBNVDYzMjVfQVVYQURDX0FEQ19CVVNZX0lOX1RIUjJfTUFTSyAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9BVVhBRENfQURDX0JVU1lfSU5fVEhSMl9TSElGVCAgICAgICAgICAgICAxNQorI2RlZmluZSBNVDYzMjVfQVVYQURDX1JRU1QwX1JTVjFfTUFTSyAgICAgICAgICAgICAgICAgICAgMHhGRgorI2RlZmluZSBNVDYzMjVfQVVYQURDX1JRU1QwX1JTVjFfU0hJRlQgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfQVVYQURDX1JRU1QwX1JTVjBfTUFTSyAgICAgICAgICAgICAgICAgICAgMHhGRgorI2RlZmluZSBNVDYzMjVfQVVYQURDX1JRU1QwX1JTVjBfU0hJRlQgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfQVVYQURDX1JRU1QwX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgMHhGRkZGCisjZGVmaW5lIE1UNjMyNV9BVVhBRENfUlFTVDBfU0VUX1NISUZUICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9BVVhBRENfUlFTVDBfQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICAweEZGRkYKKyNkZWZpbmUgTVQ2MzI1X0FVWEFEQ19SUVNUMF9DTFJfU0hJRlQgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X0FVWEFEQ19SUVNUX1JTVjBfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4RgorI2RlZmluZSBNVDYzMjVfQVVYQURDX1JRU1RfUlNWMF9TSElGVCAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfQVVYQURDX1JRU1RfQ0g0X0JZX01EX01BU0sgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9BVVhBRENfUlFTVF9DSDRfQllfTURfU0hJRlQgICAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9BVVhBRENfUlFTVF9DSDdfQllfTURfTUFTSyAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0FVWEFEQ19SUVNUX0NIN19CWV9NRF9TSElGVCAgICAgICAgICAgICAgIDcKKyNkZWZpbmUgTVQ2MzI1X0FVWEFEQ19SUVNUX0NIN19CWV9HUFNfTUFTSyAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfQVVYQURDX1JRU1RfQ0g3X0JZX0dQU19TSElGVCAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfQVVYQURDX1JRU1RfUlNWMV9NQVNLICAgICAgICAgICAgICAgICAgICAgMHg3RgorI2RlZmluZSBNVDYzMjVfQVVYQURDX1JRU1RfUlNWMV9TSElGVCAgICAgICAgICAgICAgICAgICAgOQorI2RlZmluZSBNVDYzMjVfQVVYQURDX1JRU1QxX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgMHhGRkZGCisjZGVmaW5lIE1UNjMyNV9BVVhBRENfUlFTVDFfU0VUX1NISUZUICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9BVVhBRENfUlFTVDFfQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICAweEZGRkYKKyNkZWZpbmUgTVQ2MzI1X0FVWEFEQ19SUVNUMV9DTFJfU0hJRlQgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X0FVWEFEQ19DS19PTl9FWFREX01BU0sgICAgICAgICAgICAgICAgICAgIDB4M0YKKyNkZWZpbmUgTVQ2MzI1X0FVWEFEQ19DS19PTl9FWFREX1NISUZUICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X0FVWEFEQ19TVFJVUF9DS19PTl9FTkJfTUFTSyAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfQVVYQURDX1NUUlVQX0NLX09OX0VOQl9TSElGVCAgICAgICAgICAgICAgMTAKKyNkZWZpbmUgTVQ2MzI1X0FVWEFEQ19BRENfUkRZX1dBS0VVUF9DTFJfTUFTSyAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0FEQ19SRFlfV0FLRVVQX0NMUl9TSElGVCAgICAgICAgICAgMTEKKyNkZWZpbmUgTVQ2MzI1X0FVWEFEQ19TUkNMS0VOX0NLX0VOX01BU0sgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfQVVYQURDX1NSQ0xLRU5fQ0tfRU5fU0hJRlQgICAgICAgICAgICAgICAgMTIKKyNkZWZpbmUgTVQ2MzI1X0FVWEFEQ19DS19BT05fR1BTX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0NLX0FPTl9HUFNfU0hJRlQgICAgICAgICAgICAgICAgICAgMTMKKyNkZWZpbmUgTVQ2MzI1X0FVWEFEQ19DS19BT05fTURfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0NLX0FPTl9NRF9TSElGVCAgICAgICAgICAgICAgICAgICAgMTQKKyNkZWZpbmUgTVQ2MzI1X0FVWEFEQ19DS19BT05fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0NLX0FPTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgMTUKKyNkZWZpbmUgTVQ2MzI1X0FVWEFEQ19QTVVfVEhSX1BETl9TV19NQVNLICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfQVVYQURDX1BNVV9USFJfUEROX1NXX1NISUZUICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfQVVYQURDX1BNVV9USFJfUEROX1NFTF9NQVNLICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9BVVhBRENfUE1VX1RIUl9QRE5fU0VMX1NISUZUICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9BVVhBRENfUE1VX1RIUl9QRE5fU1RBVFVTX01BU0sgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0FVWEFEQ19QTVVfVEhSX1BETl9TVEFUVVNfU0hJRlQgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X0FVWEFEQ19ST19SU1YxX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4N0YKKyNkZWZpbmUgTVQ2MzI1X0FVWEFEQ19ST19SU1YxX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDMKKyNkZWZpbmUgTVQ2MzI1X0FVWEFEQ19ESUcxX1JTVjBfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4M0YKKyNkZWZpbmUgTVQ2MzI1X0FVWEFEQ19ESUcxX1JTVjBfU0hJRlQgICAgICAgICAgICAgICAgICAgIDEwCisjZGVmaW5lIE1UNjMyNV9BVVhBRENfVEhSX0RFQlRfTUFYX01BU0sgICAgICAgICAgICAgICAgICAweEZGCisjZGVmaW5lIE1UNjMyNV9BVVhBRENfVEhSX0RFQlRfTUFYX1NISUZUICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9BVVhBRENfVEhSX0RFQlRfTUlOX01BU0sgICAgICAgICAgICAgICAgICAweEZGCisjZGVmaW5lIE1UNjMyNV9BVVhBRENfVEhSX0RFQlRfTUlOX1NISUZUICAgICAgICAgICAgICAgICA4CisjZGVmaW5lIE1UNjMyNV9BVVhBRENfVEhSX0RFVF9QUkRfMTVfMF9NQVNLICAgICAgICAgICAgICAweEZGRkYKKyNkZWZpbmUgTVQ2MzI1X0FVWEFEQ19USFJfREVUX1BSRF8xNV8wX1NISUZUICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X0FVWEFEQ19USFJfREVUX1BSRF8xOV8xNl9NQVNLICAgICAgICAgICAgIDB4RgorI2RlZmluZSBNVDYzMjVfQVVYQURDX1RIUl9ERVRfUFJEXzE5XzE2X1NISUZUICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfQVVYQURDX1RIUl9WT0xUX01BWF9NQVNLICAgICAgICAgICAgICAgICAgMHhGRkYKKyNkZWZpbmUgTVQ2MzI1X0FVWEFEQ19USFJfVk9MVF9NQVhfU0hJRlQgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X0FVWEFEQ19USFJfSVJRX0VOX01BWF9NQVNLICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfQVVYQURDX1RIUl9JUlFfRU5fTUFYX1NISUZUICAgICAgICAgICAgICAgMTIKKyNkZWZpbmUgTVQ2MzI1X0FVWEFEQ19USFJfRU5fTUFYX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfQVVYQURDX1RIUl9FTl9NQVhfU0hJRlQgICAgICAgICAgICAgICAgICAgMTMKKyNkZWZpbmUgTVQ2MzI1X0FVWEFEQ19USFJfTUFYX0lSUV9CX01BU0sgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfQVVYQURDX1RIUl9NQVhfSVJRX0JfU0hJRlQgICAgICAgICAgICAgICAgMTUKKyNkZWZpbmUgTVQ2MzI1X0FVWEFEQ19USFJfVk9MVF9NSU5fTUFTSyAgICAgICAgICAgICAgICAgIDB4RkZGCisjZGVmaW5lIE1UNjMyNV9BVVhBRENfVEhSX1ZPTFRfTUlOX1NISUZUICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9BVVhBRENfVEhSX0lSUV9FTl9NSU5fTUFTSyAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0FVWEFEQ19USFJfSVJRX0VOX01JTl9TSElGVCAgICAgICAgICAgICAgIDEyCisjZGVmaW5lIE1UNjMyNV9BVVhBRENfVEhSX0VOX01JTl9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0FVWEFEQ19USFJfRU5fTUlOX1NISUZUICAgICAgICAgICAgICAgICAgIDEzCisjZGVmaW5lIE1UNjMyNV9BVVhBRENfVEhSX01JTl9JUlFfQl9NQVNLICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0FVWEFEQ19USFJfTUlOX0lSUV9CX1NISUZUICAgICAgICAgICAgICAgIDE1CisjZGVmaW5lIE1UNjMyNV9BVVhBRENfVEhSX0RFQk9VTkNFX0NPVU5UX01BWF9NQVNLICAgICAgICAweDFGRgorI2RlZmluZSBNVDYzMjVfQVVYQURDX1RIUl9ERUJPVU5DRV9DT1VOVF9NQVhfU0hJRlQgICAgICAgMAorI2RlZmluZSBNVDYzMjVfQVVYQURDX1RIUl9ERUJPVU5DRV9DT1VOVF9NSU5fTUFTSyAgICAgICAgMHgxRkYKKyNkZWZpbmUgTVQ2MzI1X0FVWEFEQ19USFJfREVCT1VOQ0VfQ09VTlRfTUlOX1NISUZUICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVWEFEQ19GR0FEQ19TVEFSVF9TV19NQVNLICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQVVYQURDX0ZHQURDX1NUQVJUX1NXX1NISUZUICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfQVVYQURDX0ZHQURDX1NUQVJUX1NFTF9NQVNLICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19BVVhBRENfRkdBRENfU1RBUlRfU0VMX1NISUZUICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9SR19BVVhBRENfRkdBRENfUl9TV19NQVNLICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVWEFEQ19GR0FEQ19SX1NXX1NISUZUICAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVWEFEQ19GR0FEQ19SX1NFTF9NQVNLICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQVVYQURDX0ZHQURDX1JfU0VMX1NISUZUICAgICAgICAgICAgICAgMworI2RlZmluZSBNVDYzMjVfQVVYQURDX0RJRzBfUlNWMl9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9BVVhBRENfRElHMF9SU1YyX1NISUZUICAgICAgICAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9BVVhBRENfRElHMV9SU1YyX01BU0sgICAgICAgICAgICAgICAgICAgICAweEYKKyNkZWZpbmUgTVQ2MzI1X0FVWEFEQ19ESUcxX1JTVjJfU0hJRlQgICAgICAgICAgICAgICAgICAgIDUKKyNkZWZpbmUgTVQ2MzI1X0FVWEFEQ19BQ0NERVRfQVVUT19TUExfTUFTSyAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0FDQ0RFVF9BVVRPX1NQTF9TSElGVCAgICAgICAgICAgICAgOQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0FDQ0RFVF9BVVRPX1JRU1RfQ0xSX01BU0sgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9BVVhBRENfQUNDREVUX0FVVE9fUlFTVF9DTFJfU0hJRlQgICAgICAgICAxMAorI2RlZmluZSBNVDYzMjVfQVVYQURDX0FVVE9SUFRfUFJEX01BU0sgICAgICAgICAgICAgICAgICAgMHgzRkYKKyNkZWZpbmUgTVQ2MzI1X0FVWEFEQ19BVVRPUlBUX1BSRF9TSElGVCAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X0FVWEFEQ19BVVRPUlBUX0VOX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0FVVE9SUFRfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgMTUKKyNkZWZpbmUgTVQ2MzI1X0FVWEFEQ19JTVBFREFOQ0VfQ05UX01BU0sgICAgICAgICAgICAgICAgIDB4M0YKKyNkZWZpbmUgTVQ2MzI1X0FVWEFEQ19JTVBFREFOQ0VfQ05UX1NISUZUICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X0FVWEFEQ19JTVBFREFOQ0VfQ0hTRUxfTUFTSyAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0lNUEVEQU5DRV9DSFNFTF9TSElGVCAgICAgICAgICAgICAgNgorI2RlZmluZSBNVDYzMjVfQVVYQURDX0lNUEVEQU5DRV9JUlFfQ0xSX01BU0sgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9BVVhBRENfSU1QRURBTkNFX0lSUV9DTFJfU0hJRlQgICAgICAgICAgICA3CisjZGVmaW5lIE1UNjMyNV9BVVhBRENfSU1QRURBTkNFX0lSUV9TVEFUVVNfTUFTSyAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0FVWEFEQ19JTVBFREFOQ0VfSVJRX1NUQVRVU19TSElGVCAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X0FVWEFEQ19DTFJfSU1QX0NOVF9TVE9QX01BU0sgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0NMUl9JTVBfQ05UX1NUT1BfU0hJRlQgICAgICAgICAgICAgMTQKKyNkZWZpbmUgTVQ2MzI1X0FVWEFEQ19JTVBFREFOQ0VfTU9ERV9NQVNLICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0lNUEVEQU5DRV9NT0RFX1NISUZUICAgICAgICAgICAgICAgMTUKKyNkZWZpbmUgTVQ2MzI1X0FVWEFEQ19WSVNNUFMwX0RFQlRfTUFYX01BU0sgICAgICAgICAgICAgIDB4RkYKKyNkZWZpbmUgTVQ2MzI1X0FVWEFEQ19WSVNNUFMwX0RFQlRfTUFYX1NISUZUICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X0FVWEFEQ19WSVNNUFMwX0RFQlRfTUlOX01BU0sgICAgICAgICAgICAgIDB4RkYKKyNkZWZpbmUgTVQ2MzI1X0FVWEFEQ19WSVNNUFMwX0RFQlRfTUlOX1NISUZUICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X0FVWEFEQ19WSVNNUFMwX0RFVF9QUkRfMTVfMF9NQVNLICAgICAgICAgIDB4RkZGRgorI2RlZmluZSBNVDYzMjVfQVVYQURDX1ZJU01QUzBfREVUX1BSRF8xNV8wX1NISUZUICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfQVVYQURDX1ZJU01QUzBfREVUX1BSRF8xOV8xNl9NQVNLICAgICAgICAgMHhGCisjZGVmaW5lIE1UNjMyNV9BVVhBRENfVklTTVBTMF9ERVRfUFJEXzE5XzE2X1NISUZUICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9BVVhBRENfVklTTVBTMF9WT0xUX01BWF9NQVNLICAgICAgICAgICAgICAweEZGRgorI2RlZmluZSBNVDYzMjVfQVVYQURDX1ZJU01QUzBfVk9MVF9NQVhfU0hJRlQgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfQVVYQURDX1ZJU01QUzBfSVJRX0VOX01BWF9NQVNLICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9BVVhBRENfVklTTVBTMF9JUlFfRU5fTUFYX1NISUZUICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfQVVYQURDX1ZJU01QUzBfRU5fTUFYX01BU0sgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9BVVhBRENfVklTTVBTMF9FTl9NQVhfU0hJRlQgICAgICAgICAgICAgICAxMworI2RlZmluZSBNVDYzMjVfQVVYQURDX1ZJU01QUzBfTUFYX0lSUV9CX01BU0sgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9BVVhBRENfVklTTVBTMF9NQVhfSVJRX0JfU0hJRlQgICAgICAgICAgICAxNQorI2RlZmluZSBNVDYzMjVfQVVYQURDX1ZJU01QUzBfVk9MVF9NSU5fTUFTSyAgICAgICAgICAgICAgMHhGRkYKKyNkZWZpbmUgTVQ2MzI1X0FVWEFEQ19WSVNNUFMwX1ZPTFRfTUlOX1NISUZUICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X0FVWEFEQ19WSVNNUFMwX0lSUV9FTl9NSU5fTUFTSyAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfQVVYQURDX1ZJU01QUzBfSVJRX0VOX01JTl9TSElGVCAgICAgICAgICAgMTIKKyNkZWZpbmUgTVQ2MzI1X0FVWEFEQ19WSVNNUFMwX0VOX01JTl9NQVNLICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfQVVYQURDX1ZJU01QUzBfRU5fTUlOX1NISUZUICAgICAgICAgICAgICAgMTMKKyNkZWZpbmUgTVQ2MzI1X0FVWEFEQ19WSVNNUFMwX01JTl9JUlFfQl9NQVNLICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfQVVYQURDX1ZJU01QUzBfTUlOX0lSUV9CX1NISUZUICAgICAgICAgICAgMTUKKyNkZWZpbmUgTVQ2MzI1X0FVWEFEQ19WSVNNUFMwX0RFQk9VTkNFX0NPVU5UX01BWF9NQVNLICAgIDB4MUZGCisjZGVmaW5lIE1UNjMyNV9BVVhBRENfVklTTVBTMF9ERUJPVU5DRV9DT1VOVF9NQVhfU0hJRlQgICAwCisjZGVmaW5lIE1UNjMyNV9BVVhBRENfVklTTVBTMF9ERUJPVU5DRV9DT1VOVF9NSU5fTUFTSyAgICAweDFGRgorI2RlZmluZSBNVDYzMjVfQVVYQURDX1ZJU01QUzBfREVCT1VOQ0VfQ09VTlRfTUlOX1NISUZUICAgMAorI2RlZmluZSBNVDYzMjVfQVVYQURDX0xCQVQyX0RFQlRfTUFYX01BU0sgICAgICAgICAgICAgICAgMHhGRgorI2RlZmluZSBNVDYzMjVfQVVYQURDX0xCQVQyX0RFQlRfTUFYX1NISUZUICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfQVVYQURDX0xCQVQyX0RFQlRfTUlOX01BU0sgICAgICAgICAgICAgICAgMHhGRgorI2RlZmluZSBNVDYzMjVfQVVYQURDX0xCQVQyX0RFQlRfTUlOX1NISUZUICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfQVVYQURDX0xCQVQyX0RFVF9QUkRfMTVfMF9NQVNLICAgICAgICAgICAgMHhGRkZGCisjZGVmaW5lIE1UNjMyNV9BVVhBRENfTEJBVDJfREVUX1BSRF8xNV8wX1NISUZUICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9BVVhBRENfTEJBVDJfREVUX1BSRF8xOV8xNl9NQVNLICAgICAgICAgICAweEYKKyNkZWZpbmUgTVQ2MzI1X0FVWEFEQ19MQkFUMl9ERVRfUFJEXzE5XzE2X1NISUZUICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X0FVWEFEQ19MQkFUMl9WT0xUX01BWF9NQVNLICAgICAgICAgICAgICAgIDB4RkZGCisjZGVmaW5lIE1UNjMyNV9BVVhBRENfTEJBVDJfVk9MVF9NQVhfU0hJRlQgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9BVVhBRENfTEJBVDJfSVJRX0VOX01BWF9NQVNLICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0FVWEFEQ19MQkFUMl9JUlFfRU5fTUFYX1NISUZUICAgICAgICAgICAgIDEyCisjZGVmaW5lIE1UNjMyNV9BVVhBRENfTEJBVDJfRU5fTUFYX01BU0sgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0FVWEFEQ19MQkFUMl9FTl9NQVhfU0hJRlQgICAgICAgICAgICAgICAgIDEzCisjZGVmaW5lIE1UNjMyNV9BVVhBRENfTEJBVDJfTUFYX0lSUV9CX01BU0sgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0FVWEFEQ19MQkFUMl9NQVhfSVJRX0JfU0hJRlQgICAgICAgICAgICAgIDE1CisjZGVmaW5lIE1UNjMyNV9BVVhBRENfTEJBVDJfVk9MVF9NSU5fTUFTSyAgICAgICAgICAgICAgICAweEZGRgorI2RlZmluZSBNVDYzMjVfQVVYQURDX0xCQVQyX1ZPTFRfTUlOX1NISUZUICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfQVVYQURDX0xCQVQyX0lSUV9FTl9NSU5fTUFTSyAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9BVVhBRENfTEJBVDJfSVJRX0VOX01JTl9TSElGVCAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfQVVYQURDX0xCQVQyX0VOX01JTl9NQVNLICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9BVVhBRENfTEJBVDJfRU5fTUlOX1NISUZUICAgICAgICAgICAgICAgICAxMworI2RlZmluZSBNVDYzMjVfQVVYQURDX0xCQVQyX01JTl9JUlFfQl9NQVNLICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9BVVhBRENfTEJBVDJfTUlOX0lSUV9CX1NISUZUICAgICAgICAgICAgICAxNQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0xCQVQyX0RFQk9VTkNFX0NPVU5UX01BWF9NQVNLICAgICAgMHgxRkYKKyNkZWZpbmUgTVQ2MzI1X0FVWEFEQ19MQkFUMl9ERUJPVU5DRV9DT1VOVF9NQVhfU0hJRlQgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X0FVWEFEQ19MQkFUMl9ERUJPVU5DRV9DT1VOVF9NSU5fTUFTSyAgICAgIDB4MUZGCisjZGVmaW5lIE1UNjMyNV9BVVhBRENfTEJBVDJfREVCT1VOQ0VfQ09VTlRfTUlOX1NISUZUICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19BRENfT1VUX0JBVFNOU19NQVNLICAgICAgICAgICAgICAgICAgICAweDdGRkYKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19PVVRfQkFUU05TX1NISUZUICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19SRFlfQkFUU05TX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQURDX1JEWV9CQVRTTlNfU0hJRlQgICAgICAgICAgICAgICAgICAgMTUKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19PVVRfSVNFTlNFX01BU0sgICAgICAgICAgICAgICAgICAgIDB4N0ZGRgorI2RlZmluZSBNVDYzMjVfUkdfQURDX09VVF9JU0VOU0VfU0hJRlQgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfQURDX1JEWV9JU0VOU0VfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19BRENfUkRZX0lTRU5TRV9TSElGVCAgICAgICAgICAgICAgICAgICAxNQorI2RlZmluZSBNVDYzMjVfUkdfQURDX09VVF9WQ0RUX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHg3RkZGCisjZGVmaW5lIE1UNjMyNV9SR19BRENfT1VUX1ZDRFRfU0hJRlQgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19BRENfUkRZX1ZDRFRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19SRFlfVkNEVF9TSElGVCAgICAgICAgICAgICAgICAgICAgIDE1CisjZGVmaW5lIE1UNjMyNV9SR19BRENfT1VUX0JBVE9OMV9NQVNLICAgICAgICAgICAgICAgICAgICAweDdGRkYKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19PVVRfQkFUT04xX1NISUZUICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19SRFlfQkFUT04xX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQURDX1JEWV9CQVRPTjFfU0hJRlQgICAgICAgICAgICAgICAgICAgMTUKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19PVVRfVEhSX1NFTlNFMV9NQVNLICAgICAgICAgICAgICAgIDB4N0ZGRgorI2RlZmluZSBNVDYzMjVfUkdfQURDX09VVF9USFJfU0VOU0UxX1NISUZUICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfQURDX1JEWV9USFJfU0VOU0UxX01BU0sgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19BRENfUkRZX1RIUl9TRU5TRTFfU0hJRlQgICAgICAgICAgICAgICAxNQorI2RlZmluZSBNVDYzMjVfUkdfQURDX09VVF9USFJfTURfTUFTSyAgICAgICAgICAgICAgICAgICAgMHg3RkZGCisjZGVmaW5lIE1UNjMyNV9SR19BRENfT1VUX1RIUl9NRF9TSElGVCAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19BRENfUkRZX1RIUl9NRF9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19SRFlfVEhSX01EX1NISUZUICAgICAgICAgICAgICAgICAgIDE1CisjZGVmaW5lIE1UNjMyNV9SR19BRENfT1VUX0JBVE9OMl9NQVNLICAgICAgICAgICAgICAgICAgICAweDdGRkYKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19PVVRfQkFUT04yX1NISUZUICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19SRFlfQkFUT04yX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQURDX1JEWV9CQVRPTjJfU0hJRlQgICAgICAgICAgICAgICAgICAgMTUKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19PVVRfQ0g1X01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4N0ZGRgorI2RlZmluZSBNVDYzMjVfUkdfQURDX09VVF9DSDVfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfQURDX1JEWV9DSDVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19BRENfUkRZX0NINV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAxNQorI2RlZmluZSBNVDYzMjVfUkdfQURDX09VVF9XQUtFVVBfUENIUl9NQVNLICAgICAgICAgICAgICAgMHg3RkZGCisjZGVmaW5lIE1UNjMyNV9SR19BRENfT1VUX1dBS0VVUF9QQ0hSX1NISUZUICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19BRENfUkRZX1dBS0VVUF9QQ0hSX01BU0sgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19SRFlfV0FLRVVQX1BDSFJfU0hJRlQgICAgICAgICAgICAgIDE1CisjZGVmaW5lIE1UNjMyNV9SR19BRENfT1VUX1dBS0VVUF9TV0NIUl9NQVNLICAgICAgICAgICAgICAweDdGRkYKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19PVVRfV0FLRVVQX1NXQ0hSX1NISUZUICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19SRFlfV0FLRVVQX1NXQ0hSX01BU0sgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQURDX1JEWV9XQUtFVVBfU1dDSFJfU0hJRlQgICAgICAgICAgICAgMTUKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19PVVRfTEJBVF9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4RkZGCisjZGVmaW5lIE1UNjMyNV9SR19BRENfT1VUX0xCQVRfU0hJRlQgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19BRENfUkRZX0xCQVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19SRFlfTEJBVF9TSElGVCAgICAgICAgICAgICAgICAgICAgIDE1CisjZGVmaW5lIE1UNjMyNV9SR19BRENfT1VUX0NINl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDdGRkYKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19PVVRfQ0g2X1NISUZUICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19SRFlfQ0g2X01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQURDX1JEWV9DSDZfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgMTUKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19SRFlfR1BTX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQURDX1JEWV9HUFNfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgMTUKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19PVVRfR1BTX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4RkZGRgorI2RlZmluZSBNVDYzMjVfUkdfQURDX09VVF9HUFNfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfQURDX09VVF9HUFNfTFNCX01BU0sgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19BRENfT1VUX0dQU19MU0JfU0hJRlQgICAgICAgICAgICAgICAgICAxNQorI2RlZmluZSBNVDYzMjVfUkdfQURDX09VVF9NRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHhGRkZGCisjZGVmaW5lIE1UNjMyNV9SR19BRENfT1VUX01EX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19BRENfT1VUX01EX0xTQl9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19PVVRfTURfTFNCX1NISUZUICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19SRFlfTURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQURDX1JEWV9NRF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgMTUKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19PVVRfSU5UX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4N0ZGRgorI2RlZmluZSBNVDYzMjVfUkdfQURDX09VVF9JTlRfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfQURDX1JEWV9JTlRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19BRENfUkRZX0lOVF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAxNQorI2RlZmluZSBNVDYzMjVfUkdfQURDX09VVF9DSUNfUkFXXzE2XzFfTUFTSyAgICAgICAgICAgICAgMHhGRkZGCisjZGVmaW5lIE1UNjMyNV9SR19BRENfT1VUX0NJQ19SQVdfMTZfMV9TSElGVCAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19BRENfT1VUX0NJQ19SQVdfMF9NQVNLICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19PVVRfQ0lDX1JBV18wX1NISUZUICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19CVVNZX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgIDB4N0ZGRgorI2RlZmluZSBNVDYzMjVfUkdfQURDX0JVU1lfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBNVDYzMjVfUkdfQURDX09VVF9MQkFUMl9NQVNLICAgICAgICAgICAgICAgICAgICAgMHhGRkYKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19PVVRfTEJBVDJfU0hJRlQgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19SRFlfTEJBVDJfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQURDX1JEWV9MQkFUMl9TSElGVCAgICAgICAgICAgICAgICAgICAgMTUKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19PVVRfVEhSX0hXX01BU0sgICAgICAgICAgICAgICAgICAgIDB4RkZGCisjZGVmaW5lIE1UNjMyNV9SR19BRENfT1VUX1RIUl9IV19TSElGVCAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19BRENfUkRZX1RIUl9IV19NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19SRFlfVEhSX0hXX1NISUZUICAgICAgICAgICAgICAgICAgIDE1CisjZGVmaW5lIE1UNjMyNV9SR19BRENfT1VUX0NIOF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDdGRkYKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19PVVRfQ0g4X1NISUZUICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19SRFlfQ0g4X01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQURDX1JEWV9DSDhfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgMTUKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19PVVRfQ0g5X01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4N0ZGRgorI2RlZmluZSBNVDYzMjVfUkdfQURDX09VVF9DSDlfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfQURDX1JEWV9DSDlfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19BRENfUkRZX0NIOV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAxNQorI2RlZmluZSBNVDYzMjVfUkdfQURDX09VVF9DSDEwX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHg3RkZGCisjZGVmaW5lIE1UNjMyNV9SR19BRENfT1VUX0NIMTBfU0hJRlQgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19BRENfUkRZX0NIMTBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19SRFlfQ0gxMF9TSElGVCAgICAgICAgICAgICAgICAgICAgIDE1CisjZGVmaW5lIE1UNjMyNV9SR19BRENfT1VUX0NIMTFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDdGRkYKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19PVVRfQ0gxMV9TSElGVCAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19SRFlfQ0gxMV9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQURDX1JEWV9DSDExX1NISUZUICAgICAgICAgICAgICAgICAgICAgMTUKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19PVVRfVklTTVBTMF9NQVNLICAgICAgICAgICAgICAgICAgIDB4RkZGCisjZGVmaW5lIE1UNjMyNV9SR19BRENfT1VUX1ZJU01QUzBfU0hJRlQgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19BRENfUkRZX1ZJU01QUzBfTUFTSyAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19SRFlfVklTTVBTMF9TSElGVCAgICAgICAgICAgICAgICAgIDE1CisjZGVmaW5lIE1UNjMyNV9SR19BRENfT1VUX0ZHQURDX01BU0sgICAgICAgICAgICAgICAgICAgICAweDdGRkYKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19PVVRfRkdBRENfU0hJRlQgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19SRFlfRkdBRENfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQURDX1JEWV9GR0FEQ19TSElGVCAgICAgICAgICAgICAgICAgICAgMTUKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19PVVRfSU1QX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4N0ZGRgorI2RlZmluZSBNVDYzMjVfUkdfQURDX09VVF9JTVBfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfQURDX1JEWV9JTVBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19BRENfUkRZX0lNUF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAxNQorI2RlZmluZSBNVDYzMjVfUkdfQURDX09VVF9JTVBfQVZHX01BU0sgICAgICAgICAgICAgICAgICAgMHg3RkZGCisjZGVmaW5lIE1UNjMyNV9SR19BRENfT1VUX0lNUF9BVkdfU0hJRlQgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19BRENfUkRZX0lNUF9BVkdfTUFTSyAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19SRFlfSU1QX0FWR19TSElGVCAgICAgICAgICAgICAgICAgIDE1CisjZGVmaW5lIE1UNjMyNV9SR19BRENfT1VUX0ZHQURDMl9NQVNLICAgICAgICAgICAgICAgICAgICAweDdGRkYKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19PVVRfRkdBREMyX1NISUZUICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19SRFlfRkdBREMyX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQURDX1JEWV9GR0FEQzJfU0hJRlQgICAgICAgICAgICAgICAgICAgMTUKKyNkZWZpbmUgTVQ2MzI1X1JHX1NXX0dBSU5fVFJJTV9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4RkZGRgorI2RlZmluZSBNVDYzMjVfUkdfU1dfR0FJTl9UUklNX1NISUZUICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfU1dfT0ZGU0VUX1RSSU1fTUFTSyAgICAgICAgICAgICAgICAgICAgMHhGRkZGCisjZGVmaW5lIE1UNjMyNV9SR19TV19PRkZTRVRfVFJJTV9TSElGVCAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19BRENfUFdEQl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19QV0RCX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19QV0RCX1NXQ1RSTF9NQVNLICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQURDX1BXREJfU1dDVFJMX1NISUZUICAgICAgICAgICAgICAgICAgMgorI2RlZmluZSBNVDYzMjVfUkdfQURDX0NBTElfUkFURV9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19BRENfQ0FMSV9SQVRFX1NISUZUICAgICAgICAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9SR19BRENfQ0FMSV9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19DQUxJX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDYKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19DQUxJX0ZPUkNFX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQURDX0NBTElfRk9SQ0VfU0hJRlQgICAgICAgICAgICAgICAgICAgNworI2RlZmluZSBNVDYzMjVfUkdfQURDX0FVVE9SU1RfUkFOR0VfTUFTSyAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19BRENfQVVUT1JTVF9SQU5HRV9TSElGVCAgICAgICAgICAgICAgICA4CisjZGVmaW5lIE1UNjMyNV9SR19BRENfQVVUT1JTVF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19BVVRPUlNUX0VOX1NISUZUICAgICAgICAgICAgICAgICAgIDEwCisjZGVmaW5lIE1UNjMyNV9SR19BRENfTEFUQ0hfRURHRV9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19MQVRDSF9FREdFX1NISUZUICAgICAgICAgICAgICAgICAgIDExCisjZGVmaW5lIE1UNjMyNV9SR19BRENfRklMVEVSX09SREVSX01BU0sgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19GSUxURVJfT1JERVJfU0hJRlQgICAgICAgICAgICAgICAgIDEyCisjZGVmaW5lIE1UNjMyNV9SR19BRENfU1dDVFJMX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19TV0NUUkxfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X0FVWEFEQ19BRENJTl9WU0VOX0VOX01BU0sgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0FEQ0lOX1ZTRU5fRU5fU0hJRlQgICAgICAgICAgICAgICAgMQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0FEQ0lOX1ZTRU5fTVVYX0VOX01BU0sgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9BVVhBRENfQURDSU5fVlNFTl9NVVhfRU5fU0hJRlQgICAgICAgICAgICAyCisjZGVmaW5lIE1UNjMyNV9BVVhBRENfQURDSU5fVkJBVF9FTl9NQVNLICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0FVWEFEQ19BRENJTl9WQkFUX0VOX1NISUZUICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X0FVWEFEQ19BRENJTl9DSFJfRU5fTUFTSyAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfQVVYQURDX0FEQ0lOX0NIUl9FTl9TSElGVCAgICAgICAgICAgICAgICAgNQorI2RlZmluZSBNVDYzMjVfUkdfQVVYQURDX0NIU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHhGCisjZGVmaW5lIE1UNjMyNV9SR19BVVhBRENfQ0hTRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfUkdfTEJBVF9ERUJUX01BWF9NQVNLICAgICAgICAgICAgICAgICAgICAgMHhGRgorI2RlZmluZSBNVDYzMjVfUkdfTEJBVF9ERUJUX01BWF9TSElGVCAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfTEJBVF9ERUJUX01JTl9NQVNLICAgICAgICAgICAgICAgICAgICAgMHhGRgorI2RlZmluZSBNVDYzMjVfUkdfTEJBVF9ERUJUX01JTl9TSElGVCAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfUkdfTEJBVF9ERVRfUFJEXzE1XzBfTUFTSyAgICAgICAgICAgICAgICAgMHhGRkZGCisjZGVmaW5lIE1UNjMyNV9SR19MQkFUX0RFVF9QUkRfMTVfMF9TSElGVCAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19MQkFUX0RFVF9QUkRfMTlfMTZfTUFTSyAgICAgICAgICAgICAgICAweEYKKyNkZWZpbmUgTVQ2MzI1X1JHX0xCQVRfREVUX1BSRF8xOV8xNl9TSElGVCAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX0xCQVRfVk9MVF9NQVhfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4RkZGCisjZGVmaW5lIE1UNjMyNV9SR19MQkFUX1ZPTFRfTUFYX1NISUZUICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19MQkFUX0lSUV9FTl9NQVhfTUFTSyAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0xCQVRfSVJRX0VOX01BWF9TSElGVCAgICAgICAgICAgICAgICAgIDEyCisjZGVmaW5lIE1UNjMyNV9SR19MQkFUX0VOX01BWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0xCQVRfRU5fTUFYX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDEzCisjZGVmaW5lIE1UNjMyNV9SR19MQkFUX01BWF9JUlFfQl9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0xCQVRfTUFYX0lSUV9CX1NISUZUICAgICAgICAgICAgICAgICAgIDE1CisjZGVmaW5lIE1UNjMyNV9SR19MQkFUX1ZPTFRfTUlOX01BU0sgICAgICAgICAgICAgICAgICAgICAweEZGRgorI2RlZmluZSBNVDYzMjVfUkdfTEJBVF9WT0xUX01JTl9TSElGVCAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfTEJBVF9JUlFfRU5fTUlOX01BU0sgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19MQkFUX0lSUV9FTl9NSU5fU0hJRlQgICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfUkdfTEJBVF9FTl9NSU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19MQkFUX0VOX01JTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAxMworI2RlZmluZSBNVDYzMjVfUkdfTEJBVF9NSU5fSVJRX0JfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19MQkFUX01JTl9JUlFfQl9TSElGVCAgICAgICAgICAgICAgICAgICAxNQorI2RlZmluZSBNVDYzMjVfUkdfTEJBVF9ERUJPVU5DRV9DT1VOVF9NQVhfTUFTSyAgICAgICAgICAgMHgxRkYKKyNkZWZpbmUgTVQ2MzI1X1JHX0xCQVRfREVCT1VOQ0VfQ09VTlRfTUFYX1NISUZUICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX0xCQVRfREVCT1VOQ0VfQ09VTlRfTUlOX01BU0sgICAgICAgICAgIDB4MUZGCisjZGVmaW5lIE1UNjMyNV9SR19MQkFUX0RFQk9VTkNFX0NPVU5UX01JTl9TSElGVCAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19EQVRBX1JFVVNFX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX0RBVEFfUkVVU0VfU0VMX1NISUZUICAgICAgICAgICAgICAgICAgIDMKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVWEFEQ19CSVNUX0VOQl9NQVNLICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQVVYQURDX0JJU1RfRU5CX1NISUZUICAgICAgICAgICAgICAgICAgNQorI2RlZmluZSBNVDYzMjVfUkdfT1NSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg3CisjZGVmaW5lIE1UNjMyNV9SR19PU1JfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMAorI2RlZmluZSBNVDYzMjVfUkdfT1NSX0dQU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg3CisjZGVmaW5lIE1UNjMyNV9SR19PU1JfR1BTX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAxMworI2RlZmluZSBNVDYzMjVfUkdfQURDX1RSSU1fQ0g3X1NFTF9NQVNLICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19BRENfVFJJTV9DSDdfU0VMX1NISUZUICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19BRENfVFJJTV9DSDZfU0VMX01BU0sgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19UUklNX0NINl9TRUxfU0hJRlQgICAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19UUklNX0NINV9TRUxfTUFTSyAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUkdfQURDX1RSSU1fQ0g1X1NFTF9TSElGVCAgICAgICAgICAgICAgICAgNAorI2RlZmluZSBNVDYzMjVfUkdfQURDX1RSSU1fQ0g0X1NFTF9NQVNLICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19BRENfVFJJTV9DSDRfU0VMX1NISUZUICAgICAgICAgICAgICAgICA2CisjZGVmaW5lIE1UNjMyNV9SR19BRENfVFJJTV9DSDNfU0VMX01BU0sgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19UUklNX0NIM19TRUxfU0hJRlQgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19UUklNX0NIMl9TRUxfTUFTSyAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUkdfQURDX1RSSU1fQ0gyX1NFTF9TSElGVCAgICAgICAgICAgICAgICAgMTAKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19UUklNX0NIMF9TRUxfTUFTSyAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUkdfQURDX1RSSU1fQ0gwX1NFTF9TSElGVCAgICAgICAgICAgICAgICAgMTQKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZCVUZfQ0FMRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVkJVRl9DQUxFTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfVkJVRl9FWFRFTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WQlVGX0VYVEVOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9SR19WQlVGX0JZUF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZCVUZfQllQX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZCVUZfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVkJVRl9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgNAorI2RlZmluZSBNVDYzMjVfUkdfU09VUkNFX0xCQVRfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19TT1VSQ0VfTEJBVF9TRUxfU0hJRlQgICAgICAgICAgICAgICAgICAxNQorI2RlZmluZSBNVDYzMjVfRUZVU0VfR0FJTl9DSDBfVFJJTV9NQVNLICAgICAgICAgICAgICAgICAgMHgxRkYKKyNkZWZpbmUgTVQ2MzI1X0VGVVNFX0dBSU5fQ0gwX1RSSU1fU0hJRlQgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X0VGVVNFX09GRlNFVF9DSDBfVFJJTV9NQVNLICAgICAgICAgICAgICAgIDB4RkYKKyNkZWZpbmUgTVQ2MzI1X0VGVVNFX09GRlNFVF9DSDBfVFJJTV9TSElGVCAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X0VGVVNFX0dBSU5fQ0g0X1RSSU1fTUFTSyAgICAgICAgICAgICAgICAgIDB4MUZGCisjZGVmaW5lIE1UNjMyNV9FRlVTRV9HQUlOX0NINF9UUklNX1NISUZUICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9FRlVTRV9PRkZTRVRfQ0g0X1RSSU1fTUFTSyAgICAgICAgICAgICAgICAweEZGCisjZGVmaW5lIE1UNjMyNV9FRlVTRV9PRkZTRVRfQ0g0X1RSSU1fU0hJRlQgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9FRlVTRV9HQUlOX0NIN19UUklNX01BU0sgICAgICAgICAgICAgICAgICAweEZGRkYKKyNkZWZpbmUgTVQ2MzI1X0VGVVNFX0dBSU5fQ0g3X1RSSU1fU0hJRlQgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X0VGVVNFX09GRlNFVF9DSDdfVFJJTV9NQVNLICAgICAgICAgICAgICAgIDB4RkZGRgorI2RlZmluZSBNVDYzMjVfRUZVU0VfT0ZGU0VUX0NIN19UUklNX1NISUZUICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfQURDX0lCSUFTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19BRENfSUJJQVNfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19BRENfUlNUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19SU1RfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19MUF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQURDX0xQX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgMworI2RlZmluZSBNVDYzMjVfUkdfQURDX0lOUFVUX1NIT1JUX01BU0sgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19BRENfSU5QVVRfU0hPUlRfU0hJRlQgICAgICAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9SR19BRENfQ0hPUFBFUl9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19DSE9QUEVSX0VOX1NISUZUICAgICAgICAgICAgICAgICAgIDUKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZQV0RCX0FEQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVlBXREJfQURDX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgNgorI2RlZmluZSBNVDYzMjVfUkdfVlJFRjE4X0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WUkVGMThfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICA3CisjZGVmaW5lIE1UNjMyNV9SR19BRENfQ0hTX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19DSFNfU0VMX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19EVlJFRl9DQUxfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQURDX0RWUkVGX0NBTF9TSElGVCAgICAgICAgICAgICAgICAgICAgMTQKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19ERU5CX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQURDX0RFTkJfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgMTUKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19TTEVFUF9NT0RFX0VOX01BU0sgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQURDX1NMRUVQX01PREVfRU5fU0hJRlQgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfQURDX0dQU19TVEFUVVNfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19BRENfR1BTX1NUQVRVU19TSElGVCAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9SR19BRENfUlNWX0JJVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19SU1ZfQklUX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19URVNUX01PREVfRU5fTUFTSyAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQURDX1RFU1RfTU9ERV9FTl9TSElGVCAgICAgICAgICAgICAgICAgMworI2RlZmluZSBNVDYzMjVfUkdfQURDX1RFU1RfT1VUX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19BRENfVEVTVF9PVVRfU0VMX1NISUZUICAgICAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9SR19ERUNJX0JZUEFTU19FTl9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0RFQ0lfQllQQVNTX0VOX1NISUZUICAgICAgICAgICAgICAgICAgIDUKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19DTEtfQU9OX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQURDX0NMS19BT05fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgNworI2RlZmluZSBNVDYzMjVfUkdfQURDX0RFQ0lfRk9SQ0VfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19BRENfREVDSV9GT1JDRV9TSElGVCAgICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfUkdfQURDX0RFQ0lfR0RMWV9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19BRENfREVDSV9HRExZX1NISUZUICAgICAgICAgICAgICAgICAgICAxNAorI2RlZmluZSBNVDYzMjVfUkdfTURfUlFTVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19NRF9SUVNUX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAxNQorI2RlZmluZSBNVDYzMjVfUkdfR1BTX1JRU1RfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19HUFNfUlFTVF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAxNQorI2RlZmluZSBNVDYzMjVfUkdfQVBfUlFTVF9MSVNUX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgxRkYKKyNkZWZpbmUgTVQ2MzI1X1JHX0FQX1JRU1RfTElTVF9TSElGVCAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX0FQX1JRU1RfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQVBfUlFTVF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgMTUKKyNkZWZpbmUgTVQ2MzI1X1JHX0FQX1JRU1RfTElTVF9SU1ZfTUFTSyAgICAgICAgICAgICAgICAgIDB4RkYKKyNkZWZpbmUgTVQ2MzI1X1JHX0FQX1JRU1RfTElTVF9SU1ZfU0hJRlQgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19PVVRfVFJJTV9FTkJfTUFTSyAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQURDX09VVF9UUklNX0VOQl9TSElGVCAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBNVDYzMjVfUkdfQURDX1RSSU1fQ09NUF9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19BRENfVFJJTV9DT01QX1NISUZUICAgICAgICAgICAgICAgICAgICAyCisjZGVmaW5lIE1UNjMyNV9SR19BRENfMlNfQ09NUF9FTkJfTUFTSyAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ18yU19DT01QX0VOQl9TSElGVCAgICAgICAgICAgICAgICAgIDMKKyNkZWZpbmUgTVQ2MzI1X1JHX0NJQ19PVVRfUkFXX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQ0lDX09VVF9SQVdfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgNAorI2RlZmluZSBNVDYzMjVfUkdfREFUQV9TS0lQX0VOQl9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19EQVRBX1NLSVBfRU5CX1NISUZUICAgICAgICAgICAgICAgICAgICA1CisjZGVmaW5lIE1UNjMyNV9SR19EQVRBX1NLSVBfTlVNX01BU0sgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX0RBVEFfU0tJUF9OVU1fU0hJRlQgICAgICAgICAgICAgICAgICAgIDYKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19SRVZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkYKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19SRVZfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX0RFQ0lfR0RMWV9TRUxfTU9ERV9NQVNLICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfREVDSV9HRExZX1NFTF9NT0RFX1NISUZUICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfREVDSV9HRExZX1ZSRUYxOF9TRUxCX01BU0sgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19ERUNJX0dETFlfVlJFRjE4X1NFTEJfU0hJRlQgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9SR19BRENfUlNWMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAweDFGRkYKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19SU1YxX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZSRUYxOF9FTkJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVlJFRjE4X0VOQl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgMTUKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ19NRF9TVEFUVVNfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQURDX01EX1NUQVRVU19TSElGVCAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfQURDX1JTVjJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzRkZGCisjZGVmaW5lIE1UNjMyNV9SR19BRENfUlNWMl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9SR19WUkVGMThfRU5CX01EX01BU0sgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZSRUYxOF9FTkJfTURfU0hJRlQgICAgICAgICAgICAgICAgICAgIDE1CisjZGVmaW5lIE1UNjMyNV9SR19BVURBQ0NERVRWVEhCQ0FMX01BU0sgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVREFDQ0RFVFZUSEJDQUxfU0hJRlQgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVREFDQ0RFVFZUSEFDQUxfTUFTSyAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQVVEQUNDREVUVlRIQUNBTF9TSElGVCAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBNVDYzMjVfUkdfQVVEQUNDREVUQU5BU1dDVFJMRU5CX01BU0sgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19BVURBQ0NERVRBTkFTV0NUUkxFTkJfU0hJRlQgICAgICAgICAgICAyCisjZGVmaW5lIE1UNjMyNV9SR19BQ0NERVRTRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FDQ0RFVFNFTF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgIDMKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVREFDQ0RFVFNXQ1RSTF9NQVNLICAgICAgICAgICAgICAgICAgIDB4NworI2RlZmluZSBNVDYzMjVfUkdfQVVEQUNDREVUU1dDVFJMX1NISUZUICAgICAgICAgICAgICAgICAgNAorI2RlZmluZSBNVDYzMjVfUkdfQVVEQUNDREVUTUlDQklBUzFQVUxMTE9XX01BU0sgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19BVURBQ0NERVRNSUNCSUFTMVBVTExMT1dfU0hJRlQgICAgICAgICA3CisjZGVmaW5lIE1UNjMyNV9SR19BVURBQ0NERVRUVkRFVF9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVREFDQ0RFVFRWREVUX1NISUZUICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1JHX0FVREFDQ0RFVFZJTjFQVUxMTE9XX01BU0sgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQVVEQUNDREVUVklOMVBVTExMT1dfU0hJRlQgICAgICAgICAgICAgOQorI2RlZmluZSBNVDYzMjVfQVVEQUNDREVUQVVYQURDU1dDVFJMX01BU0sgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9BVURBQ0NERVRBVVhBRENTV0NUUkxfU0hJRlQgICAgICAgICAgICAgICAxMAorI2RlZmluZSBNVDYzMjVfQVVEQUNDREVUQVVYQURDU1dDVFJMX1NFTF9NQVNLICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9BVURBQ0NERVRBVVhBRENTV0NUUkxfU0VMX1NISUZUICAgICAgICAgICAxMQorI2RlZmluZSBNVDYzMjVfUkdfQVVEQUNDREVUTUlDQklBUzBQVUxMTE9XX01BU0sgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19BVURBQ0NERVRNSUNCSUFTMFBVTExMT1dfU0hJRlQgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfUkdfQVVEQUNDREVUUlNWX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19BVURBQ0NERVRSU1ZfU0hJRlQgICAgICAgICAgICAgICAgICAgICAxMworI2RlZmluZSBNVDYzMjVfQUNDREVUX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9BQ0NERVRfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9BQ0NERVRfU0VRX0lOSVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0FDQ0RFVF9TRVFfSU5JVF9TSElGVCAgICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgTVQ2MzI1X0FDQ0RFVF9FSU5UREVUX0VOX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfQUNDREVUX0VJTlRERVRfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgMgorI2RlZmluZSBNVDYzMjVfQUNDREVUX0VJTlRfU0VRX0lOSVRfTUFTSyAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9BQ0NERVRfRUlOVF9TRVFfSU5JVF9TSElGVCAgICAgICAgICAgICAgICAzCisjZGVmaW5lIE1UNjMyNV9BQ0NERVRfTkVHVkRFVF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0FDQ0RFVF9ORUdWREVUX0VOX1NISUZUICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X0FDQ0RFVF9ORUdWREVUX0VOX0NUUkxfTUFTSyAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfQUNDREVUX05FR1ZERVRfRU5fQ1RSTF9TSElGVCAgICAgICAgICAgICAgNQorI2RlZmluZSBNVDYzMjVfQUNDREVUX0NNUF9QV01fRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9BQ0NERVRfQ01QX1BXTV9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9BQ0NERVRfVlRIX1BXTV9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0FDQ0RFVF9WVEhfUFdNX0VOX1NISUZUICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgTVQ2MzI1X0FDQ0RFVF9NQklBU19QV01fRU5fTUFTSyAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfQUNDREVUX01CSUFTX1BXTV9FTl9TSElGVCAgICAgICAgICAgICAgICAgMgorI2RlZmluZSBNVDYzMjVfQUNDREVUX0VJTlRfUFdNX0VOX01BU0sgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9BQ0NERVRfRUlOVF9QV01fRU5fU0hJRlQgICAgICAgICAgICAgICAgICAzCisjZGVmaW5lIE1UNjMyNV9BQ0NERVRfQ01QX1BXTV9JRExFX01BU0sgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0FDQ0RFVF9DTVBfUFdNX0lETEVfU0hJRlQgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X0FDQ0RFVF9WVEhfUFdNX0lETEVfTUFTSyAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfQUNDREVUX1ZUSF9QV01fSURMRV9TSElGVCAgICAgICAgICAgICAgICAgNQorI2RlZmluZSBNVDYzMjVfQUNDREVUX01CSUFTX1BXTV9JRExFX01BU0sgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9BQ0NERVRfTUJJQVNfUFdNX0lETEVfU0hJRlQgICAgICAgICAgICAgICA2CisjZGVmaW5lIE1UNjMyNV9BQ0NERVRfRUlOVF9QV01fSURMRV9NQVNLICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0FDQ0RFVF9FSU5UX1BXTV9JRExFX1NISUZUICAgICAgICAgICAgICAgIDcKKyNkZWZpbmUgTVQ2MzI1X0FDQ0RFVF9QV01fV0lEVEhfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4RkZGRgorI2RlZmluZSBNVDYzMjVfQUNDREVUX1BXTV9XSURUSF9TSElGVCAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfQUNDREVUX1BXTV9USFJFU0hfTUFTSyAgICAgICAgICAgICAgICAgICAgMHhGRkZGCisjZGVmaW5lIE1UNjMyNV9BQ0NERVRfUFdNX1RIUkVTSF9TSElGVCAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9BQ0NERVRfUklTRV9ERUxBWV9NQVNLICAgICAgICAgICAgICAgICAgICAweDdGRkYKKyNkZWZpbmUgTVQ2MzI1X0FDQ0RFVF9SSVNFX0RFTEFZX1NISUZUICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X0FDQ0RFVF9GQUxMX0RFTEFZX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfQUNDREVUX0ZBTExfREVMQVlfU0hJRlQgICAgICAgICAgICAgICAgICAgMTUKKyNkZWZpbmUgTVQ2MzI1X0FDQ0RFVF9ERUJPVU5DRTBfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4RkZGRgorI2RlZmluZSBNVDYzMjVfQUNDREVUX0RFQk9VTkNFMF9TSElGVCAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfQUNDREVUX0RFQk9VTkNFMV9NQVNLICAgICAgICAgICAgICAgICAgICAgMHhGRkZGCisjZGVmaW5lIE1UNjMyNV9BQ0NERVRfREVCT1VOQ0UxX1NISUZUICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9BQ0NERVRfREVCT1VOQ0UyX01BU0sgICAgICAgICAgICAgICAgICAgICAweEZGRkYKKyNkZWZpbmUgTVQ2MzI1X0FDQ0RFVF9ERUJPVU5DRTJfU0hJRlQgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X0FDQ0RFVF9ERUJPVU5DRTNfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4RkZGRgorI2RlZmluZSBNVDYzMjVfQUNDREVUX0RFQk9VTkNFM19TSElGVCAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfQUNDREVUX0RFQk9VTkNFNF9NQVNLICAgICAgICAgICAgICAgICAgICAgMHhGRkZGCisjZGVmaW5lIE1UNjMyNV9BQ0NERVRfREVCT1VOQ0U0X1NISUZUICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9BQ0NERVRfSVZBTF9DVVJfSU5fTUFTSyAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X0FDQ0RFVF9JVkFMX0NVUl9JTl9TSElGVCAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X0FDQ0RFVF9FSU5UX0lWQUxfQ1VSX0lOX01BU0sgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfQUNDREVUX0VJTlRfSVZBTF9DVVJfSU5fU0hJRlQgICAgICAgICAgICAgMgorI2RlZmluZSBNVDYzMjVfQUNDREVUX0lWQUxfU0FNX0lOX01BU0sgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9BQ0NERVRfSVZBTF9TQU1fSU5fU0hJRlQgICAgICAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9BQ0NERVRfRUlOVF9JVkFMX1NBTV9JTl9NQVNLICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0FDQ0RFVF9FSU5UX0lWQUxfU0FNX0lOX1NISUZUICAgICAgICAgICAgIDYKKyNkZWZpbmUgTVQ2MzI1X0FDQ0RFVF9JVkFMX01FTV9JTl9NQVNLICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfQUNDREVUX0lWQUxfTUVNX0lOX1NISUZUICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfQUNDREVUX0VJTlRfSVZBTF9NRU1fSU5fTUFTSyAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9BQ0NERVRfRUlOVF9JVkFMX01FTV9JTl9TSElGVCAgICAgICAgICAgICAxMAorI2RlZmluZSBNVDYzMjVfQUNDREVUX0VJTlRfSVZBTF9TRUxfTUFTSyAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9BQ0NERVRfRUlOVF9JVkFMX1NFTF9TSElGVCAgICAgICAgICAgICAgICAxNAorI2RlZmluZSBNVDYzMjVfQUNDREVUX0lWQUxfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9BQ0NERVRfSVZBTF9TRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAxNQorI2RlZmluZSBNVDYzMjVfQUNDREVUX0lSUV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9BQ0NERVRfSVJRX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9BQ0NERVRfTkVHVl9JUlFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0FDQ0RFVF9ORUdWX0lSUV9TSElGVCAgICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgTVQ2MzI1X0FDQ0RFVF9FSU5UX0lSUV9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfQUNDREVUX0VJTlRfSVJRX1NISUZUICAgICAgICAgICAgICAgICAgICAgMgorI2RlZmluZSBNVDYzMjVfQUNDREVUX0lSUV9DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9BQ0NERVRfSVJRX0NMUl9TSElGVCAgICAgICAgICAgICAgICAgICAgICA4CisjZGVmaW5lIE1UNjMyNV9BQ0NERVRfTkVHVl9JUlFfQ0xSX01BU0sgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0FDQ0RFVF9ORUdWX0lSUV9DTFJfU0hJRlQgICAgICAgICAgICAgICAgIDkKKyNkZWZpbmUgTVQ2MzI1X0FDQ0RFVF9FSU5UX0lSUV9DTFJfTUFTSyAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfQUNDREVUX0VJTlRfSVJRX0NMUl9TSElGVCAgICAgICAgICAgICAgICAgMTAKKyNkZWZpbmUgTVQ2MzI1X0FDQ0RFVF9FSU5UX0lSUV9QT0xBUklUWV9NQVNLICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfQUNDREVUX0VJTlRfSVJRX1BPTEFSSVRZX1NISUZUICAgICAgICAgICAgMTUKKyNkZWZpbmUgTVQ2MzI1X0FDQ0RFVF9URVNUX01PREUwX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfQUNDREVUX1RFU1RfTU9ERTBfU0hJRlQgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfQUNDREVUX1RFU1RfTU9ERTFfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9BQ0NERVRfVEVTVF9NT0RFMV9TSElGVCAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9BQ0NERVRfVEVTVF9NT0RFMl9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0FDQ0RFVF9URVNUX01PREUyX1NISUZUICAgICAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X0FDQ0RFVF9URVNUX01PREUzX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfQUNDREVUX1RFU1RfTU9ERTNfU0hJRlQgICAgICAgICAgICAgICAgICAgMworI2RlZmluZSBNVDYzMjVfQUNDREVUX1RFU1RfTU9ERTRfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9BQ0NERVRfVEVTVF9NT0RFNF9TSElGVCAgICAgICAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9BQ0NERVRfVEVTVF9NT0RFNV9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0FDQ0RFVF9URVNUX01PREU1X1NISUZUICAgICAgICAgICAgICAgICAgIDUKKyNkZWZpbmUgTVQ2MzI1X0FDQ0RFVF9QV01fU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfQUNDREVUX1BXTV9TRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgNgorI2RlZmluZSBNVDYzMjVfQUNDREVUX0lOX1NXX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9BQ0NERVRfSU5fU1dfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICA4CisjZGVmaW5lIE1UNjMyNV9BQ0NERVRfQ01QX0VOX1NXX01BU0sgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0FDQ0RFVF9DTVBfRU5fU1dfU0hJRlQgICAgICAgICAgICAgICAgICAgIDEyCisjZGVmaW5lIE1UNjMyNV9BQ0NERVRfVlRIX0VOX1NXX01BU0sgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0FDQ0RFVF9WVEhfRU5fU1dfU0hJRlQgICAgICAgICAgICAgICAgICAgIDEzCisjZGVmaW5lIE1UNjMyNV9BQ0NERVRfTUJJQVNfRU5fU1dfTUFTSyAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0FDQ0RFVF9NQklBU19FTl9TV19TSElGVCAgICAgICAgICAgICAgICAgIDE0CisjZGVmaW5lIE1UNjMyNV9BQ0NERVRfUFdNX0VOX1NXX01BU0sgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0FDQ0RFVF9QV01fRU5fU1dfU0hJRlQgICAgICAgICAgICAgICAgICAgIDE1CisjZGVmaW5lIE1UNjMyNV9BQ0NERVRfSU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X0FDQ0RFVF9JTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X0FDQ0RFVF9DVVJfSU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfQUNDREVUX0NVUl9JTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgMgorI2RlZmluZSBNVDYzMjVfQUNDREVUX1NBTV9JTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9BQ0NERVRfU0FNX0lOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9BQ0NERVRfTUVNX0lOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X0FDQ0RFVF9NRU1fSU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDYKKyNkZWZpbmUgTVQ2MzI1X0FDQ0RFVF9TVEFURV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgIDB4NworI2RlZmluZSBNVDYzMjVfQUNDREVUX1NUQVRFX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfQUNDREVUX01CSUFTX0NMS19NQVNLICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9BQ0NERVRfTUJJQVNfQ0xLX1NISUZUICAgICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfQUNDREVUX1ZUSF9DTEtfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9BQ0NERVRfVlRIX0NMS19TSElGVCAgICAgICAgICAgICAgICAgICAgICAxMworI2RlZmluZSBNVDYzMjVfQUNDREVUX0NNUF9DTEtfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9BQ0NERVRfQ01QX0NMS19TSElGVCAgICAgICAgICAgICAgICAgICAgICAxNAorI2RlZmluZSBNVDYzMjVfREFfQVVEQUNDREVUQVVYQURDU1dDVFJMX01BU0sgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9EQV9BVURBQ0NERVRBVVhBRENTV0NUUkxfU0hJRlQgICAgICAgICAgICAxNQorI2RlZmluZSBNVDYzMjVfQUNDREVUX0VJTlRfREVCX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9BQ0NERVRfRUlOVF9ERUJfU0VMX1NISUZUICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9BQ0NERVRfRUlOVF9ERUJPVU5DRV9NQVNLICAgICAgICAgICAgICAgICAweDcKKyNkZWZpbmUgTVQ2MzI1X0FDQ0RFVF9FSU5UX0RFQk9VTkNFX1NISUZUICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X0FDQ0RFVF9FSU5UX1BXTV9USFJFU0hfTUFTSyAgICAgICAgICAgICAgIDB4NworI2RlZmluZSBNVDYzMjVfQUNDREVUX0VJTlRfUFdNX1RIUkVTSF9TSElGVCAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfQUNDREVUX0VJTlRfUFdNX1dJRFRIX01BU0sgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9BQ0NERVRfRUlOVF9QV01fV0lEVEhfU0hJRlQgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfQUNDREVUX05FR1ZfVEhSRVNIX01BU0sgICAgICAgICAgICAgICAgICAgMHgxRgorI2RlZmluZSBNVDYzMjVfQUNDREVUX05FR1ZfVEhSRVNIX1NISUZUICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfQUNDREVUX0VJTlRfUFdNX0ZBTExfREVMQVlfTUFTSyAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9BQ0NERVRfRUlOVF9QV01fRkFMTF9ERUxBWV9TSElGVCAgICAgICAgICA1CisjZGVmaW5lIE1UNjMyNV9BQ0NERVRfRUlOVF9QV01fUklTRV9ERUxBWV9NQVNLICAgICAgICAgICAweDNGRgorI2RlZmluZSBNVDYzMjVfQUNDREVUX0VJTlRfUFdNX1JJU0VfREVMQVlfU0hJRlQgICAgICAgICAgNgorI2RlZmluZSBNVDYzMjVfQUNDREVUX1RFU1RfTU9ERTEzX01BU0sgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9BQ0NERVRfVEVTVF9NT0RFMTNfU0hJRlQgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9BQ0NERVRfVEVTVF9NT0RFMTJfTUFTSyAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0FDQ0RFVF9URVNUX01PREUxMl9TSElGVCAgICAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X0FDQ0RFVF9OVkRFVEVDVE9VVF9TV19NQVNLICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfQUNDREVUX05WREVURUNUT1VUX1NXX1NISUZUICAgICAgICAgICAgICAgMworI2RlZmluZSBNVDYzMjVfQUNDREVUX1RFU1RfTU9ERTExX01BU0sgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9BQ0NERVRfVEVTVF9NT0RFMTFfU0hJRlQgICAgICAgICAgICAgICAgICA1CisjZGVmaW5lIE1UNjMyNV9BQ0NERVRfVEVTVF9NT0RFMTBfTUFTSyAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0FDQ0RFVF9URVNUX01PREUxMF9TSElGVCAgICAgICAgICAgICAgICAgIDYKKyNkZWZpbmUgTVQ2MzI1X0FDQ0RFVF9FSU5UQ01QT1VUX1NXX01BU0sgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfQUNDREVUX0VJTlRDTVBPVVRfU1dfU0hJRlQgICAgICAgICAgICAgICAgNworI2RlZmluZSBNVDYzMjVfQUNDREVUX1RFU1RfTU9ERTlfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9BQ0NERVRfVEVTVF9NT0RFOV9TSElGVCAgICAgICAgICAgICAgICAgICA5CisjZGVmaW5lIE1UNjMyNV9BQ0NERVRfVEVTVF9NT0RFOF9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0FDQ0RFVF9URVNUX01PREU4X1NISUZUICAgICAgICAgICAgICAgICAgIDEwCisjZGVmaW5lIE1UNjMyNV9BQ0NERVRfQVVYQURDX0NUUkxfU1dfTUFTSyAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0FDQ0RFVF9BVVhBRENfQ1RSTF9TV19TSElGVCAgICAgICAgICAgICAgIDExCisjZGVmaW5lIE1UNjMyNV9BQ0NERVRfVEVTVF9NT0RFN19NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0FDQ0RFVF9URVNUX01PREU3X1NISUZUICAgICAgICAgICAgICAgICAgIDEzCisjZGVmaW5lIE1UNjMyNV9BQ0NERVRfVEVTVF9NT0RFNl9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0FDQ0RFVF9URVNUX01PREU2X1NISUZUICAgICAgICAgICAgICAgICAgIDE0CisjZGVmaW5lIE1UNjMyNV9BQ0NERVRfRUlOVENNUF9FTl9TV19NQVNLICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0FDQ0RFVF9FSU5UQ01QX0VOX1NXX1NISUZUICAgICAgICAgICAgICAgIDE1CisjZGVmaW5lIE1UNjMyNV9SR19OVkNNUFNXRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX05WQ01QU1dFTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X1JHX05WTU9EU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfTlZNT0RTRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgOQorI2RlZmluZSBNVDYzMjVfUkdfU1dCVUZTV0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19TV0JVRlNXRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAxMAorI2RlZmluZSBNVDYzMjVfUkdfU1dCVUZNT0RTRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19TV0JVRk1PRFNFTF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAxMQorI2RlZmluZSBNVDYzMjVfUkdfTlZERVRWVEhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19OVkRFVFZUSF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAxMgorI2RlZmluZSBNVDYzMjVfUkdfTlZERVRDTVBFTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19OVkRFVENNUEVOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAxMworI2RlZmluZSBNVDYzMjVfUkdfRUlOVENPTkZJR0FDQ0RFVF9NQVNLICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19FSU5UQ09ORklHQUNDREVUX1NISUZUICAgICAgICAgICAgICAgICAxNAorI2RlZmluZSBNVDYzMjVfUkdfRUlOVENPTVBWVEhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19FSU5UQ09NUFZUSF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAxNQorI2RlZmluZSBNVDYzMjVfQUNDREVUX0VJTlRfU1RBVEVfTUFTSyAgICAgICAgICAgICAgICAgICAgMHg3CisjZGVmaW5lIE1UNjMyNV9BQ0NERVRfRUlOVF9TVEFURV9TSElGVCAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9BQ0NERVRfRUlOVF9DVVJfSU5fTUFTSyAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0FDQ0RFVF9FSU5UX0NVUl9JTl9TSElGVCAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVQ2MzI1X0FDQ0RFVF9FSU5UX1NBTV9JTl9NQVNLICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfQUNDREVUX0VJTlRfU0FNX0lOX1NISUZUICAgICAgICAgICAgICAgICAgOQorI2RlZmluZSBNVDYzMjVfQUNDREVUX0VJTlRfTUVNX0lOX01BU0sgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9BQ0NERVRfRUlOVF9NRU1fSU5fU0hJRlQgICAgICAgICAgICAgICAgICAxMAorI2RlZmluZSBNVDYzMjVfTlZERVRFQ1RPVVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9OVkRFVEVDVE9VVF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAxMworI2RlZmluZSBNVDYzMjVfRUlOVENNUE9VVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9FSU5UQ01QT1VUX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAxNAorI2RlZmluZSBNVDYzMjVfTklfRUlOVENNUEVOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9OSV9FSU5UQ01QRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAxNQorI2RlZmluZSBNVDYzMjVfQUNDREVUX05FR1ZfQ09VTlRfSU5fTUFTSyAgICAgICAgICAgICAgICAgMHgzRgorI2RlZmluZSBNVDYzMjVfQUNDREVUX05FR1ZfQ09VTlRfSU5fU0hJRlQgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfQUNDREVUX05FR1ZfRU5fRklOQUxfTUFTSyAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9BQ0NERVRfTkVHVl9FTl9GSU5BTF9TSElGVCAgICAgICAgICAgICAgICA2CisjZGVmaW5lIE1UNjMyNV9BQ0NERVRfTkVHVl9DT1VOVF9FTkRfTUFTSyAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0FDQ0RFVF9ORUdWX0NPVU5UX0VORF9TSElGVCAgICAgICAgICAgICAgIDEyCisjZGVmaW5lIE1UNjMyNV9BQ0NERVRfTkVHVl9NSU5VX01BU0sgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0FDQ0RFVF9ORUdWX01JTlVfU0hJRlQgICAgICAgICAgICAgICAgICAgIDEzCisjZGVmaW5lIE1UNjMyNV9BQ0NERVRfTkVHVl9BRERfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0FDQ0RFVF9ORUdWX0FERF9TSElGVCAgICAgICAgICAgICAgICAgICAgIDE0CisjZGVmaW5lIE1UNjMyNV9BQ0NERVRfTkVHVl9DTVBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0FDQ0RFVF9ORUdWX0NNUF9TSElGVCAgICAgICAgICAgICAgICAgICAgIDE1CisjZGVmaW5lIE1UNjMyNV9BQ0NERVRfQ1VSX0RFQl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweEZGRkYKKyNkZWZpbmUgTVQ2MzI1X0FDQ0RFVF9DVVJfREVCX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X0FDQ0RFVF9FSU5UX0NVUl9ERUJfTUFTSyAgICAgICAgICAgICAgICAgIDB4N0ZGRgorI2RlZmluZSBNVDYzMjVfQUNDREVUX0VJTlRfQ1VSX0RFQl9TSElGVCAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfQUNDREVUX1JTVl9DT04wX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHhGRkZGCisjZGVmaW5lIE1UNjMyNV9BQ0NERVRfUlNWX0NPTjBfU0hJRlQgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9BQ0NERVRfUlNWX0NPTjFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweEZGRkYKKyNkZWZpbmUgTVQ2MzI1X0FDQ0RFVF9SU1ZfQ09OMV9TSElGVCAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDRFRfSFZfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVkNEVF9IVl9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdTX0NIUl9MRE9fREVUX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR1NfQ0hSX0xET19ERVRfU0hJRlQgICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9SR19QQ0hSX0FVVE9NT0RFX01BU0sgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1BDSFJfQVVUT01PREVfU0hJRlQgICAgICAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1JHX0NTREFDX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQ1NEQUNfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgMworI2RlZmluZSBNVDYzMjVfUkdfQ0hSX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19DSFJfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9SR1NfQ0hSREVUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHU19DSFJERVRfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgIDUKKyNkZWZpbmUgTVQ2MzI1X1JHU19WQ0RUX0xWX0RFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdTX1ZDRFRfTFZfREVUX1NISUZUICAgICAgICAgICAgICAgICAgICAgNgorI2RlZmluZSBNVDYzMjVfUkdTX1ZDRFRfSFZfREVUX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR1NfVkNEVF9IVl9ERVRfU0hJRlQgICAgICAgICAgICAgICAgICAgICA3CisjZGVmaW5lIE1UNjMyNV9SR19WQ0RUX0xWX1ZUSF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweEYKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDRFRfTFZfVlRIX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDRFRfSFZfVlRIX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4RgorI2RlZmluZSBNVDYzMjVfUkdfVkNEVF9IVl9WVEhfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgNAorI2RlZmluZSBNVDYzMjVfUkdfVkJBVF9DVl9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WQkFUX0NWX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9SR19WQkFUX0NDX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZCQVRfQ0NfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1JHX0NTX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQ1NfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgMworI2RlZmluZSBNVDYzMjVfUkdTX0NTX0RFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR1NfQ1NfREVUX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICA1CisjZGVmaW5lIE1UNjMyNV9SR1NfVkJBVF9DVl9ERVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHU19WQkFUX0NWX0RFVF9TSElGVCAgICAgICAgICAgICAgICAgICAgIDYKKyNkZWZpbmUgTVQ2MzI1X1JHU19WQkFUX0NDX0RFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdTX1ZCQVRfQ0NfREVUX1NISUZUICAgICAgICAgICAgICAgICAgICAgNworI2RlZmluZSBNVDYzMjVfUkdfVkJBVF9DVl9WVEhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgzRgorI2RlZmluZSBNVDYzMjVfUkdfVkJBVF9DVl9WVEhfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfVkJBVF9DQ19WVEhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19WQkFUX0NDX1ZUSF9TSElGVCAgICAgICAgICAgICAgICAgICAgICA2CisjZGVmaW5lIE1UNjMyNV9SR19DU19WVEhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEYKKyNkZWZpbmUgTVQ2MzI1X1JHX0NTX1ZUSF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX1BDSFJfVE9IVENfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4NworI2RlZmluZSBNVDYzMjVfUkdfUENIUl9UT0hUQ19TSElGVCAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfUENIUl9UT0xUQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHg3CisjZGVmaW5lIE1UNjMyNV9SR19QQ0hSX1RPTFRDX1NISUZUICAgICAgICAgICAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9SR19WQkFUX09WX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZCQVRfT1ZfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZCQVRfT1ZfVlRIX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4RgorI2RlZmluZSBNVDYzMjVfUkdfVkJBVF9PVl9WVEhfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBNVDYzMjVfUkdfVkJBVF9PVl9ERUdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19WQkFUX09WX0RFR19TSElGVCAgICAgICAgICAgICAgICAgICAgICA1CisjZGVmaW5lIE1UNjMyNV9SR1NfVkJBVF9PVl9ERVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHU19WQkFUX09WX0RFVF9TSElGVCAgICAgICAgICAgICAgICAgICAgIDYKKyNkZWZpbmUgTVQ2MzI1X1JHX0JBVE9OX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQkFUT05fRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfQkFUT05fSFRfRU5fUlNWMF9NQVNLICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19CQVRPTl9IVF9FTl9SU1YwX1NISUZUICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9CQVRPTl9UREVUX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0JBVE9OX1RERVRfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1JHX0JBVE9OX0hUX1RSSU1fTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4NworI2RlZmluZSBNVDYzMjVfUkdfQkFUT05fSFRfVFJJTV9TSElGVCAgICAgICAgICAgICAgICAgICAgNAorI2RlZmluZSBNVDYzMjVfUkdfQkFUT05fSFRfVFJJTV9TRVRfTUFTSyAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19CQVRPTl9IVF9UUklNX1NFVF9TSElGVCAgICAgICAgICAgICAgICA3CisjZGVmaW5lIE1UNjMyNV9SR1NfQkFUT05fVU5ERVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHU19CQVRPTl9VTkRFVF9TSElGVCAgICAgICAgICAgICAgICAgICAgIDEyCisjZGVmaW5lIE1UNjMyNV9SR19DU0RBQ19EQVRBX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDNGRgorI2RlZmluZSBNVDYzMjVfUkdfQ1NEQUNfREFUQV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfRlJDX0NTVlRIX1VTQkRMX01BU0sgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19GUkNfQ1NWVEhfVVNCRExfU0hJRlQgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR1NfUENIUl9GTEFHX09VVF9NQVNLICAgICAgICAgICAgICAgICAgICAweEYKKyNkZWZpbmUgTVQ2MzI1X1JHU19QQ0hSX0ZMQUdfT1VUX1NISUZUICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX1BDSFJfRkxBR19FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfUENIUl9GTEFHX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgNAorI2RlZmluZSBNVDYzMjVfUkdfT1RHX0JWQUxJRF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19PVEdfQlZBTElEX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICA1CisjZGVmaW5lIE1UNjMyNV9SR1NfT1RHX0JWQUxJRF9ERVRfTUFTSyAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHU19PVEdfQlZBTElEX0RFVF9TSElGVCAgICAgICAgICAgICAgICAgIDYKKyNkZWZpbmUgTVQ2MzI1X1JHX1BDSFJfRkxBR19TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4M0YKKyNkZWZpbmUgTVQ2MzI1X1JHX1BDSFJfRkxBR19TRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX1BDSFJfVEVTVE1PREVfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfUENIUl9URVNUTU9ERV9TSElGVCAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfQ1NEQUNfVEVTVE1PREVfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19DU0RBQ19URVNUTU9ERV9TSElGVCAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9SR19QQ0hSX1JTVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1BDSFJfUlNUX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1JHX1BDSFJfRlRfQ1RSTF9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4NworI2RlZmluZSBNVDYzMjVfUkdfUENIUl9GVF9DVFJMX1NISUZUICAgICAgICAgICAgICAgICAgICAgNAorI2RlZmluZSBNVDYzMjVfUkdfQ0hSV0RUX1REX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHhGCisjZGVmaW5lIE1UNjMyNV9SR19DSFJXRFRfVERfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19DSFJXRFRfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0NIUldEVF9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1JHX0NIUldEVF9XUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQ0hSV0RUX1dSX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfUkdfUENIUl9SVl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhGRgorI2RlZmluZSBNVDYzMjVfUkdfUENIUl9SVl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfQ0hSV0RUX0lOVF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19DSFJXRFRfSU5UX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19DSFJXRFRfRkxBR19XUl9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0NIUldEVF9GTEFHX1dSX1NISUZUICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgTVQ2MzI1X1JHU19DSFJXRFRfT1VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdTX0NIUldEVF9PVVRfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgMgorI2RlZmluZSBNVDYzMjVfUkdfVVNCRExfUlNUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19VU0JETF9SU1RfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAyCisjZGVmaW5lIE1UNjMyNV9SR19VU0JETF9TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1VTQkRMX1NFVF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgIDMKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ0lOX1ZTRU5fTVVYX0VOX01BU0sgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQURDSU5fVlNFTl9NVVhfRU5fU0hJRlQgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfUkdfQURDSU5fVlNFTl9FWFRfQkFUT05fRU5fTUFTSyAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19BRENJTl9WU0VOX0VYVF9CQVRPTl9FTl9TSElGVCAgICAgICAgICA5CisjZGVmaW5lIE1UNjMyNV9SR19BRENJTl9WQkFUX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ0lOX1ZCQVRfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgIDEwCisjZGVmaW5lIE1UNjMyNV9SR19BRENJTl9WU0VOX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ0lOX1ZTRU5fRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgIDExCisjZGVmaW5lIE1UNjMyNV9SR19BRENJTl9DSFJfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0FEQ0lOX0NIUl9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgIDEyCisjZGVmaW5lIE1UNjMyNV9SR19VVkxPX1ZUSExfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAweDFGCisjZGVmaW5lIE1UNjMyNV9SR19VVkxPX1ZUSExfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19VVkxPX1ZIX0xBVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1VWTE9fVkhfTEFUX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDcKKyNkZWZpbmUgTVQ2MzI1X1JHX0xCQVRfSU5UX1ZUSF9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MUYKKyNkZWZpbmUgTVQ2MzI1X1JHX0xCQVRfSU5UX1ZUSF9TSElGVCAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX0JHUl9SU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NworI2RlZmluZSBNVDYzMjVfUkdfQkdSX1JTRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfQkdSX1VOQ0hPUF9QSF9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19CR1JfVU5DSE9QX1BIX1NISUZUICAgICAgICAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9SR19CR1JfVU5DSE9QX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0JHUl9VTkNIT1BfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDUKKyNkZWZpbmUgTVQ2MzI1X1JHX0JDMTFfQkJfQ1RSTF9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQkMxMV9CQl9DVFJMX1NISUZUICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfQkMxMV9SU1RfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19CQzExX1JTVF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9SR19CQzExX1ZTUkNfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX0JDMTFfVlNSQ19FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVQ2MzI1X1JHX0JDMTFfQUNBX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQkMxMV9BQ0FfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgNAorI2RlZmluZSBNVDYzMjVfUkdTX0JDMTFfQ01QX09VVF9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR1NfQkMxMV9DTVBfT1VUX1NISUZUICAgICAgICAgICAgICAgICAgICA3CisjZGVmaW5lIE1UNjMyNV9SR19CQzExX1ZSRUZfVlRIX01BU0sgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX0JDMTFfVlJFRl9WVEhfU0hJRlQgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX0JDMTFfQ01QX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUkdfQkMxMV9DTVBfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgMgorI2RlZmluZSBNVDYzMjVfUkdfQkMxMV9JUERfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9SR19CQzExX0lQRF9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9SR19CQzExX0lQVV9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVQ2MzI1X1JHX0JDMTFfSVBVX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDYKKyNkZWZpbmUgTVQ2MzI1X1JHX0JDMTFfQklBU19FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQkMxMV9CSUFTX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfUkdfQ1NEQUNfU1RQX0lOQ19NQVNLICAgICAgICAgICAgICAgICAgICAgMHg3CisjZGVmaW5lIE1UNjMyNV9SR19DU0RBQ19TVFBfSU5DX1NISUZUICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19DU0RBQ19TVFBfREVDX01BU0sgICAgICAgICAgICAgICAgICAgICAweDcKKyNkZWZpbmUgTVQ2MzI1X1JHX0NTREFDX1NUUF9ERUNfU0hJRlQgICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1JHX0NTREFDX0RMWV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgIDB4NworI2RlZmluZSBNVDYzMjVfUkdfQ1NEQUNfRExZX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfQ1NEQUNfU1RQX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHg3CisjZGVmaW5lIE1UNjMyNV9SR19DU0RBQ19TVFBfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9SR19MT1dfSUNIX0RCX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDNGCisjZGVmaW5lIE1UNjMyNV9SR19MT1dfSUNIX0RCX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19DSFJJTkRfT05fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0NIUklORF9PTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgIDYKKyNkZWZpbmUgTVQ2MzI1X1JHX0NIUklORF9ESU1NSU5HX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQ0hSSU5EX0RJTU1JTkdfU0hJRlQgICAgICAgICAgICAgICAgICAgNworI2RlZmluZSBNVDYzMjVfUkdfQ1ZfTU9ERV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19DVl9NT0RFX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19WQ0RUX01PREVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX1ZDRFRfTU9ERV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0NTREFDX01PREVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQ1NEQUNfTU9ERV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgMgorI2RlZmluZSBNVDYzMjVfUkdfVFJBQ0tJTkdfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19UUkFDS0lOR19FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9SR19IV0NWX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0hXQ1ZfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgIDYKKyNkZWZpbmUgTVQ2MzI1X1JHX1VMQ19ERVRfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfVUxDX0RFVF9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgNworI2RlZmluZSBNVDYzMjVfUkdfQkdSX1RSSU1fRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9SR19CR1JfVFJJTV9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19JQ0hSR19UUklNX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweEYKKyNkZWZpbmUgTVQ2MzI1X1JHX0lDSFJHX1RSSU1fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1JHX0JHUl9UUklNX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MUYKKyNkZWZpbmUgTVQ2MzI1X1JHX0JHUl9UUklNX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX09WUF9UUklNX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RgorI2RlZmluZSBNVDYzMjVfUkdfT1ZQX1RSSU1fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfQ0hSX09TQ19UUklNX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgxRgorI2RlZmluZSBNVDYzMjVfUkdfQ0hSX09TQ19UUklNX1NISUZUICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUUlfQkdSX0VYVF9CVUZfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9RSV9CR1JfRVhUX0JVRl9FTl9TSElGVCAgICAgICAgICAgICAgICAgICA1CisjZGVmaW5lIE1UNjMyNV9SR19CR1JfVEVTVF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0JHUl9URVNUX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgIDYKKyNkZWZpbmUgTVQ2MzI1X1JHX0JHUl9URVNUX1JTVEJfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQkdSX1RFU1RfUlNUQl9TSElGVCAgICAgICAgICAgICAgICAgICAgNworI2RlZmluZSBNVDYzMjVfUkdfREFDX1VTQkRMX01BWF9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgzRkYKKyNkZWZpbmUgTVQ2MzI1X1JHX0RBQ19VU0JETF9NQVhfU0hJRlQgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1JHX0NNX1ZERUNfVFJJR19NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfUkdfQ01fVkRFQ19UUklHX1NISUZUICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUENIUl9DTV9WREVDX1NUQVRVU19NQVNLICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1UNjMyNV9QQ0hSX0NNX1ZERUNfU1RBVFVTX1NISUZUICAgICAgICAgICAgICAgICA0CisjZGVmaW5lIE1UNjMyNV9SR19DTV9WSU5DX1RSSUdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X1JHX0NNX1ZJTkNfVFJJR19TSElGVCAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X1BDSFJfQ01fVklOQ19TVEFUVVNfTUFTSyAgICAgICAgICAgICAgICAgIDB4MworI2RlZmluZSBNVDYzMjVfUENIUl9DTV9WSU5DX1NUQVRVU19TSElGVCAgICAgICAgICAgICAgICAgNAorI2RlZmluZSBNVDYzMjVfUkdfQ01fVkRFQ19IUFJEMV9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgzRgorI2RlZmluZSBNVDYzMjVfUkdfQ01fVkRFQ19IUFJEMV9TSElGVCAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfQ01fVkRFQ19IUFJEMl9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgzRgorI2RlZmluZSBNVDYzMjVfUkdfQ01fVkRFQ19IUFJEMl9TSElGVCAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfUkdfQ01fVkRFQ19IUFJEM19NQVNLICAgICAgICAgICAgICAgICAgICAgMHgzRgorI2RlZmluZSBNVDYzMjVfUkdfQ01fVkRFQ19IUFJEM19TSElGVCAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfQ01fVkRFQ19IUFJENF9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgzRgorI2RlZmluZSBNVDYzMjVfUkdfQ01fVkRFQ19IUFJENF9TSElGVCAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfUkdfQ01fVkRFQ19IUFJENV9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgzRgorI2RlZmluZSBNVDYzMjVfUkdfQ01fVkRFQ19IUFJENV9TSElGVCAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfQ01fVkRFQ19IUFJENl9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgzRgorI2RlZmluZSBNVDYzMjVfUkdfQ01fVkRFQ19IUFJENl9TSElGVCAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfUkdfQ01fVklOQ19IUFJEMV9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgzRgorI2RlZmluZSBNVDYzMjVfUkdfQ01fVklOQ19IUFJEMV9TSElGVCAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfQ01fVklOQ19IUFJEMl9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgzRgorI2RlZmluZSBNVDYzMjVfUkdfQ01fVklOQ19IUFJEMl9TSElGVCAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfUkdfQ01fVklOQ19IUFJEM19NQVNLICAgICAgICAgICAgICAgICAgICAgMHgzRgorI2RlZmluZSBNVDYzMjVfUkdfQ01fVklOQ19IUFJEM19TSElGVCAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfQ01fVklOQ19IUFJENF9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgzRgorI2RlZmluZSBNVDYzMjVfUkdfQ01fVklOQ19IUFJENF9TSElGVCAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfUkdfQ01fVklOQ19IUFJENV9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgzRgorI2RlZmluZSBNVDYzMjVfUkdfQ01fVklOQ19IUFJENV9TSElGVCAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfQ01fVklOQ19IUFJENl9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgzRgorI2RlZmluZSBNVDYzMjVfUkdfQ01fVklOQ19IUFJENl9TSElGVCAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfUkdfQ01fTFBSRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzRgorI2RlZmluZSBNVDYzMjVfUkdfQ01fTFBSRF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfUkdfQ01fQ1NfVlRITF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHhGCisjZGVmaW5lIE1UNjMyNV9SR19DTV9DU19WVEhMX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1UNjMyNV9SR19DTV9DU19WVEhIX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweEYKKyNkZWZpbmUgTVQ2MzI1X1JHX0NNX0NTX1ZUSEhfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVQ2MzI1X1JHX1BDSFJfUlNWX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkYKKyNkZWZpbmUgTVQ2MzI1X1JHX1BDSFJfUlNWX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X0VPU0NfQ0FMSV9TVEFSVF9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfRU9TQ19DQUxJX1NUQVJUX1NISUZUICAgICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBNVDYzMjVfRU9TQ19DQUxJX1NUQVJUX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9FT1NDX0NBTElfU1RBUlRfU0VUX1NISUZUICAgICAgICAgICAgICAgICAxCisjZGVmaW5lIE1UNjMyNV9FT1NDX0NBTElfVERfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAweDcKKyNkZWZpbmUgTVQ2MzI1X0VPU0NfQ0FMSV9URF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgIDUKKyNkZWZpbmUgTVQ2MzI1X0VPU0NfQ0FMSV9URF9TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfRU9TQ19DQUxJX1REX1NFVF9TSElGVCAgICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNVDYzMjVfRU9TQ19DQUxJX1RFU1RfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHhGCisjZGVmaW5lIE1UNjMyNV9FT1NDX0NBTElfVEVTVF9TSElGVCAgICAgICAgICAgICAgICAgICAgICA5CisjZGVmaW5lIE1UNjMyNV9FT1NDX0NBTElfRkxBR19TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAweEYKKyNkZWZpbmUgTVQ2MzI1X0VPU0NfQ0FMSV9GTEFHX1NFTF9TSElGVCAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVQ2MzI1X0VPU0NfQ0FMSV9GTEFHX0VOX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfRU9TQ19DQUxJX0ZMQUdfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgNAorI2RlZmluZSBNVDYzMjVfRlJDX1ZUQ1hPMF9PTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIE1UNjMyNV9GUkNfVlRDWE8wX09OX1NISUZUICAgICAgICAgICAgICAgICAgICAgICA4CisjZGVmaW5lIE1UNjMyNV9GUkNfVlRDWE8wX09OX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVQ2MzI1X0ZSQ19WVENYTzBfT05fU0VUX1NISUZUICAgICAgICAgICAgICAgICAgIDkKKyNkZWZpbmUgTVQ2MzI1X0VPU0NfQ0FMSV9SU1ZfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNVDYzMjVfRU9TQ19DQUxJX1JTVl9TRVRfU0hJRlQgICAgICAgICAgICAgICAgICAgMTAKKyNkZWZpbmUgTVQ2MzI1X0VPU0NfQ0FMSV9SU1ZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4RgorI2RlZmluZSBNVDYzMjVfRU9TQ19DQUxJX1JTVl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgMTEKKworI2VuZGlmIC8vICNpZmRlZiBQTUlDXzYzMjVfUkVHX0FQSQorI2VuZGlmIC8vICNpZm5kZWYgX19EQ0xfUE1JQzYzMjVfSFdfSF9TVFJVQ1RfXworCmRpZmYgLS1naXQgYS9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL2RjbF9wbWljNjMyNV9zdy5oIGIvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9kY2xfcG1pYzYzMjVfc3cuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZWIzMDk2Ci0tLSAvZGV2L251bGwKKysrIGIvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9kY2xfcG1pYzYzMjVfc3cuaApAQCAtMCwwICsxLDE3MiBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE0CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRmlsZW5hbWU6CisgKiAtLS0tLS0tLS0KKyAqICAgICBkY2xfcG1pYzYzMjVfc3cuaAorICoKKyAqIFByb2plY3Q6CisgKiAtLS0tLS0tLQorICogICAgIE1PTFkgU29mdHdhcmUKKyAqCisgKiBEZXNjcmlwdGlvbjoKKyAqIC0tLS0tLS0tLS0tLQorICogICAgIFRoaXMgZmlsZSBpcyBmb3IgUE1JQyA2MzI1CisgKgorICogQXV0aG9yOgorICogLS0tLS0tLQorICogLS0tLS0tLQorICoKKyAqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICogSElTVE9SWQorICogQmVsb3cgdGhpcyBsaW5lLCB0aGlzIHBhcnQgaXMgY29udHJvbGxlZCBieSBQVkNTIFZNLiBETyBOT1QgTU9ESUZZISEKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogVXBwZXIgdGhpcyBsaW5lLCB0aGlzIHBhcnQgaXMgY29udHJvbGxlZCBieSBQVkNTIFZNLiBETyBOT1QgTU9ESUZZISEKKyAqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZm5kZWYgX19EQ0xfUE1JQzYzMjVfU1dfSF9TVFJVQ1RfXworI2RlZmluZSBfX0RDTF9QTUlDNjMyNV9TV19IX1NUUlVDVF9fCisKKyNpbmNsdWRlICJkY2xfcG1pY19mZWF0dXJlcy5oIgorCisjaWZkZWYgUE1JQ182MzI1X1JFR19BUEkKKworLy8gQ29tYmluYXRpb25hbCBmdW5jdGlvbnMKK2V4dGVybiB2b2lkIHBtaWM2MzI1X2N1c3RvbWl6YXRpb25faW5pdCh2b2lkKTsKKwordHlwZWRlZiBlbnVtCit7CisgICAgTVQ2MzI1X0hXQ0lELAorICAgIE1UNjMyNV9TV0NJRCwKKyAgICBNVDYzMjVfUkdfVlBBX01PREVTRVQsCisgICAgTVQ2MzI1X1JHX1ZSRjE4XzBfTU9ERVNFVCwKKyAgICBNVDYzMjVfVlJGMThfMF9FTl9DVFJMLAorICAgIE1UNjMyNV9WUkYxOF8wX1ZPU0VMX0NUUkwsCisgICAgTVQ2MzI1X1ZSRjE4XzBfRU5fU0VMLAorICAgIE1UNjMyNV9WUkYxOF8wX1ZPU0VMX1NFTCwKKyAgICBNVDYzMjVfVlJGMThfMF9FTiwKKyAgICBNVDYzMjVfVlJGMThfMF9WT1NFTCwKKyAgICBNVDYzMjVfVlJGMThfMF9WT1NFTF9PTiwKKyAgICBNVDYzMjVfVlJGMThfMF9WT1NFTF9TTEVFUCwKKyAgICBNVDYzMjVfVlJGMThfMF9WU0xFRVBfRU4sCisgICAgTVQ2MzI1X1ZQQV9FTl9TRUwsCisgICAgTVQ2MzI1X1ZQQV9WT1NFTF9TRUwsCisgICAgTVQ2MzI1X1ZQQV9FTiwKKyAgICBNVDYzMjVfVlBBX1ZPU0VMLAorICAgIE1UNjMyNV9WUEFfVk9TRUxfT04sCisgICAgTVQ2MzI1X1ZQQV9WT1NFTF9TTEVFUCwKKyAgICBNVDYzMjVfUkdfVlRDWE8wX01PREVfU0VULAorICAgIE1UNjMyNV9SR19WVENYTzBfRU4sCisgICAgTVQ2MzI1X1JHX1ZUQ1hPMF9NT0RFX0NUUkwsCisgICAgTVQ2MzI1X1JHX1ZUQ1hPMF9PTl9DVFJMLAorICAgIE1UNjMyNV9SR19WVENYTzBfU1JDTEtfTU9ERV9TRUwsCisgICAgTVQ2MzI1X1FJX1ZUQ1hPMF9NT0RFLAorICAgIE1UNjMyNV9SR19WVENYTzFfTU9ERV9TRVQsCisgICAgTVQ2MzI1X1JHX1ZUQ1hPMV9FTiwKKyAgICBNVDYzMjVfUkdfVlRDWE8xX01PREVfQ1RSTCwKKyAgICBNVDYzMjVfUkdfVlRDWE8xX09OX0NUUkwsCisgICAgTVQ2MzI1X1JHX1ZUQ1hPMV9TUkNMS19NT0RFX1NFTCwKKyAgICBNVDYzMjVfUUlfVlRDWE8xX01PREUsCisgICAgTVQ2MzI1X1JHX1ZSRjE4XzFfTU9ERV9TRVQsCisgICAgTVQ2MzI1X1JHX1ZSRjE4XzFfRU4sCisgICAgTVQ2MzI1X1JHX1ZSRjE4XzFfTU9ERV9DVFJMLAorICAgIE1UNjMyNV9SR19WUkYxOF8xX09OX0NUUkwsCisgICAgTVQ2MzI1X1JHX1ZSRjE4XzFfU1JDTEtfTU9ERV9TRUwsCisgICAgTVQ2MzI1X1FJX1ZSRjE4XzFfTU9ERSwKKyAgICBNVDYzMjVfUkdfVlJGMThfMV9TUkNMS19FTl9TRUwsCisgICAgTVQ2MzI1X1JHX1ZTSU0xX01PREVfU0VULAorICAgIE1UNjMyNV9SR19WU0lNMV9FTiwKKyAgICBNVDYzMjVfUkdfVlNJTTFfTU9ERV9DVFJMLAorICAgIE1UNjMyNV9SR19WU0lNMV9PTl9DVFJMLAorICAgIE1UNjMyNV9SR19WU0lNMV9TUkNMS19NT0RFX1NFTCwKKyAgICBNVDYzMjVfUUlfVlNJTTFfTU9ERSwKKyAgICBNVDYzMjVfUkdfVlNJTTFfU1RCVEQsCisgICAgTVQ2MzI1X1JHX1ZTSU0xX1NSQ0xLX0VOX1NFTCwKKyAgICBNVDYzMjVfUkdfVlNJTTJfTU9ERV9TRVQsCisgICAgTVQ2MzI1X1JHX1ZTSU0yX0VOLAorICAgIE1UNjMyNV9SR19WU0lNMl9NT0RFX0NUUkwsCisgICAgTVQ2MzI1X1JHX1ZTSU0yX09OX0NUUkwsCisgICAgTVQ2MzI1X1JHX1ZTSU0yX1NSQ0xLX01PREVfU0VMLAorICAgIE1UNjMyNV9RSV9WU0lNMl9NT0RFLAorICAgIE1UNjMyNV9SR19WU0lNMl9TVEJURCwKKyAgICBNVDYzMjVfUkdfVlNJTTJfU1JDTEtfRU5fU0VMLAorICAgIE1UNjMyNV9RSV9WU0lNMl9TVEIsCisgICAgTVQ2MzI1X1FJX1ZTSU0yX0VOLAorICAgIE1UNjMyNV9SR19WTUlQSV9NT0RFX1NFVCwKKyAgICBNVDYzMjVfUkdfVk1JUElfRU4sCisgICAgTVQ2MzI1X1JHX1ZNSVBJX01PREVfQ1RSTCwKKyAgICBNVDYzMjVfUkdfVk1JUElfT05fQ1RSTCwKKyAgICBNVDYzMjVfUkdfVk1JUElfU1JDTEtfTU9ERV9TRUwsCisgICAgTVQ2MzI1X1FJX1ZNSVBJX01PREUsCisgICAgTVQ2MzI1X1JHX1ZNSVBJX1NUQlRELAorICAgIE1UNjMyNV9SR19WTUlQSV9TUkNMS19FTl9TRUwsCisgICAgTVQ2MzI1X1FJX1ZNSVBJX0VOLAorICAgIE1UNjMyNV9SR19WU0lNMl9WT1NFTCwKKyAgICBNVDYzMjVfUkdfVlNJTTFfVk9TRUwsCisgICAgTVQ2MzI1X1JHX1NQS19DQ09ERSwKKyAgICBNVDYzMjVfUkdfU1BLX0VOX1ZJRVdfVkNNLAorICAgIE1UNjMyNV9SR19TUEtfRkJSQ19FTiwKKyAgICBNVDYzMjVfU1BLX1RFU1RfTU9ERTAsCisgICAgTVQ2MzI1X1NQS19URF9ET05FLAorICAgIE1UNjMyNV9BVVhBRENfUlFTVDFfU0VULAorICAgIE1UNjMyNV9BVVhBRENfUlFTVDFfQ0xSLAorICAgIE1UNjMyNV9SR19BRENfT1VUX01ELAorICAgIE1UNjMyNV9SR19BRENfUkRZX01ELAorICAgIE1UNjMyNV9SR19NRF9SUVNULAorICAgIE1UNjMyNV9SR19WUkVGMThfRU5CX01ELAorfVBNSUM2MzI1X0ZMQUdTX0xJU1RfRU5VTTsKKworI2VuZGlmIC8vICNpZmRlZiBQTUlDXzYzMjVfUkVHX0FQSQorI2VuZGlmIC8vICNpZm5kZWYgX19EQ0xfUE1JQzYzMjVfU1dfSF9TVFJVQ1RfXworCmRpZmYgLS1naXQgYS9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL2RjbF9wbWljNjMyNl9jY2NpX3N3LmggYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL2RjbF9wbWljNjMyNl9jY2NpX3N3LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWFhNzI5ZQotLS0gL2Rldi9udWxsCisrKyBiL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvZGNsX3BtaWM2MzI2X2NjY2lfc3cuaApAQCAtMCwwICsxLDI1NSBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDA1CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuIAorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZpbGVuYW1lOgorICogLS0tLS0tLS0tCisgKiAgICBkY2xfcG1pYzYzMjZfY2NjaV9zdy5oCisgKgorICogUHJvamVjdDoKKyAqIC0tLS0tLS0tCisgKiAgIE1hdWlfU29mdHdhcmUKKyAqCisgKiBEZXNjcmlwdGlvbjoKKyAqIC0tLS0tLS0tLS0tLQorICogICBUaGlzIGZpbGUgaXMgZm9yIFBNSUM2MzI2IENDQ0kKKyAqCisgKiBBdXRob3I6CisgKiAtLS0tLS0tCisgKiAtLS0tLS0tCisgKgorICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKiAgICAgICAgICAgICBISVNUT1JZCisgKiBCZWxvdyB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogVXBwZXIgdGhpcyBsaW5lLCB0aGlzIHBhcnQgaXMgY29udHJvbGxlZCBieSBQVkNTIFZNLiBETyBOT1QgTU9ESUZZISEKKyAqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKworCisjaWZuZGVmIF9fRENMX1BNVTYzMjZfQ0NDSV9TV19IX1NUUlVDVF9fCisjZGVmaW5lIF9fRENMX1BNVTYzMjZfQ0NDSV9TV19IX1NUUlVDVF9fCisKKyNpbmNsdWRlICJkY2xfcG1pY19mZWF0dXJlcy5oIgorCisjaWYgZGVmaW5lZChQTUlDXzYzMjZfQ0NDSV9SRUdfQVBJKQorCit0eXBlZGVmIGVudW0KK3sKKwlQTUlDNjMyNl9WU0lNX0VOQUJMRSA9IDAsCisJUE1JQzYzMjZfVlNJTV9TRVRfQU5EX0VOQUJMRSA9IDEsCisJUE1JQzYyMzZfTE9DSyA9IDIsCisJUE1JQzYzMjZfVU5MT0NLID0gMywKKwlQTUlDNjMyNl9WU0lNMl9FTkFCTEUgPSA0LAorCVBNSUM2MzI2X1ZTSU0yX1NFVF9BTkRfRU5BQkxFID0gNSwKKwlQTUlDNjMyNl9NQVgKK31wbWljNjMyNl9jY2NpX29wOworCit0eXBlZGVmIGVudW0KK3sKKwlQTUlDNjMyNl9SRVEgPSAwLAkJLy8gTG9jYWwgc2lkZSBzZW5kIHJlcXVlc3QgdG8gcmVtb3RlIHNpZGUKKwlQTUlDNjMyNl9SRVMgPSAxCQkvLyBSZW1vdGUgc2lkZSBzZW5kIHJlc3BvbnNlIHRvIGxvY2FsIHNpZGUKK31wbWljNjMyNl9jY2NpX3R5cGU7CisKKy8qCisgICAgVGhlIENDQ0kgbWVzc2FnZSBmb3JtYXQgKENDSUYgTWFpbGJveCBwb3J0KQorICAgIHwgNCBieXRlcyAgICAgICAgfCA0IGJ5dGVzICAgICAgIHwgNCBieXRlcyAgICAgICAgICAgIHwgNCBieXRlcyAgICAgICAgIHwKKyAgICAgIE1hZ2ljIG51bWJlciAgICAgTWVzc2FnZSBJRCAgICAgIExvZ2ljYWwgY2hhbm5lbCAgICAgIFJlc2VydmVkCisgICAgICAgICAgICAgICAgICAgICAgIFBNSUMgbXNnICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQTUlDIG1zZyBpbmZvCisqLworCisvKgorICAgIFBNSUMgbXNnIGZvcm1hdAorICAgIChNU0IpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKExTQikKKyAgICB8ICAxIGJ5dGUgICAgICAgIHwgMSBieXRlICAgICAgICB8IDEgYnl0ZSAgICAgICAgfCAxIGJ5dGUgICAgICB8CisgICAgICAgUGFyYW0yICAgICAgICAgIFBhcmFtMSAgICAgICAgICBUeXBlICAgICAgICAgICAgT3AKKyovCisKKy8qCisgICAgUE1JQyBtc2cgaW5mbyBmb3JtYXQKKyAgICAoTVNCKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChMU0IpCisgICAgfCAgMSBieXRlICAgICAgICB8IDEgYnl0ZSAgICAgICAgfCAyIGJ5dGVzICAgICAgICAgICAgICAgfAorICAgICAgIFBhcmFtMiAgICAgICAgICBQYXJhbTEgICAgICAgICAgRXhlY190aW1lCisqLworCisKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKwlrYWxfdWludDgJcG1pYzYzMjZfb3A7CQkvLyBPcGVyYXRpb24KKwlrYWxfdWludDgJcG1pYzYzMjZfdHlwZTsJCS8vIG1lc3NhZ2UgdHlwZTogUmVxdWVzdCBvciBSZXNwb25zZQorCWthbF91aW50OAlwbWljNjMyNl9wYXJhbTE7CisJa2FsX3VpbnQ4CXBtaWM2MzI2X3BhcmFtMjsKK31wbWljNjMyNl9jY2NpX21zZzsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKwlrYWxfdWludDE2CXBtaWM2MzI2X2V4ZWNfdGltZTsJCS8vIE9wZXJhdGlvbiBleGVjdXRpb24gdGltZSAoSW4gbXMpCisJa2FsX3VpbnQ4CXBtaWM2MzI2X3BhcmFtMTsKKwlrYWxfdWludDgJcG1pYzYzMjZfcGFyYW0yOworfXBtaWM2MzI2X2NjY2lfbXNnX2luZm87CisKKy8qCisgICAgUE1JQyBzaGFyZSBtZW1vcnkKKyAgICAoTVNCKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChMU0IpCisgICAgfCAgMSBieXRlICAgICAgICB8IDEgYnl0ZSAgICAgICAgfCAxIGJ5dGUgICAgICAgIHwgMSBieXRlICAgfAorICAgICAgIFBhcmFtMiAgICAgICAgICBQYXJhbTEgICAgICAgICAgVHlwZSAgICAgICAgICAgIE9wCisgICAgfCAgMSBieXRlICAgICAgICB8IDEgYnl0ZSAgICAgICAgfCAyIGJ5dGVzICAgICAgICAgICAgICAgICAgfAorICAgICAgIFBhcmFtMiAgICAgICAgICBQYXJhbTEgICAgICAgICAgRXhlY190aW1lCisqLworCit0eXBlZGVmIHN0cnVjdAoreworCXBtaWM2MzI2X2NjY2lfbXNnIGNjY2lfbXNnOworCXBtaWM2MzI2X2NjY2lfbXNnX2luZm8gY2NjaV9tc2dfaW5mbzsKK31wbWljNjMyNl9zaGFyZV9tZW1faW5mbzsKKworCisKKy8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorI2RlZmluZSBNQVhfUE1JQzYzMjZfQ0NDSV9QT0xMSU5HX1BFUklPRAkxMDAwCisKKy8vIERlZmluZSB0byBieXBhc3MgUE1JQyBDQ0NJIGRyaXZlcgorLy8gVGhpcyBpcyBvbmx5IGZvciBkZWJ1ZyBwdXJwb3NlCisvLyAxLiBBbHdheXMgcmV0dXJuIHdoZW4gdXBwZXIgbGF5ZXIgY2FsbCBleHBvcnRlZCBQTUlDIEFQSXMKKy8vIDIuIEJvb3QgcGhhc2UgcGFyYW1ldGVyIGNoZWNrIGFuZCBBUEkgY2hlY2sgYWx3YXlzIHJldHVybiBPSworLy8jZGVmaW5lIEJZX1BBU1NfUE1JQ19DQ0NJX0RSSVZFUgorCisvLyBJZiBOT1QgZGVmaW5lIF9fU01BUlRfUEhPTkVfTU9ERU1fXywgaXQgbWVhbnMgd2UgYXJlIE1EIHN0YW5kYWxvbmUsCisvLyBzbyBuZWVkIHRvIGJ5cGFzcyBjb21tdW5pY2F0aW9uIHdpdGggQVAgc2lkZSAoRXg6IEdldCBzaGFyZSBtZW1vcnkgaW5mbywgU2VuZCBDQ0NJIGNvbW1hbmQgdG8gQVApCisjaWYgKCFkZWZpbmVkKF9fU01BUlRfUEhPTkVfTU9ERU1fXykpCisjZGVmaW5lIEJZX1BBU1NfUE1JQ19DQ0NJX0RSSVZFUgorI2VuZGlmIC8vICNpZiAoIWRlZmluZWQoX19TTUFSVF9QSE9ORV9NT0RFTV9fKSkKKworLyoKK3R5cGVkZWYgZW51bQoreworCVZTSU0sCisJVlNJTTIsCisJUE1VX0xET19CVUNLX01BWCwKKwlWRk0sCisJVk1DLAkKKwlWUkYsCisJVlRDWE8sCisJVjNHVFgsCisJVjNHUlgsCisJVkEsCisJVklPLAorCVZSVEMsCisJVkNBTUEsCisJVkNBTUQsCisJVldJRkkzVjMsCisJVldJRkkyVjgsCisJVkJULAorCVZVU0IsCisJVkdQLAorCVZHUDIsCisJVlNESU8sCisJVkNPUkUsCisJVkNPUkUxLAorCVZDT1JFMiwKKwlWTSwKKwlWTUVNLAorCVZSRjE4LAorCVZJQlIJCQorfVBNVV9MRE9fQlVDS19MSVNUX0VOVU07CisKK3R5cGVkZWYgZW51bQoreworCVZQQTEsCisJUE1VX1ZQQV9NQVgKK31QTVVfVlBBX0xJU1RfRU5VTTsKKwordHlwZWRlZiBlbnVtCit7CisJQ0hSLAorCVBNVV9DSFJfTUFYCit9UE1VX0NIUl9MSVNUX0VOVU07CisKK3R5cGVkZWYgZW51bQoreworCVNQSywKKwlTUEtMLAorCVNQS1IsCisJUE1VX1NQS19NQVgKK31QTVVfU1BLX0xJU1RfRU5VTTsKKwordHlwZWRlZiBlbnVtCit7CisJUE1VX0lTSU5LX01BWAorfVBNVV9JU0lOS19MSVNUX0VOVU07CisKK3R5cGVkZWYgZW51bQoreworCUJPT1NUMSwKKwlCT09TVDIsCisJUE1VX0JPT1NUX01BWAorfVBNVV9CT09TVF9MSVNUX0VOVU07CisKKyovCisKKyNlbmRpZiAvLyAjaWYgZGVmaW5lZChQTUlDXzYzMjZfQ0NDSV9SRUdfQVBJKQorI2VuZGlmIC8vICNpZm5kZWYgX19EQ0xfUE1VNjMyNl9DQ0NJX1NXX0hfU1RSVUNUX18KKworCisKZGlmZiAtLWdpdCBhL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvZGNsX3BtaWM2MzI2X2h3LmggYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL2RjbF9wbWljNjMyNl9ody5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk4Y2EzOWIKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL2RjbF9wbWljNjMyNl9ody5oCkBAIC0wLDAgKzEsNzk0IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMDUKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4gCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRmlsZW5hbWU6CisgKiAtLS0tLS0tLS0KKyAqICAgIGRjbF9wbXU2MzI2X2h3LmgKKyAqCisgKiBQcm9qZWN0OgorICogLS0tLS0tLS0KKyAqICAgTWF1aV9Tb2Z0d2FyZQorICoKKyAqIERlc2NyaXB0aW9uOgorICogLS0tLS0tLS0tLS0tCisgKiAgIFRoaXMgZmlsZSBpcyBmb3IgUE1JQzYzMjYKKyAqCisgKiBBdXRob3I6CisgKiAtLS0tLS0tCisgKiAtLS0tLS0tCisgKgorICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKiAgICAgICAgICAgICBISVNUT1JZCisgKiBCZWxvdyB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogVXBwZXIgdGhpcyBsaW5lLCB0aGlzIHBhcnQgaXMgY29udHJvbGxlZCBieSBQVkNTIFZNLiBETyBOT1QgTU9ESUZZISEKKyAqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKworI2lmbmRlZiBfX0RDTF9QTUlDNjMyNl9IV19IX1NUUlVDVF9fCisjZGVmaW5lIF9fRENMX1BNSUM2MzI2X0hXX0hfU1RSVUNUX18KKworCisjaW5jbHVkZSAiZGNsX3BtaWNfZmVhdHVyZXMuaCIKKworI2lmIGRlZmluZWQoUE1JQ182MzI2X1JFR19BUEkpCisKKworI2RlZmluZSBCSVQwMAkJMHgwMDAwMDAwMQorI2RlZmluZSBCSVQwMQkJMHgwMDAwMDAwMgorI2RlZmluZSBCSVQwMgkJMHgwMDAwMDAwNAorI2RlZmluZSBCSVQwMwkJMHgwMDAwMDAwOAorCisjZGVmaW5lIEJJVDA0CQkweDAwMDAwMDEwCisjZGVmaW5lIEJJVDA1CQkweDAwMDAwMDIwCisjZGVmaW5lIEJJVDA2CQkweDAwMDAwMDQwCisjZGVmaW5lIEJJVDA3CQkweDAwMDAwMDgwCisKKyNkZWZpbmUgQklUMDgJCTB4MDAwMDAxMDAKKyNkZWZpbmUgQklUMDkJCTB4MDAwMDAyMDAKKyNkZWZpbmUgQklUMTAJCTB4MDAwMDA0MDAKKyNkZWZpbmUgQklUMTEJCTB4MDAwMDA4MDAKKworI2RlZmluZSBCSVQxMgkJMHgwMDAwMTAwMAorI2RlZmluZSBCSVQxMwkJMHgwMDAwMjAwMAorI2RlZmluZSBCSVQxNAkJMHgwMDAwNDAwMAorI2RlZmluZSBCSVQxNQkJMHgwMDAwODAwMAorCisjZGVmaW5lIEJJVDE2CQkweDAwMDEwMDAwCisjZGVmaW5lIEJJVDE3CQkweDAwMDIwMDAwCisjZGVmaW5lIEJJVDE4CQkweDAwMDQwMDAwCisjZGVmaW5lIEJJVDE5CQkweDAwMDgwMDAwCisKKyNkZWZpbmUgQklUMjAJCTB4MDAxMDAwMDAKKyNkZWZpbmUgQklUMjEJCTB4MDAyMDAwMDAKKyNkZWZpbmUgQklUMjIJCTB4MDA0MDAwMDAKKyNkZWZpbmUgQklUMjMJCTB4MDA4MDAwMDAKKworI2RlZmluZSBCSVQyNAkJMHgwMTAwMDAwMAorI2RlZmluZSBCSVQyNQkJMHgwMjAwMDAwMAorI2RlZmluZSBCSVQyNgkJMHgwNDAwMDAwMAorI2RlZmluZSBCSVQyNwkJMHgwODAwMDAwMAorCisjZGVmaW5lIEJJVDI4CQkweDEwMDAwMDAwCisjZGVmaW5lIEJJVDI5CQkweDIwMDAwMDAwCisjZGVmaW5lIEJJVDMwCQkweDQwMDAwMDAwCisjZGVmaW5lIEJJVDMxCQkweDgwMDAwMDAwCisKKworI2RlZmluZSBQTUlDNjMyNl9FMV9DSURfQ09ERQkJMHgwMDAwCisjZGVmaW5lIFBNSUM2MzI2X0UyX0NJRF9DT0RFCQkweDAwMDkKKyNkZWZpbmUgUE1JQzYzMjZfRTNfQ0lEX0NPREUJCTB4MDAwQQorI2RlZmluZSBQTUlDNjMyNl9FNF9DSURfQ09ERQkJMHgwMDBCCisKKyNkZWZpbmUgQ0lEXzFfUkVHX0lOREVYCQkJCTB4MAorI2RlZmluZSBDSURfMl9SRUdfSU5ERVgJCQkJMHgxCisKKyNkZWZpbmUgRUZVU0VfQlVGRl80X1JFR19JTkRFWCAgICAgIDB4MTIKKworI2RlZmluZSBQTUlDX01BWF9SRUdfSURYCQkJCTB4OTYKKyNkZWZpbmUgUE1JQ19SRUdfTlVNCQkJCQkJMHg5NwkvLyAjIyMqKioqKiBQTUlDX1JFR19OVU0gbXVzdCBlcXVhbCAoUE1JQ19NQVhfUkVHX0lEWCArIDEpCisKKworLy8gKDB4MDkpIFNUQVRVUyA2IChSTykKKyNkZWZpbmUgQk9PU1QyX09DX1NUQVRVU19NQVNLCQkJMHgxCisjZGVmaW5lIEJPT1NUMl9PQ19TVEFUVVNfU0hJRlQJCTB4MAorI2RlZmluZSBTUEtSX09DX0RFVF9NQVNLCQkJCTB4MQorI2RlZmluZSBTUEtSX09DX0RFVF9TSElGVAkJCQkweDEKKyNkZWZpbmUgU1BLTF9PQ19ERVRfTUFTSwkJCQkweDEKKyNkZWZpbmUgU1BLTF9PQ19ERVRfU0hJRlQJCQkJMHgyCisjZGVmaW5lIFBXUktFWV9ERUJfTUFTSwkJCQkJMHgxCisjZGVmaW5lIFBXUktFWV9ERUJfU0hJRlQJCQkJMHgzCisjZGVmaW5lIE9WUF9NQVNLCQkJCQkJCTB4MQorI2RlZmluZSBPVlBfU0hJRlQJCQkJCQkJMHg0CisjZGVmaW5lIENIUkRFVF9NQVNLCQkJCQkJMHgxCisjZGVmaW5lIENIUkRFVF9TSElGVAkJCQkJCTB4NQorI2RlZmluZSBCQVRfT05fTUFTSwkJCQkJCTB4MQorI2RlZmluZSBCQVRfT05fU0hJRlQJCQkJCQkweDYKKyNkZWZpbmUgQ1ZfTUFTSwkJCQkJCQkweDEKKyNkZWZpbmUgQ1ZfU0hJRlQJCQkJCQkJMHg3CisKKy8vICgweDBEKSBJTlQgU1RBVFVTIDMgKFJPKQorI2RlZmluZSBWU0RJT19PQ19GTEFHX1NUQVRVU19NQVNLCQkweDEKKyNkZWZpbmUgVlNESU9fT0NfRkxBR19TVEFUVVNfU0hJRlQJCTB4MAorI2RlZmluZSBWR1BfT0NfRkxBR19TVEFUVVNfTUFTSwkJCTB4MQorI2RlZmluZSBWR1BfT0NfRkxBR19TVEFUVVNfU0hJRlQJCQkweDEKKyNkZWZpbmUgVlVTQl9PQ19GTEFHX1NUQVRVU19NQVNLCQkJMHgxCisjZGVmaW5lIFZVU0JfT0NfRkxBR19TVEFUVVNfU0hJRlQJCTB4MgorI2RlZmluZSBPVlBfSU5UX0ZMQUdfU1RBVFVTX01BU0sJCQkweDEKKyNkZWZpbmUgT1ZQX0lOVF9GTEFHX1NUQVRVU19TSElGVAkJMHgzCisjZGVmaW5lIENIUkRFVF9JTlRfRkxBR19TVEFUVVNfTUFTSwkJMHgxCisjZGVmaW5lIENIUkRFVF9JTlRfRkxBR19TVEFUVVNfU0hJRlQJMHg0CisKKy8vICgweDBFKSBJTlQgU1RBVFVTIDQgKFJPKQorI2RlZmluZSBXQVRDSERPR19JTlRfRkxBR19TVEFUVVNfTUFTSwkweDEKKyNkZWZpbmUgV0FUQ0hET0dfSU5UX0ZMQUdfU1RBVFVTX1NISUZUCTB4MAorCisvLyAoMHgxQSkgTERPIENUUkwgMSBWR1AyCisjZGVmaW5lIFZHUDJfRU5fTUFTSwkJCQkJCTB4MQorI2RlZmluZSBWR1AyX0VOX1NISUZUCQkJCQkweDIKKy8vICgweDFCKSBMRE8gQ1RSTCAyIFZSRgorI2RlZmluZSBWUkZfSUNBTF9FTl9NQVNLCQkJCTB4MworI2RlZmluZSBWUkZfSUNBTF9FTl9TSElGVAkJCQkweDAKKyNkZWZpbmUgVlJGX09DX0FVVE9fT0ZGX01BU0sJCQkweDEKKyNkZWZpbmUgVlJGX09DX0FVVE9fT0ZGX1NISUZUCQkJMHgxCisjZGVmaW5lIFZSRl9FTl9NQVNLCQkJCQkJMHgxCisjZGVmaW5lIFZSRl9FTl9TSElGVAkJCQkJCTB4MworI2RlZmluZSBWUkZfQ0FMX01BU0sJCQkJCQkweEYKKyNkZWZpbmUgVlJGX0NBTF9TSElGVAkJCQkJMHg0CisKKy8vICgweDFDKSBMRE8gQ1RSTCAzIFZSRgorI2RlZmluZSBWUkZfQ0FMU1RfTUFTSwkJCQkJMHgzCisjZGVmaW5lIFZSRl9DQUxTVF9TSElGVAkJCQkJMHgwCisjZGVmaW5lIFZSRl9DQUxPQ19NQVNLCQkJCQkweDMKKyNkZWZpbmUgVlJGX0NBTE9DX1NISUZUCQkJCQkweDIKKyNkZWZpbmUgVlJGX09OX1NFTF9NQVNLCQkJCQkweDEKKyNkZWZpbmUgVlJGX09OX1NFTF9TSElGVAkJCQkweDQKKyNkZWZpbmUgVlJGX0VOX0ZPUkNFX01BU0sJCQkJMHgxCisjZGVmaW5lIFZSRl9FTl9GT1JDRV9TSElGVAkJCQkweDUKKyNkZWZpbmUgVlJGX1BMTk1PU19ESVNfTUFTSwkJCTB4MQorI2RlZmluZSBWUkZfUExOTU9TX0RJU19TSElGVAkJCTB4NgorI2RlZmluZSBWUkZfQ01fTUFTSwkJCQkJCTB4MQorI2RlZmluZSBWUkZfQ01fU0hJRlQJCQkJCQkweDcKKy8vICgweDFFKSBMRE8gQ1RSTCA1IFZUQ1hPCisjZGVmaW5lIFZUQ1hPX0lDQUxfRU5fTUFTSwkJCQkweDMKKyNkZWZpbmUgVlRDWE9fSUNBTF9FTl9TSElGVAkJCTB4MAorI2RlZmluZSBWVENYT19PQ19BVVRPX09GRl9NQVNLCQkweDEKKyNkZWZpbmUgVlRDWE9fT0NfQVVUT19PRkZfU0hJRlQJCTB4MgorI2RlZmluZSBWVENYT19FTl9NQVNLCQkJCQkweDEKKyNkZWZpbmUgVlRDWE9fRU5fU0hJRlQJCQkJCTB4MworI2RlZmluZSBWVENYT19DQUxfTUFTSwkJCQkJMHhGCisjZGVmaW5lIFZUQ1hPX0NBTF9TSElGVAkJCQkJMHg0CisvLyAoMHgxRikgTERPIENUUkwgNiBWVENYTworI2RlZmluZSBWVENYT19DQUxTVF9NQVNLCQkJCTB4MworI2RlZmluZSBWVENYT19DQUxTVF9TSElGVAkJCQkweDAKKyNkZWZpbmUgVlRDWE9fQ0FMT0NfTUFTSwkJCQkweDMKKyNkZWZpbmUgVlRDWE9fQ0FMT0NfU0hJRlQJCQkJMHgyCisjZGVmaW5lIFZUQ1hPX09OX1NFTF9NQVNLCQkJCTB4MQorI2RlZmluZSBWVENYT19PTl9TRUxfU0hJRlQJCQkJMHg0CisjZGVmaW5lIFZUQ1hPX0VOX0ZPUkNFX01BU0sJCQkweDEKKyNkZWZpbmUgVlRDWE9fRU5fRk9SQ0VfU0hJRlQJCQkweDUKKyNkZWZpbmUgVlRDWE9fUExOTU9TX0RJU19NQVNLCQkJMHgxCisjZGVmaW5lIFZUQ1hPX1BMTk1PU19ESVNfU0hJRlQJCTB4NgorI2RlZmluZSBWVENYT19DTV9NQVNLCQkJCQkweDEKKyNkZWZpbmUgVlRDWE9fQ01fU0hJRlQJCQkJCTB4NworLy8gKDB4MjEpIExETyBDVFJMIDggVjNHVFgKKyNkZWZpbmUgVjNHVFhfU0VMX01BU0sJCQkJCTB4MworI2RlZmluZSBWM0dUWF9TRUxfU0hJRlQJCQkJCTB4MAorI2RlZmluZSBWM0dUWF9JQ0FMX0VOX01BU0sJCQkJMHgzCisjZGVmaW5lIFYzR1RYX0lDQUxfRU5fU0hJRlQJCQkweDIKKyNkZWZpbmUgVjNHVFhfQ0FMX01BU0sJCQkJCTB4RgorI2RlZmluZSBWM0dUWF9DQUxfU0hJRlQJCQkJCTB4NAorLy8gKDB4MjIpIExETyBDVFJMIDkgVjNHVFgKKyNkZWZpbmUgVjNHVFhfQ0FMU1RfTUFTSwkJCQkweDMKKyNkZWZpbmUgVjNHVFhfQ0FMU1RfU0hJRlQJCQkJMHgwCisjZGVmaW5lIFYzR1RYX0NBTE9DX01BU0sJCQkJMHgzCisjZGVmaW5lIFYzR1RYX0NBTE9DX1NISUZUCQkJCTB4MgorI2RlZmluZSBWM0dUWF9PQ19BVVRPX09GRl9NQVNLCQkweDEKKyNkZWZpbmUgVjNHVFhfT0NfQVVUT19PRkZfU0hJRlQJCTB4NAorI2RlZmluZSBWM0dUWF9FTl9NQVNLCQkJCQkweDEKKyNkZWZpbmUgVjNHVFhfRU5fU0hJRlQJCQkJCTB4NQorI2RlZmluZSBWM0dUWF9PTl9TRUxfTUFTSwkJCQkweDEKKyNkZWZpbmUgVjNHVFhfT05fU0VMX1NISUZUCQkJCTB4NgorI2RlZmluZSBWM0dUWF9FTl9GT1JDRV9NQVNLCQkJMHgxCisjZGVmaW5lIFYzR1RYX0VOX0ZPUkNFX1NISUZUCQkJMHg3CisKKy8vICgwWDIzKSBMRE8gQ1RSTCAxMCBWM0dUWAorI2RlZmluZSBWM0dUWF9QTE5NT1NfRElTX01BU0sJCQkweDEKKyNkZWZpbmUgVjNHVFhfUExOTU9TX0RJU19TSElGVAkJCTB4MAorCisvLyAoMHgyNCkgTERPIENUUkwgMTEgVjNHUlgKKyNkZWZpbmUgVjNHUlhfU0VMX01BU0sJCQkJCTB4MworI2RlZmluZSBWM0dSWF9TRUxfU0hJRlQJCQkJCTB4MAorI2RlZmluZSBWM0dSWF9JQ0FMX0VOX01BU0sJCQkJMHgzCisjZGVmaW5lIFYzR1JYX0lDQUxfRU5fU0hJRlQJCQkweDIKKyNkZWZpbmUgVjNHUlhfQ0FMX01BU0sJCQkJCTB4ZgorI2RlZmluZSBWM0dSWF9DQUxfU0hJRlQJCQkJCTB4NAorLy8gKDB4MjUpIExETyBDVFJMIDEyIFYzR1JYCisjZGVmaW5lIFYzR1JYX0NBTFNUX01BU0sJCQkJMHgzCisjZGVmaW5lIFYzR1JYX0NBTFNUX1NISUZUCQkJCTB4MAorI2RlZmluZSBWM0dSWF9DQUxPQ19NQVNLCQkJCTB4MworI2RlZmluZSBWM0dSWF9DQUxPQ19TSElGVAkJCQkweDIKKyNkZWZpbmUgVjNHUlhfT0NfQVVUT19PRkZfTUFTSwkJMHgxCisjZGVmaW5lIFYzR1JYX09DX0FVVE9fT0ZGX1NISUZUCQkweDQKKyNkZWZpbmUgVjNHUlhfRU5fTUFTSwkJCQkJMHgxCisjZGVmaW5lIFYzR1JYX0VOX1NISUZUCQkJCQkweDUKKyNkZWZpbmUgVjNHUlhfT05fU0VMX01BU0sJCQkJMHgxCisjZGVmaW5lIFYzR1JYX09OX1NFTF9TSElGVAkJCQkweDYKKyNkZWZpbmUgVjNHUlhfRU5fRk9SQ0VfTUFTSwkJCTB4MQorI2RlZmluZSBWM0dSWF9FTl9GT1JDRV9TSElGVAkJCTB4NworCisvLyAoMFgyNikgTERPIENUUkwgMTAgVjNHUlgKKyNkZWZpbmUgVjNHUlhfUExOTU9TX0RJU19NQVNLCQkJMHgxCisjZGVmaW5lIFYzR1JYX1BMTk1PU19ESVNfU0hJRlQJCQkweDAKKworCisvLyAoMHgyRSkgTERPIENUUkwgMjEgVkNBTUEKKyNkZWZpbmUgVkNBTUFfU0VMX01BU0sJCQkJCTB4MworI2RlZmluZSBWQ0FNQV9TRUxfU0hJRlQJCQkJCTB4MAorI2RlZmluZSBWQ0FNQV9JQ0FMX0VOX01BU0sJCQkJMHgzCisjZGVmaW5lIFZDQU1BX0lDQUxfRU5fU0hJRlQJCQkweDIKKyNkZWZpbmUgVkNBTUFfQ0FMX01BU0sJCQkJCTB4ZgorI2RlZmluZSBWQ0FNQV9DQUxfU0hJRlQJCQkJCTB4NAorLy8gKDB4MkYpIExETyBDVFJMIDIyIFZDQU1BCisjZGVmaW5lIFZDQU1BX0NBTFNUX01BU0sJCQkJMHgzCisjZGVmaW5lIFZDQU1BX0NBTFNUX1NISUZUCQkJCTB4MAorI2RlZmluZSBWQ0FNQV9DQUxPQ19NQVNLCQkJCTB4MworI2RlZmluZSBWQ0FNQV9DQUxPQ19TSElGVAkJCQkweDIKKyNkZWZpbmUgVkNBTUFfRU5fTUFTSwkJCQkJMHgxCisjZGVmaW5lIFZDQU1BX0VOX1NISUZUCQkJCQkweDQKKyNkZWZpbmUgVkNBTUFfRU5fRk9SQ0VfTUFTSwkJCTB4MQorI2RlZmluZSBWQ0FNQV9FTl9GT1JDRV9TSElGVAkJCTB4NQorI2RlZmluZSBWQ0FNQV9QTE5NT1NfRElTX01BU0sJCQkweDEKKyNkZWZpbmUgVkNBTUFfUExOTU9TX0RJU19TSElGVAkJMHg2CisjZGVmaW5lIFZDQU1BX0NNX01BU0sJCQkJCTB4MQorI2RlZmluZSBWQ0FNQV9DTV9TSElGVAkJCQkJMHg3CisKKy8vICgweDMxKSBMRE8gQ1RSTCAyNCBWV0lGSTNWMworI2RlZmluZSBWV0lGSTNWM19TRUxfTUFTSwkJCQkJMHgzCisjZGVmaW5lIFZXSUZJM1YzX1NFTF9TSElGVAkJCQkJMHgwCisjZGVmaW5lIFZXSUZJM1YzX0lDQUxfRU5fTUFTSwkJCQkweDMKKyNkZWZpbmUgVldJRkkzVjNfSUNBTF9FTl9TSElGVAkJCTB4MgorI2RlZmluZSBWV0lGSTNWM19DQUxfTUFTSwkJCQkJMHhmCisjZGVmaW5lIFZXSUZJM1YzX0NBTF9TSElGVAkJCQkJMHg0CisvLyAoMHgzMikgTERPIENUUkwgMjUgVldJRkkzVjMKKyNkZWZpbmUgVldJRkkzVjNfQ0FMU1RfTUFTSwkJCQkweDMKKyNkZWZpbmUgVldJRkkzVjNfQ0FMU1RfU0hJRlQJCQkJMHgwCisjZGVmaW5lIFZXSUZJM1YzX0NBTE9DX01BU0sJCQkJMHgzCisjZGVmaW5lIFZXSUZJM1YzX0NBTE9DX1NISUZUCQkJCTB4MgorI2RlZmluZSBWV0lGSTNWM19FTl9NQVNLCQkJCQkweDEKKyNkZWZpbmUgVldJRkkzVjNfRU5fU0hJRlQJCQkJCTB4NAorI2RlZmluZSBWV0lGSTNWM19FTl9GT1JDRV9NQVNLCQkJMHgxCisjZGVmaW5lIFZXSUZJM1YzX0VOX0ZPUkNFX1NISUZUCQkJMHg1CisjZGVmaW5lIFZXSUZJM1YzX1BMTk1PU19ESVNfTUFTSwkJCTB4MQorI2RlZmluZSBWV0lGSTNWM19QTE5NT1NfRElTX1NISUZUCQkweDYKKyNkZWZpbmUgVldJRkkzVjNfQ01fTUFTSwkJCQkJMHgxCisjZGVmaW5lIFZXSUZJM1YzX0NNX1NISUZUCQkJCQkweDcKKworLy8gKDB4MzQpIExETyBDVFJMIDI3IFZXSUZJMlY4CisjZGVmaW5lIFZXSUZJMlY4X1NFTF9NQVNLCQkJCQkweDMKKyNkZWZpbmUgVldJRkkyVjhfU0VMX1NISUZUCQkJCQkweDAKKyNkZWZpbmUgVldJRkkyVjhfSUNBTF9FTl9NQVNLCQkJCTB4MworI2RlZmluZSBWV0lGSTJWOF9JQ0FMX0VOX1NISUZUCQkJMHgyCisjZGVmaW5lIFZXSUZJMlY4X0NBTF9NQVNLCQkJCQkweGYKKyNkZWZpbmUgVldJRkkyVjhfQ0FMX1NISUZUCQkJCQkweDQKKworLy8gKDB4MzUpIExETyBDVFJMIDI4IFZXSUZJMlY4CisjZGVmaW5lIFZXSUZJMlY4X0NBTFNUX01BU0sJCQkJMHgzCisjZGVmaW5lIFZXSUZJMlY4X0NBTFNUX1NISUZUCQkJCTB4MAorI2RlZmluZSBWV0lGSTJWOF9DQUxPQ19NQVNLCQkJCTB4MworI2RlZmluZSBWV0lGSTJWOF9DQUxPQ19TSElGVAkJCQkweDIKKyNkZWZpbmUgVldJRkkyVjhfRU5fTUFTSwkJCQkJMHgxCisjZGVmaW5lIFZXSUZJMlY4X0VOX1NISUZUCQkJCQkweDQKKyNkZWZpbmUgVldJRkkyVjhfRU5fRk9SQ0VfTUFTSwkJCTB4MQorI2RlZmluZSBWV0lGSTJWOF9FTl9GT1JDRV9TSElGVAkJCTB4NQorI2RlZmluZSBWV0lGSTJWOF9QTE5NT1NfRElTX01BU0sJCQkweDEKKyNkZWZpbmUgVldJRkkyVjhfUExOTU9TX0RJU19TSElGVAkJMHg2CisjZGVmaW5lIFZXSUZJMlY4X0NNX01BU0sJCQkJCTB4MQorI2RlZmluZSBWV0lGSTJWOF9DTV9TSElGVAkJCQkJMHg3CisKKworLy8gKDB4MzcpIExETyBDVFJMIDMwIFZTSU0KKyNkZWZpbmUgVlNJTV9TRUxfTUFTSwkJCQkJMHg3CisjZGVmaW5lIFZTSU1fU0VMX1NISUZUCQkJCQkweDAKKyNkZWZpbmUgVlNJTV9FTl9NQVNLCQkJCQkJMHgxCisjZGVmaW5lIFZTSU1fRU5fU0hJRlQJCQkJCTB4MworI2RlZmluZSBWU0lNX0lDQUxfRU5fTUFTSwkJCQkweDMKKyNkZWZpbmUgVlNJTV9JQ0FMX0VOX1NISUZUCQkJCTB4NAorI2RlZmluZSBWU0lNX0VOX0ZPUkNFX01BU0sJCQkJMHgxCisjZGVmaW5lIFZTSU1fRU5fRk9SQ0VfU0hJRlQJCQkweDYKKyNkZWZpbmUgVlNJTV9QTE5NT1NfRElTX01BU0sJCQkweDEKKyNkZWZpbmUgVlNJTV9QTE5NT1NfRElTX1NISUZUCQkJMHg3CisKKy8vICgweDM4KSBMRE8gQ1RSTCAzMSBWU0lNCisjZGVmaW5lIFZTSU1fQ0FMX01BU0sJCQkJCTB4ZgorI2RlZmluZSBWU0lNX0NBTF9TSElGVAkJCQkJMHgwCisKKy8vICgweDNBKSBMRE8gQ1RSTCAzMyBWVVNCIChGcm9tIEUzLCBVU0IgTERPIGNvbnRyb2xzIGFyZSBtb3ZlZCB0byAweDNEIH4gMHgzRikKKworICAgLy8gRnJvbSBFMywgVkdQMiBPQ0ZCIGVuYWJsZSBjb250cm9sIGlzIGF0IDB4M0QKKyNkZWZpbmUgVkdQMl9PQ0ZCX0VOX01BU0sgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgVkdQMl9PQ0ZCX0VOX1NISUZUICAgICAgICAgICAgICAweDAKKworI2RlZmluZSBWVVNCX1NFTF9NQVNLCQkJCQkweDcKKyNkZWZpbmUgVlVTQl9TRUxfU0hJRlQJCQkJCTB4MAorI2RlZmluZSBWVVNCX0VOX01BU0sJCQkJCQkweDEKKyNkZWZpbmUgVlVTQl9FTl9TSElGVAkJCQkJMHgzCisjZGVmaW5lIFZVU0JfSUNBTF9FTl9NQVNLCQkJCTB4MworI2RlZmluZSBWVVNCX0lDQUxfRU5fU0hJRlQJCQkJMHg0CisjZGVmaW5lIFZVU0JfRU5fRk9SQ0VfTUFTSwkJCQkweDEKKyNkZWZpbmUgVlVTQl9FTl9GT1JDRV9TSElGVAkJCTB4NgorI2RlZmluZSBWVVNCX1BMTk1PU19ESVNfTUFTSwkJCTB4MQorI2RlZmluZSBWVVNCX1BMTk1PU19ESVNfU0hJRlQJCQkweDcKKworLy8gKDB4M0IpIExETyBDVFJMIDM0IFZVU0IgKEZyb20gRTMsIFVTQiBMRE8gY29udHJvbHMgYXJlIG1vdmVkIHRvIDB4M0QgfiAweDNGKQorI2RlZmluZSBWVVNCX0NBTF9NQVNLCQkJCQkweGYKKyNkZWZpbmUgVlVTQl9DQUxfU0hJRlQJCQkJCTB4MAorI2RlZmluZSBWVVNCX0NBTFNUX01BU0sJCQkJCTB4MworI2RlZmluZSBWVVNCX0NBTFNUX1NISUZUCQkJCTB4NAorI2RlZmluZSBWVVNCX0NBTE9DX01BU0sJCQkJCTB4MworI2RlZmluZSBWVVNCX0NBTE9DX1NISUZUCQkJCTB4NgorCisvLyAoMHgzRCkgTERPIENUUkwgMzYgVkJUIChGcm9tIEUzLCBCVCBMRE8gY29udHJvbHMgYXJlIG1vdmVkIHRvIDB4M0EgfiAweDNDKQorI2RlZmluZSBWQlRfU0VMX01BU0sJCQkJCQkweDcKKyNkZWZpbmUgVkJUX1NFTF9TSElGVAkJCQkJMHgwCisjZGVmaW5lIFZCVF9FTl9NQVNLCQkJCQkJMHgxCisjZGVmaW5lIFZCVF9FTl9TSElGVAkJCQkJCTB4MworI2RlZmluZSBWQlRfSUNBTF9FTl9NQVNLCQkJCTB4MworI2RlZmluZSBWQlRfSUNBTF9FTl9TSElGVAkJCQkweDQKKyNkZWZpbmUgVkJUX0VOX0ZPUkNFX01BU0sJCQkJMHgxCisjZGVmaW5lIFZCVF9FTl9GT1JDRV9TSElGVAkJCQkweDYKKyNkZWZpbmUgVkJUX1BMTk1PU19ESVNfTUFTSwkJCTB4MQorI2RlZmluZSBWQlRfUExOTU9TX0RJU19TSElGVAkJCTB4NworCisvLyAoMHgzRSkgTERPIENUUkwgMzcgVkJUIChGcm9tIEUzLCBCVCBMRE8gY29udHJvbHMgYXJlIG1vdmVkIHRvIDB4M0EgfiAweDNDKQorI2RlZmluZSBWQlRfQ0FMX01BU0sJCQkJCQkweGYKKyNkZWZpbmUgVkJUX0NBTF9TSElGVAkJCQkJMHgwCisjZGVmaW5lIFZCVF9DQUxTVF9NQVNLCQkJCQkweDMKKyNkZWZpbmUgVkJUX0NBTFNUX1NISUZUCQkJCQkweDQKKyNkZWZpbmUgVkJUX0NBTE9DX01BU0sJCQkJCTB4MworI2RlZmluZSBWQlRfQ0FMT0NfU0hJRlQJCQkJCTB4NgorCisvLyAoMHg0MCkgTERPIENUUkwgMzkgVkNBTUQKKyNkZWZpbmUgVkNBTURfU0VMX01BU0sJCQkJCQkweDcKKyNkZWZpbmUgVkNBTURfU0VMX1NISUZUCQkJCQkJMHgwCisjZGVmaW5lIFZDQU1EX0VOX01BU0sJCQkJCQkweDEKKyNkZWZpbmUgVkNBTURfRU5fU0hJRlQJCQkJCQkweDMKKyNkZWZpbmUgVkNBTURfSUNBTF9FTl9NQVNLCQkJCQkweDMKKyNkZWZpbmUgVkNBTURfSUNBTF9FTl9TSElGVAkJCQkweDQKKyNkZWZpbmUgVkNBTURfRU5fRk9SQ0VfTUFTSwkJCQkweDEKKyNkZWZpbmUgVkNBTURfRU5fRk9SQ0VfU0hJRlQJCQkJMHg2CisjZGVmaW5lIFZDQU1EX1BMTk1PU19ESVNfTUFTSwkJCQkweDEKKyNkZWZpbmUgVkNBTURfUExOTU9TX0RJU19TSElGVAkJCTB4NworCisvLyAoMHg0MSkgTERPIENUUkwgNDAgVkNBTUQKKyNkZWZpbmUgVkNBTURfQ0FMX01BU0sJCQkJCQkweGYKKyNkZWZpbmUgVkNBTURfQ0FMX1NISUZUCQkJCQkJMHgwCisjZGVmaW5lIFZDQU1EX0NBTFNUX01BU0sJCQkJCTB4MworI2RlZmluZSBWQ0FNRF9DQUxTVF9TSElGVAkJCQkJMHg0CisjZGVmaW5lIFZDQU1EX0NBTE9DX01BU0sJCQkJCTB4MworI2RlZmluZSBWQ0FNRF9DQUxPQ19TSElGVAkJCQkJMHg2CisKKy8vICgweDQzKSBMRE8gQ1RSTCA0MiBWR1AKKyNkZWZpbmUgVkdQX1NFTF9NQVNLCQkJCQkJCTB4NworI2RlZmluZSBWR1BfU0VMX1NISUZUCQkJCQkJMHgwCisjZGVmaW5lIFZHUF9FTl9NQVNLCQkJCQkJCTB4MQorI2RlZmluZSBWR1BfRU5fU0hJRlQJCQkJCQkJMHgzCisjZGVmaW5lIFZHUF9QTE5NT1NfRElTX01BU0sJCQkJCTB4MQorI2RlZmluZSBWR1BfUExOTU9TX0RJU19TSElGVAkJCQkweDcKKworLy8gKDB4NDQpIExETyBDVFJMIDQzIFZHUAorI2RlZmluZSBWR1BfQ0FMX01BU0sJCQkJCQkJMHhmCisjZGVmaW5lIFZHUF9DQUxfU0hJRlQJCQkJCQkweDAKKworLy8gKDB4NDYpIExETyBDVFJMIDQ1IFZTRElPCisjZGVmaW5lIFZTRElPX0lDQUxfRU5fTUFTSwkJCQkJMHgzCisjZGVmaW5lIFZTRElPX0lDQUxfRU5fU0hJRlQJCQkJMHgwCisjZGVmaW5lIFZTRElPX0VOX01BU0sJCQkJCQkweDEKKyNkZWZpbmUgVlNESU9fRU5fU0hJRlQJCQkJCQkweDIKKyNkZWZpbmUgVlNESU9fRU5fRk9SQ0VfTUFTSwkJCQkweDEKKyNkZWZpbmUgVlNESU9fRU5fRk9SQ0VfU0hJRlQJCQkJMHgzCisjZGVmaW5lIFZTRElPX0NBTF9NQVNLCQkJCQkJMHhmCisjZGVmaW5lIFZTRElPX0NBTF9TSElGVAkJCQkJCTB4NAorCisvLyAoMHg0NykgTERPIENUUkwgNDYgVlNESU8KKyNkZWZpbmUgVlNESU9fQ0FMU1RfTUFTSwkJCQkJMHgzCisjZGVmaW5lIFZTRElPX0NBTFNUX1NISUZUCQkJCQkweDAKKyNkZWZpbmUgVlNESU9fQ0FMT0NfTUFTSwkJCQkJMHgzCisjZGVmaW5lIFZTRElPX0NBTE9DX1NISUZUCQkJCQkweDIKKyNkZWZpbmUgVlNESU9fUExOTU9TX0RJU19NQVNLCQkJCTB4MQorI2RlZmluZSBWU0RJT19QTE5NT1NfRElTX1NISUZUCQkJMHg0CisjZGVmaW5lIFZTRElPX1NFTF9NQVNLCQkJCQkJMHgxCisjZGVmaW5lIFZTRElPX1NFTF9TSElGVAkJCQkJCTB4NQorI2RlZmluZSBWU0RJT19DTV9NQVNLCQkJCQkJMHgxCisjZGVmaW5lIFZTRElPX0NNX1NISUZUCQkJCQkJMHg2CisKKy8vICgweDQ4KSBMRE8gQ1RSTCA0NyBWU0RJTworI2RlZmluZSBWQ09SRTFfRFZGU19TVEVQX0lOQ19NQVNLCQkweDFmCisjZGVmaW5lIFZDT1JFMV9EVkZTX1NURVBfSU5DX1NISUZUCQkweDMKKworLy8gKDB4NDkpIEJVTEsgQ1RSTCAxIFZHUDIgKFNFTCBMKQorI2RlZmluZSBWR1AyX1NFTExfTUFTSwkJCQkJMHgzCisjZGVmaW5lIFZHUDJfU0VMTF9TSElGVAkJCQkJMHg0CisKKy8vICgweDRCKSBCVUxLIENUUkwgMyBWR1AyIChTRUwgSCkKKyNkZWZpbmUgVkdQMl9TRUxIX01BU0sJCQkJCTB4MQorI2RlZmluZSBWR1AyX1NFTEhfU0hJRlQJCQkJCTB4NAorCisvLyAoMHg0RSkgQlVDSyBDVFJMIDYgVkNPUkUxCisjZGVmaW5lIFZDT1JFMV9EVkZTXzBfRUNPM19NQVNLCQkweGYKKyNkZWZpbmUgVkNPUkUxX0RWRlNfMF9FQ08zX1NISUZUCQkweDQKKworLy8gKDB4NEYpIEJVQ0sgQ1RSTCA3IFZDT1JFMQorI2RlZmluZSBWQ09SRTFfU0xFRVBfMF9FQ08zX01BU0sJCTB4MQorI2RlZmluZSBWQ09SRTFfU0xFRVBfMF9FQ08zX1NISUZUCTB4MworI2RlZmluZSBWQ09SRTFfRFZGU19SQU1QX0VOX01BU0sJCTB4MQorI2RlZmluZSBWQ09SRTFfRFZGU19SQU1QX0VOX1NISUZUCTB4NgorI2RlZmluZSBWQ09SRTFfRFZGU19UQVJHRVRfVVBEQVRFX01BU0sJCQkweDEKKyNkZWZpbmUgVkNPUkUxX0RWRlNfVEFSR0VUX1VQREFURV9TSElGVAkJMHg3CisKKy8vICgweDUxKSBCVUNLIENUUkwgOSBWQ09SRTIKKyNkZWZpbmUgVkNPUkUyX0RWRlNfMF9FQ08zX01BU0sJCQkweDQKKyNkZWZpbmUgVkNPUkUyX0RWRlNfMF9FQ08zX1NISUZUCQkweEYKKworLy8gKDB4NTIpIEJVQ0sgQ1RSTCAxMCBWQ09SRTIKKyNkZWZpbmUgVkNPUkUyX0VOX01BU0sJCQkJCTB4MQorI2RlZmluZSBWQ09SRTJfRU5fU0hJRlQJCQkJCTB4NworI2RlZmluZSBWQ09SRTJfU0xFRVBfMF9FQ08zX01BU0sJCTB4MQorI2RlZmluZSBWQ09SRTJfU0xFRVBfMF9FQ08zX1NISUZUCQkweDMKKworCisKKy8vICgweDUzKSBCVUNLIENUUkwgMTEgVkNPUkUyCisjZGVmaW5lIFZDT1JFMl9PTl9TRUxfTUFTSwkJCQkweDEKKyNkZWZpbmUgVkNPUkUyX09OX1NFTF9TSElGVAkJCTB4MworCisvLyAoMHg1NCkKKyNkZWZpbmUgVkNPUkUyX1BMTk1PU19ESVNfTUFTSwkJCTB4MQkJCQorI2RlZmluZSBWQ09SRTJfUExOTU9TX0RJU19TSElGVAkJCTB4MAorCisKKy8vICgweDU3KSBCVUNLIENUUkwgMTUgVk1FTQorI2RlZmluZSBWQ09SRTFfU0xFRVBfMV9FQ08zX01BU0sJCTB4MQorI2RlZmluZSBWQ09SRTFfU0xFRVBfMV9FQ08zX1NISUZUCTB4MAorI2RlZmluZSBWQ09SRTFfRFZGU18xX0VDTzNfTUFTSwkJMHhmCisjZGVmaW5lIFZDT1JFMV9EVkZTXzFfRUNPM19TSElGVAkJMHg0CisKKy8vICgweDU4KSBCVUxLIENUUkwgMTYgVlBBCisjZGVmaW5lIFZQQV9UVU5FSF9NQVNLCQkJCQkweDFGCisjZGVmaW5lIFZQQV9UVU5FSF9TSElGVAkJCQkJMHgwCisjZGVmaW5lIFZQQV9FTl9GT1JDRV9NQVNLCQkJCTB4MQorI2RlZmluZSBWUEFfRU5fRk9SQ0VfU0hJRlQJCQkJMHg1CisjZGVmaW5lIFZQQV9QTE5NT1NfRElTX01BU0sJCQkweDEKKyNkZWZpbmUgVlBBX1BMTk1PU19ESVNfU0hJRlQJCQkweDYKKyNkZWZpbmUgVlBBX0VOX01BU0sJCQkJCQkweDEKKyNkZWZpbmUgVlBBX0VOX1NISUZUCQkJCQkJMHg3CisKKy8vICgweDU5KSBCVUxLIENUUkwgMTcgVlBBCisjZGVmaW5lIFZQQV9UVU5FTF9NQVNLCQkJCQkweDFGCisjZGVmaW5lIFZQQV9UVU5FTF9TSElGVAkJCQkJMHgwCisKKy8vICgweDVBKSBCVUNLIENUUkwgMTggVlBBCisjZGVmaW5lIFZQQV9PQ19USF9NQVNLCQkJCQkweDcKKyNkZWZpbmUgVlBBX09DX1RIX1NISUZUCQkJCQkweDAKKworCisjZGVmaW5lIFZQQV9CQVRfTE9XX01BU0sgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lIFZQQV9CQVRfTE9XX1NISUZUICAgICAgICAgICAgICAgMHgzCisKKy8vICgweDVDKSBCT09TVCBDVFJMIDEgQk9PU1QxCisjZGVmaW5lIFZCT09TVDFfVFVORV9NQVNLCQkJCTB4RgorI2RlZmluZSBWQk9PU1QxX1RVTkVfU0hJRlQJCQkJMHgwCisjZGVmaW5lIFZCT09TVDFfVEFUVF9NQVNLCQkJCTB4RgorI2RlZmluZSBWQk9PU1QxX1RBVFRfU0hJRlQJCQkJMHg0CisKKy8vICgweDVEKSBCT09TVCBDVFJMIDIgQk9PU1QxCisjZGVmaW5lIEJPT1NUMV9PQ19USF9NQVNLCQkJCTB4NworI2RlZmluZSBCT09TVDFfT0NfVEhfU0hJRlQJCQkJMHgwCisjZGVmaW5lIEJPT1NUMV9FTl9NQVNLCQkJCQkweDEKKyNkZWZpbmUgQk9PU1QxX0VOX1NISUZUCQkJCQkweDMKKyNkZWZpbmUgQk9PU1QxX1BSRV9TUl9DT05fTUFTSwkJMHg3CisjZGVmaW5lIEJPT1NUMV9QUkVfU1JfQ09OX1NISUZUCQkweDQKKyNkZWZpbmUgQk9PU1QxX1NPRlRfU1RfU1BFRURfTUFTSwkweDEKKyNkZWZpbmUgQk9PU1QxX1NPRlRfU1RfU1BFRURfU0hJRlQJMHg3CisKKy8vICgweDVFKSBCT09TVCBDVFJMIDMgQk9PU1QxCisjZGVmaW5lIEJPT1NUMV9ESU9fU1JfQ09OX01BU0sJCTB4NworI2RlZmluZSBCT09TVDFfRElPX1NSX0NPTl9TSElGVAkJMHgwCisjZGVmaW5lIEJPT1NUMV9TWU5DX0VOX01BU0sJCQkweDEKKyNkZWZpbmUgQk9PU1QxX1NZTkNfRU5fU0hJRlQJCQkweDMKKy8vICMjIyMgRDQgaXMgdXNlZCBhcyBWR1AyX1NFTFsyXQorCisvLyAoMHg1RikgQk9PU1QgQ1RSTCA0IEJPT1NUMgorI2RlZmluZSBCT09TVDJfVFVORV9NQVNLCQkJMHhGCisjZGVmaW5lIEJPT1NUMl9UVU5FX1NISUZUCQkJMHgwCisjZGVmaW5lIEJPT1NUMl9PQ19USF9NQVNLCQkJMHgzCisjZGVmaW5lIEJPT1NUMl9PQ19USF9TSElGVAkJCTB4NAorI2RlZmluZSBCT09TVDJfRElNX1NPVVJDRV9NQVNLCQkweDEKKyNkZWZpbmUgQk9PU1QyX0RJTV9TT1VSQ0VfU0hJRlQJCTB4NgorCisvLyAoMHg2MCkgQk9PU1QgQ1RSTCA1IEJPT1NUMgorI2RlZmluZSBCT09TVDJfUFJFX1NSX0NPTl9NQVNLCQkweDcKKyNkZWZpbmUgQk9PU1QyX1BSRV9TUl9DT05fU0hJRlQJCTB4MAorI2RlZmluZSBCT09TVDJfRU5fTUFTSwkJCQkweDEKKyNkZWZpbmUgQk9PU1QyX0VOX1NISUZUCQkJCTB4NAorCisvLyAoMHg2MSkgQk9PU1QgQ1RSTCA2IEJPT1NUMiBhbmQgQk9PU1QKKyNkZWZpbmUgQk9PU1RfTU9ERV9NQVNLCQkJCQkweDMKKyNkZWZpbmUgQk9PU1RfTU9ERV9TSElGVAkJCQkweDQKKworLy8gKDB4NjMpIERSSVZFUiBDVFJMIDIKKyNkZWZpbmUgVkJVU19FTl9NQVNLCQkJCTB4MQorI2RlZmluZSBWQlVTX0VOX1NISUZUCQkJCTB4MAorCisKKy8vICgweDY0KSBEUklWRVIgQ1RSTCAzIEdFTgorI2RlZmluZSBJR0VOX0RSVl9JU0VMX01BU0sJCQkJMHgzCisjZGVmaW5lIElHRU5fRFJWX0lTRUxfU0hJRlQJCQkweDAKKyNkZWZpbmUgSUdFTl9EUlZfRk9SQ0VfTUFTSwkJCTB4NAorI2RlZmluZSBJR0VOX0RSVl9GT1JDRV9TSElGVAkJCTB4MgorI2RlZmluZSBWR0VOX0RSVl9CR1NFTF9NQVNLCQkJMHg3CisjZGVmaW5lIFZHRU5fRFJWX0JHU0VMX1NISUZUCQkJMHg0CisKKy8vICgweDY1KSBEUklWRVIgQ1RSTCA0IEZMQVNICisjZGVmaW5lIEZMQVNIX0lfVFVORV9NQVNLCQkweGYKKyNkZWZpbmUgRkxBU0hfSV9UVU5FX1NISUZUCQkweDAKKyNkZWZpbmUgRkxBU0hfRElNX0RJVl9NQVNLCQkJCTB4ZgorI2RlZmluZSBGTEFTSF9ESU1fRElWX1NISUZUCQkJMHg0CisKKy8vICgweDY2KSBEUklWRVIgQ1RSTCA1IEZMQVNICisjZGVmaW5lIEZMQVNIX0RJTV9EVVRZX01BU0sJCQkweDFGCisjZGVmaW5lIEZMQVNIX0RJTV9EVVRZX1NISUZUCQkJMHgwCisjZGVmaW5lIEZMQVNIX0VOX01BU0sJCQkJCTB4MQorI2RlZmluZSBGTEFTSF9FTl9TSElGVAkJCQkJMHg1CisjZGVmaW5lIEZMQVNIX0JZUEFTU19NQVNLCQkJCTB4MQorI2RlZmluZSBGTEFTSF9CWVBBU1NfU0hJRlQJCQkJMHg2CisKKy8vICgweDY3KSBEUklWRVIgQ1RSTCA2IEJMCisjZGVmaW5lIEJMX0RJTV9EVVRZX01BU0sJCQkJMHgxRgorI2RlZmluZSBCTF9ESU1fRFVUWV9TSElGVAkJCQkweDAKKyNkZWZpbmUgQkxfRU5fTUFTSwkJCQkJCTB4MQorI2RlZmluZSBCTF9FTl9TSElGVAkJCQkJCTB4NQorI2RlZmluZSBCTF9JX0NBTF9FTl9NQVNLCQkJCTB4MQorI2RlZmluZSBCTF9JX0NBTF9FTl9TSElGVAkJCQkweDYKKyNkZWZpbmUgQkxfQllQQVNTX01BU0sJCQkJCTB4MQorI2RlZmluZSBCTF9CWVBBU1NfU0hJRlQJCQkJCTB4NworCisvLyAoMHg2OCkgRFJJVkVSIENUUkwgNyBCTAorI2RlZmluZSBCTF9JX0NPUlNFX1RVTkVfTUFTSwkJCTB4NworI2RlZmluZSBCTF9JX0NPUlNFX1RVTkVfU0hJRlQJCQkweDAKKyNkZWZpbmUgQkxfSV9GSU5FX1RVTkVfTUFTSwkJCTB4NworI2RlZmluZSBCTF9JX0ZJTkVfVFVORV9TSElGVAkJCTB4NAorCisvLyAoMHg2RCkgRFJJVkVSIENUUkwgMTIgQkwKKyNkZWZpbmUgQkxfRElNX0RJVl9NQVNLCQkJCQkweEYKKyNkZWZpbmUgQkxfRElNX0RJVl9TSElGVAkJCQkweDAKKyNkZWZpbmUgQkxfTlVNQkVSX01BU0sJCQkJCTB4NworI2RlZmluZSBCTF9OVU1CRVJfU0hJRlQJCQkJCTB4NAorCisvLyAoMHg2RSkgRFJJVkVSIENUUkwgMTMgS1AKKyNkZWZpbmUgS1BfRElNX0RJVl9NQVNLCQkJCQkweEYKKyNkZWZpbmUgS1BfRElNX0RJVl9TSElGVAkJCQkweDAKKyNkZWZpbmUgS1BfRU5fTUFTSwkJCQkJCTB4MQorI2RlZmluZSBLUF9FTl9TSElGVAkJCQkJCTB4NAorCisvLyAoMHg2RikgRFJJVkVSIENUUkwgMTQgS1AKKyNkZWZpbmUgS1BfRElNX0RVVFlfTUFTSwkJCQkweDFGCisjZGVmaW5lIEtQX0RJTV9EVVRZX1NISUZUCQkJCTB4MAorCisvLyAoMHg3MCkgRFJJVkVSIENUUkwgMTUgVklCUgorI2RlZmluZSBWSUJSX0RJTV9ESVZfTUFTSwkJCQkweEYKKyNkZWZpbmUgVklCUl9ESU1fRElWX1NISUZUCQkJCTB4MAorI2RlZmluZSBWSUJSX0VOX01BU0sJCQkJCQkweDEKKyNkZWZpbmUgVklCUl9FTl9TSElGVAkJCQkJMHg0CisKKy8vICgweDcxKSBEUklWRVIgQ1RSTCAxNiBWSUJSCisjZGVmaW5lIFZJQlJfRElNX0RVVFlfTUFTSwkJCQkweDFGCisjZGVmaW5lIFZJQlJfRElNX0RVVFlfU0hJRlQJCQkweDAKKworLy8gKDB4NzIpIERSSVZFUiBDVFJMIDE3CisjZGVmaW5lIERJTV9DS19GT1JDRV9PTl9NQVNLCQkJMHgxCisjZGVmaW5lIERJTV9DS19GT1JDRV9PTl9TSElGVAkJCTB4MAorCisvLyAoMHg3MykgQ0xBU1NfRCBDVFJMIDMgU1BLTAorI2RlZmluZSBTUEtMX0RUSU5fTUFTSwkJCQkJMHhmCisjZGVmaW5lIFNQS0xfRFRJTl9TSElGVAkJCQkJMHgwCisjZGVmaW5lIFNQS0xfRFRJUF9NQVNLCQkJCQkweGYKKyNkZWZpbmUgU1BLTF9EVElQX1NISUZUCQkJCQkweDQKKworLy8gKDB4NzQpIENMQVNTX0QgQ1RSTCA0IFNQS0wKKyNkZWZpbmUgU1BLTF9ETU9ERV9NQVNLCQkJCQkweDMKKyNkZWZpbmUgU1BLTF9ETU9ERV9TSElGVAkJCQkweDIKKyNkZWZpbmUgU1BLTF9FTl9NQVNLCQkJCQkJMHgxCisjZGVmaW5lIFNQS0xfRU5fU0hJRlQJCQkJCTB4NgorI2RlZmluZSBTUEtMX0RUQ0FMX01BU0sJCQkJCTB4MQorI2RlZmluZSBTUEtMX0RUQ0FMX1NISUZUCQkJCTB4NworCisvLyAoMHg3NSkgQ0xBU1NfRCBDVFJMIDUgU1BLTAorI2RlZmluZSBTUEtMX1NMRVdfTUFTSwkJCQkJMHgzCisjZGVmaW5lIFNQS0xfU0xFV19TSElGVAkJCQkgICAgMHg2CisKKy8vICgweDc2KSBDTEFTU19EIENUUkwgNiBTUEtMCisjZGVmaW5lIFNQS0xfVk9MX01BU0sJCQkJCTB4NworI2RlZmluZSBTUEtMX1ZPTF9TSElGVAkJCQkgICAgMHgwCisKKy8vICgweDc3KSBDTEFTU19EIENUUkwgNyBTUEtMCisjZGVmaW5lIFNQS0xfT0NfTUFTSwkJCQkJMHgxCisjZGVmaW5lIFNQS0xfT0NfU0hJRlQJCQkJCTB4MAorCisKKy8vICgweDc4KSBDTEFTU19EIENUUkwgOCBTUEtSCisjZGVmaW5lIFNQS1JfRFRJTl9NQVNLCQkJCQkweGYKKyNkZWZpbmUgU1BLUl9EVElOX1NISUZUCQkJCQkweDAKKyNkZWZpbmUgU1BLUl9EVElQX01BU0sJCQkJCTB4ZgorI2RlZmluZSBTUEtSX0RUSVBfU0hJRlQJCQkJCTB4NAorCisvLyAoMHg3OSkgQ0xBU1NfRCBDVFJMIDkgU1BLUgorI2RlZmluZSBTUEtSX0RNT0RFX01BU0sJCQkJCTB4MworI2RlZmluZSBTUEtSX0RNT0RFX1NISUZUCQkJCTB4MgorI2RlZmluZSBTUEtSX0VOX01BU0sJCQkJCQkweDEKKyNkZWZpbmUgU1BLUl9FTl9TSElGVAkJCQkJMHg2CisjZGVmaW5lIFNQS1JfRFRDQUxfTUFTSwkJCQkJMHgxCisjZGVmaW5lIFNQS1JfRFRDQUxfU0hJRlQJCQkJMHg3CisKKy8vICgweDdBKSBDTEFTU19EIENUUkwgMTAgU1BLUgorI2RlZmluZSBTUEtSX1NMRVdfTUFTSwkJCQkJMHgzCisjZGVmaW5lIFNQS1JfU0xFV19TSElGVAkJCQkgICAgMHg2CisKKworLy8gKDB4N0IpIENMQVNTX0QgQ1RSTCAxMSBTUEtSCisjZGVmaW5lIFNQS1JfVk9MX01BU0sJCQkJCTB4NworI2RlZmluZSBTUEtSX1ZPTF9TSElGVAkJCQkgICAgMHgwCisKKy8vICgweDdDKSBDTEFTU19EIENUUkwgMTIgU1BLUgorI2RlZmluZSBTUEtSX09DX01BU0sJCQkJCTB4MQorI2RlZmluZSBTUEtSX09DX1NISUZUCQkJCQkweDAKKworCisKKy8vICgweDgxKSBDSEFSR0VSIENUUkwgMQorI2RlZmluZSBDSFJfQ0hPRlNUX01BU0sJCQkJCTB4NworI2RlZmluZSBDSFJfQ0hPRlNUX1NISUZUCQkJCTB4MAorI2RlZmluZSBDSFJfT1ZfVEhfSElHSF9NQVNLCQkJMHgxCisjZGVmaW5lIENIUl9PVl9USF9ISUdIX1NISUZUCQkJMHgzCisjZGVmaW5lIENIUl9DSFJfQ1VSUkVOVF9NQVNLCQkJMHg3CisjZGVmaW5lIENIUl9DSFJfQ1VSUkVOVF9TSElGVAkJCTB4NAorI2RlZmluZSBDSFJfT1ZfVEhfRlJFRVpFX01BU0sJCQkweDEKKyNkZWZpbmUgQ0hSX09WX1RIX0ZSRUVaRV9TSElGVAkJMHg3CisKKy8vICgweDgyKSBDSEFSR0VSIENUUkwgMgorI2RlZmluZSBDSFJfQ1ZfUlRfTUFTSwkJCQkJMHgzCisjZGVmaW5lIENIUl9DVl9SVF9TSElGVAkJCQkJMHgwCisjZGVmaW5lIENIUl9DSFJPTl9GT1JDRV9NQVNLCQkJMHgxCisjZGVmaW5lIENIUl9DSFJPTl9GT1JDRV9TSElGVAkJCTB4MgorI2RlZmluZSBDSFJfQ0hSX0VOX01BU0sJCQkJCTB4MQorI2RlZmluZSBDSFJfQ0hSX0VOX1NISUZUCQkJCTB4MworI2RlZmluZSBDSFJfQ1ZfVFVORV9NQVNLCQkJCTB4NworI2RlZmluZSBDSFJfQ1ZfVFVORV9TSElGVAkJCQkweDQKKworCisvLyAoMHg4MykgVEVTVE1PREUgQ1RSTCAzIEFuYWxvZyBTd2l0Y2gKKyNkZWZpbmUgQVNXX0FTRUxfTUFTSwkJCQkJMHgzCisjZGVmaW5lIEFTV19BU0VMX1NISUZUCQkJCQkweDAKKyNkZWZpbmUgQVNXX0JTRUxfTUFTSwkJCQkJMHgzCisjZGVmaW5lIEFTV19CU0VMX1NISUZUCQkJCQkweDIKKyNkZWZpbmUgQVNXX0ExX1NFTF9NQVNLCQkJCQkweDEKKyNkZWZpbmUgQVNXX0ExX1NFTF9TSElGVAkJCQkweDQKKyNkZWZpbmUgQVNXX0EyX1NFTF9NQVNLCQkJCQkweDEKKyNkZWZpbmUgQVNXX0EyX1NFTF9TSElGVAkJCQkweDUKKworCisvLyAoMHg4NCkgVEVTVE1PREUgQ1RSTCA0IFRlc3Rtb2RlCisjZGVmaW5lIFZHUDJfT05fU0VMX01BU0sJCQkJMHgxCisjZGVmaW5lIFZHUDJfT05fU0VMX1NISUZUCQkJCTB4NworCisKKworLy8gKDB4ODYpIFRFU1RNT0RFIENUUkwgNiBCQiBBVVhBREMgUmVsYXRlZAorI2RlZmluZSBBRENfSVNFTlNFX09VVF9FTl9NQVNLCQkweDEKKyNkZWZpbmUgQURDX0lTRU5TRV9PVVRfRU5fU0hJRlQJCTB4MAorI2RlZmluZSBBRENfVkJBVF9PVVRfRU5fTUFTSwkJCTB4MQorI2RlZmluZSBBRENfVkJBVF9PVVRfRU5fU0hJRlQJCQkweDEKKworCisvLyAoMHg4OSkgSU5UIENUUkwgMQorLy8gI2RlZmluZSBpbiBwbWljNjMyNl9zdy5oCisvLyAoMHg4QSkgSU5UIENUUkwgMgorLy8gI2RlZmluZSBpbiBwbWljNjMyNl9zdy5oCisvLyAoMHg4QikgSU5UIENUUkwgMworLy8gI2RlZmluZSBpbiBwbWljNjMyNl9zdy5oCisKKy8vICgweDhDKQorI2RlZmluZSBWQ0FNQV9PQ19BVVRPX09GRl9TSElGVAkJCTB4MQorI2RlZmluZSBWQ0FNQV9PQ19BVVRPX09GRl9NQVNLCQkJMHgxCisKKyNkZWZpbmUgVkNBTURfT0NfQVVUT19PRkZfU0hJRlQJCQkweDYKKyNkZWZpbmUgVkNBTURfT0NfQVVUT19PRkZfTUFTSwkJCTB4MQorCisvLyAoMHg4RikKKyNkZWZpbmUgU1RfR0VBUl9WV0lGSTNWM19TSElGVAkJCTB4MAorI2RlZmluZSBTVF9HRUFSX1ZXSUZJM1YzX01BU0sJCQkweDMKKworI2RlZmluZSBTVF9HRUFSX1ZXSUZJMlY4X1NISUZUCQkJMHgyCisjZGVmaW5lIFNUX0dFQVJfVldJRkkyVjhfTUFTSwkJCTB4MworCisvLyAoMHg5MCkKKyNkZWZpbmUgU1RfR0VBUl9WU0RJT19TSElGVAkJCQkweDIKKyNkZWZpbmUgU1RfR0VBUl9WU0RJT19NQVNLCQkJCTB4MworCisvLyAoMHg5MikKKyNkZWZpbmUgT0NfR0VBUl9WV0lGSTNWM19TSElGVAkJCTB4MAorI2RlZmluZSBPQ19HRUFSX1ZXSUZJM1YzX01BU0sJCQkweDMKKworI2RlZmluZSBPQ19HRUFSX1ZXSUZJMlY4X1NISUZUCQkJMHgyCisjZGVmaW5lIE9DX0dFQVJfVldJRkkyVjhfTUFTSwkJCTB4MworCisvLyAoMHg5MykKKyNkZWZpbmUgT0NfR0VBUl9WU0RJT19TSElGVAkJCQkweDIKKyNkZWZpbmUgT0NfR0VBUl9WU0RJT19NQVNLCQkJCTB4MworCisKKy8vICgweDk2KSBXQVRDSERPRyBDVFJMIGFuZCBJTlQgQ1RSTCA0CisjZGVmaW5lIFdEVF9USU1FT1VUX01BU0sJCQkJMHgzCisjZGVmaW5lIFdEVF9USU1FT1VUX1NISUZUCQkJCTB4MAorI2RlZmluZSBJTlRSX1BPTEFSSVRZX01BU0sJCQkJMHgxCisjZGVmaW5lIElOVFJfUE9MQVJJVFlfU0hJRlQJCQkweDIKKyNkZWZpbmUgV0RUX0RJU0FCTEVfTUFTSwkJCQkweDEKKyNkZWZpbmUgV0RUX0RJU0FCTEVfU0hJRlQJCQkJMHgzCisKKworI2VuZGlmIC8vI2lmIGRlZmluZWQoUE1JQ182MzI2X1JFR19BUEkpCisKKyNlbmRpZiAvLyAjaWZuZGVmIF9fRENMX1BNSUM2MzI2X0hXX0hfU1RSVUNUX18KKworCisKKwpkaWZmIC0tZ2l0IGEvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9kY2xfcG1pYzYzMjZfc3cuaCBiL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvZGNsX3BtaWM2MzI2X3N3LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmFhZjY3YgotLS0gL2Rldi9udWxsCisrKyBiL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvZGNsX3BtaWM2MzI2X3N3LmgKQEAgLTAsMCArMSwxOTY3IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMDUKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4gCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRmlsZW5hbWU6CisgKiAtLS0tLS0tLS0KKyAqICAgIGRjbF9wbWljNjMyNl9zdy5oCisgKgorICogUHJvamVjdDoKKyAqIC0tLS0tLS0tCisgKiAgIE1hdWlfU29mdHdhcmUKKyAqCisgKiBEZXNjcmlwdGlvbjoKKyAqIC0tLS0tLS0tLS0tLQorICogICBUaGlzIGZpbGUgaXMgZm9yIFBNSUMgNjMyNgorICoKKyAqIEF1dGhvcjoKKyAqIC0tLS0tLS0KKyAqIC0tLS0tLS0KKyAqCisgKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqICAgICAgICAgICAgIEhJU1RPUlkKKyAqIEJlbG93IHRoaXMgbGluZSwgdGhpcyBwYXJ0IGlzIGNvbnRyb2xsZWQgYnkgUFZDUyBWTS4gRE8gTk9UIE1PRElGWSEhCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKgorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIFVwcGVyIHRoaXMgbGluZSwgdGhpcyBwYXJ0IGlzIGNvbnRyb2xsZWQgYnkgUFZDUyBWTS4gRE8gTk9UIE1PRElGWSEhCisgKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisKKworI2lmbmRlZiBfX0RDTF9QTVU2MzI2X1NXX0hfU1RSVUNUX18KKyNkZWZpbmUgX19EQ0xfUE1VNjMyNl9TV19IX1NUUlVDVF9fCisKKyNpbmNsdWRlICJkY2xfcG1pY19mZWF0dXJlcy5oIgorCisjaWZkZWYgUE1JQ182MzI2X1JFR19BUEkKKworCisvKgorLy8gZGVidWcgMQorLy8gRGVmaW5lIHRvIGtlZXAgY2hhZ2luZyB3aGVuIGFzc2VydAorLy8gVGhpcyBmbGFnIGlzIG9ubHkgZm9yIGRlYnVnIHB1cnBvc2UKKy8vI2RlZmluZSBEUlZfTUlTQ19QTUlDX0FTU0VSVF9LRUVQX0NIQVJHSU5HCisvLyNkZWZpbmUgREVCVUdfUE1JQzYzMjZfTk9fQ0hBUkdFUl9XQVRDSERPR19USU1FUgorCisKKy8vIGRlYnVnIDIKKy8vIERlZmluZSB0byBlbmFibGUgUE1JQzYzMjYgY2hhcmdlciB3YXRjaCBkb2cgdGltZXIga2ljaworLy8gV2hlbiBlbmFibGUgY2hhcmdlciwgUE1JQzYzMjYgd2lsbCBlbmFibGUgYSB3YXRjaCBkb2cgdGltZXIKKy8vIFdlIG5lZWQgdG8ga2ljayB0aGUgdGltZXIgcGVyaW9kaWNhbGx5LCB0byBvbnRpZnkgUE1JQzYzMjYgdGhhdCBCQiBpcyBhbGl2ZQorLy8gSWYgdGltZW91dCwgUE1JQzYzMjYgd2lsbCBkaXNhYmxlIGNoYXJnZSBhdXRvbWF0aWNhbGx5CisvLyAjIyMjIElmIHRoaXMgaXMgTk9UIGVuYWJsZWQsIHdlIHdpbGwgZGlzYWJsZSB0aGUgd2F0Y2ggZG9nIHRpbWVyIGZ1bmN0aW9uIGF0IGJvb3QgdGltZQorLy8jZGVmaW5lIEVOQUJMRV9QTUlDX0RSSVZFUl9LSUNLX0NIQVJHRVJfV0FUQ0hET0dfVElNRVIgID09PiBNb3ZlIHRvIGJlIGFjdGl2YXRlZCBieSBCTVQgY2hhcmdpbmcgYWxnb3JpdGhtLCBkbyBOT1QgdXNlIHRoaXMgYW55bW9yZQorKi8KKworCisjZGVmaW5lIFBNSUM2MzI2X0VDT18xX1ZFUlNJT04JCTB4MDEKKyNkZWZpbmUgUE1JQzYzMjZfRUNPXzJfVkVSU0lPTgkJMHgwMgorI2RlZmluZSBQTUlDNjMyNl9FQ09fM19WRVJTSU9OCQkweDAzCisjZGVmaW5lIFBNSUM2MzI2X0VDT180X1ZFUlNJT04JCTB4MDQKKworCisjaWZuZGVmIFBNSUNfT0xEX1NUUlVDVFVSRQorI2RlZmluZSBQTUlDX09MRF9TVFJVQ1RVUkUKKwordHlwZWRlZiBlbnVtCit7CisgICBBQ19DSFI9MCwKKyAgIFVTQl9DSFIKK31jaHJfdHlwZTsKKworLy8gQ29tbW9uIFBNSUMgc3RydWN0dXJlcworCisvLyBDaGFyZ2VyIHR5cGUKK3R5cGVkZWYgZW51bQoreworICAgUE1JQ19BQ19DSFI9MCwKKyAgIFBNSUNfVVNCX0NIUgorfXBtaWNfY2hyX3R5cGU7CisKK3R5cGVkZWYgZW51bQoreworICAgUE1JQ19BRFBUX0FDX0NIUj0wLAorICAgUE1JQ19BRFBUX1VTQl9DSFIsCisgICBQTUlDX0FEUFRfQUNfTk9OX1NURF9DSFIsCisgICBQTUlDX0FEUFRfVVNCX0NIQVJHSU5HX0hPU1RfQ0hSLAorICAgUE1JQ19BRFBUX05PX0NIUiAgICAvLyBJbmRpY2F0ZSBOTyBjaGFyZ2VyCit9cG1pY19hZHB0X2Nocl90eXBlOworCisKK3R5cGVkZWYgZW51bQoreworICAgUE1JQ19WU0lNXzFfOD0wLAorICAgUE1JQ19WU0lNXzNfMAorfXBtaWNfYWRwdF92c2ltX3ZvbHQ7CisKKwordHlwZWRlZiBlbnVtCit7CisJUE1JQ19BRFBUX1ZDQU1BXzFfNT0wLAorCVBNSUNfQURQVF9WQ0FNQV8xXzgsCisJUE1JQ19BRFBUX1ZDQU1BXzJfNSwKKwlQTUlDX0FEUFRfVkNBTUFfMl84Cit9cG1pY19hZHB0X3ZjYW1hX3ZvbHQ7CisKK3R5cGVkZWYgZW51bQoreworCVBNSUNfQURQVF9WQ0FNRF8xXzM9MCwKKwlQTUlDX0FEUFRfVkNBTURfMV81LAorCVBNSUNfQURQVF9WQ0FNRF8xXzgsCisJUE1JQ19BRFBUX1ZDQU1EXzJfNSwKKwlQTUlDX0FEUFRfVkNBTURfMl84LAorCVBNSUNfQURQVF9WQ0FNRF8zXzAsCisJUE1JQ19BRFBUX1ZDQU1EXzNfMworfXBtaWNfYWRwdF92Y2FtZF92b2x0OworCit0eXBlZGVmIHN0cnVjdAoreworCWthbF91aW50MzIgY2hyX2N1cnJlbnQ7CisJa2FsX3VpbnQzMiByZWdfaW5kZXg7Cit9cG1pY19hZHB0X2Nocl9jdXJyX3JlZ19pZHhfZW50cnk7CisKKyNkZWZpbmUgUE1JQ19BRFBUX01BWF9DSEFSR0VfQ1VSUkVOVF9MRVZFTF9OVU0gICAgMTYKK3R5cGVkZWYgc3RydWN0Cit7CisJa2FsX3VpbnQzMiBjaHJfY3VycmVudF9sZXZlbF9udW07CisJcG1pY19hZHB0X2Nocl9jdXJyX3JlZ19pZHhfZW50cnkgZW50cnlfdGFibGVbUE1JQ19BRFBUX01BWF9DSEFSR0VfQ1VSUkVOVF9MRVZFTF9OVU1dOworfXBtaWNfYWRwdF9jaHJfY3Vycl90YWJsZTsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKwlrYWxfaW50MzIgY2hyX2N1cnJlbnRfb2Zmc2V0OworCWthbF91aW50MzIgcmVnX2luZGV4OworfXBtaWNfYWRwdF9jaHJfY3Vycl9vZmZzZXRfcmVnX2lkeF9lbnRyeTsKKworI2RlZmluZSBQTUlDX0FEUFRfTUFYX0NIQVJHRV9DVVJSRU5UX09GRlNFVF9OVU0gICAgOAordHlwZWRlZiBzdHJ1Y3QKK3sKKwlrYWxfdWludDMyIGNocl9jdXJyZW50X29mZnNldF9udW07CisJcG1pY19hZHB0X2Nocl9jdXJyX29mZnNldF9yZWdfaWR4X2VudHJ5IGVudHJ5X3RhYmxlW1BNSUNfQURQVF9NQVhfQ0hBUkdFX0NVUlJFTlRfT0ZGU0VUX05VTV07Cit9cG1pY19hZHB0X2Nocl9jdXJyX29mZnNldF90YWJsZTsKKworLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKwordHlwZWRlZiBlbnVtCit7CisJUE1JQ19BRFBUX0xET19DVFJMX0NPTlRST0xMRVIgPSAwLAorCVBNSUNfQURQVF9MRE9fQ1RSTF9MRE9fQ09OCit9cG1pY19hZHB0X2xkb19jdHJsX21vZGVfZW51bTsKKwordHlwZWRlZiBlbnVtCit7CisJUE1JQ19BRFBUX0JMX01PREVfMCA9IDAsCisJUE1JQ19BRFBUX0JMX01PREVfMSwKKwlQTUlDX0FEUFRfQkxfTU9ERV8yLAorCVBNSUNfQURQVF9CTF9NT0RFXzMsCisJUE1JQ19BRFBUX0JMX01PREVfTlVNCit9cG1pY19hZHB0X2JsX21vZGVfZW51bTsKKwordHlwZWRlZiBlbnVtCit7CisJUE1JQ19BRFBUX1NQS19NT0RFXzAgPSAwLAorCVBNSUNfQURQVF9TUEtfTU9ERV8xLAorCVBNSUNfQURQVF9TUEtfTU9ERV8yLAorCVBNSUNfQURQVF9TUEtfTU9ERV8zLAorCVBNSUNfQURQVF9TUEtfTU9ERV9OVU0KK31wbWljX2FkcHRfc3BrX21vZGVfZW51bTsKKwordHlwZWRlZiBlbnVtCit7CisJUE1JQ19BRFBUX0NIQVJHRV9DVVJSRU5UXzBfTUEgPSAwLAorCVBNSUNfQURQVF9DSEFSR0VfQ1VSUkVOVF81MF9NQSA9IDUwLAorCVBNSUNfQURQVF9DSEFSR0VfQ1VSUkVOVF83NV9NQSA9IDc1LAorCVBNSUNfQURQVF9DSEFSR0VfQ1VSUkVOVF8xMDBfTUEgPSAxMDAsCisJUE1JQ19BRFBUX0NIQVJHRV9DVVJSRU5UXzE1MF9NQSA9IDE1MCwKKwlQTUlDX0FEUFRfQ0hBUkdFX0NVUlJFTlRfMjAwX01BID0gMjAwLAorCVBNSUNfQURQVF9DSEFSR0VfQ1VSUkVOVF8yNTBfTUEgPSAyNTAsCisJUE1JQ19BRFBUX0NIQVJHRV9DVVJSRU5UXzMwMF9NQSA9IDMwMCwKKwlQTUlDX0FEUFRfQ0hBUkdFX0NVUlJFTlRfMzUwX01BID0gMzUwLAorCVBNSUNfQURQVF9DSEFSR0VfQ1VSUkVOVF80MDBfTUEgPSA0MDAsCisJUE1JQ19BRFBUX0NIQVJHRV9DVVJSRU5UXzQ1MF9NQSA9IDQ1MCwKKwlQTUlDX0FEUFRfQ0hBUkdFX0NVUlJFTlRfNTAwX01BID0gNTAwLAorCVBNSUNfQURQVF9DSEFSR0VfQ1VSUkVOVF81NTBfTUEgPSA1NTAsCisJUE1JQ19BRFBUX0NIQVJHRV9DVVJSRU5UXzYwMF9NQSA9IDYwMCwKKwlQTUlDX0FEUFRfQ0hBUkdFX0NVUlJFTlRfNjUwX01BID0gNjUwLAorCVBNSUNfQURQVF9DSEFSR0VfQ1VSUkVOVF83MDBfTUEgPSA3MDAsCisJUE1JQ19BRFBUX0NIQVJHRV9DVVJSRU5UXzc1MF9NQSA9IDc1MCwKKwlQTUlDX0FEUFRfQ0hBUkdFX0NVUlJFTlRfODAwX01BID0gODAwLAorCVBNSUNfQURQVF9DSEFSR0VfQ1VSUkVOVF84NTBfTUEgPSA4NTAsCisJUE1JQ19BRFBUX0NIQVJHRV9DVVJSRU5UXzkwMF9NQSA9IDkwMCwKKwlQTUlDX0FEUFRfQ0hBUkdFX0NVUlJFTlRfOTUwX01BID0gOTUwLAorCVBNSUNfQURQVF9DSEFSR0VfQ1VSUkVOVF8xMDAwX01BID0gMTAwMCwKKwlQTUlDX0FEUFRfQ0hBUkdFX0NVUlJFTlRfMTIwMF9NQSA9IDEyMDAsCisJUE1JQ19BRFBUX0NIQVJHRV9DVVJSRU5UXzE1MDBfTUEgPSAxNTAwLAorCVBNSUNfQURQVF9DSEFSR0VfQ1VSUkVOVF8xODAwX01BID0gMTgwMCwKKwlQTUlDX0FEUFRfQ0hBUkdFX0NVUlJFTlRfMjAwMF9NQSA9IDIwMDAsCisJUE1JQ19BRFBUX0NIQVJHRV9DVVJSRU5UX01BWAorfXBtaWNfYWRwdF9jaHJfY3VycmVudF9lbnVtOworCisKKworCisvLyBVbmlmaWVkIFBNSUMgdm9sdGFnZSBkYXRhIHR5cGUKKy8vIFRoZSB1bml0IHZhbHVlIGlzIDF1ViA9PT4gMTAwMDAwMCBtZWFucyAxVgordHlwZWRlZiBlbnVtCit7CisJUE1JQ19BRFBUX1ZPTFRfMDBfMDAwMDAwX1YgPSAgICAgICAgMCwKKwlQTUlDX0FEUFRfVk9MVF8wMF8xMDAwMDBfViA9ICAgMTAwMDAwLAorCVBNSUNfQURQVF9WT0xUXzAwXzIwMDAwMF9WID0gICAyMDAwMDAsCisJUE1JQ19BRFBUX1ZPTFRfMDBfMzAwMDAwX1YgPSAgIDMwMDAwMCwKKwlQTUlDX0FEUFRfVk9MVF8wMF80MDAwMDBfViA9ICAgNDAwMDAwLAorCVBNSUNfQURQVF9WT0xUXzAwXzUwMDAwMF9WID0gICA1MDAwMDAsCisJUE1JQ19BRFBUX1ZPTFRfMDBfNjAwMDAwX1YgPSAgIDYwMDAwMCwKKwlQTUlDX0FEUFRfVk9MVF8wMF83MDAwMDBfViA9ICAgNzAwMDAwLAorCVBNSUNfQURQVF9WT0xUXzAwXzgwMDAwMF9WID0gICA4MDAwMDAsCisJUE1JQ19BRFBUX1ZPTFRfMDBfODI1MDAwX1YgPSAgIDgyNTAwMCwKKwlQTUlDX0FEUFRfVk9MVF8wMF84NTAwMDBfViA9ICAgODUwMDAwLAorCVBNSUNfQURQVF9WT0xUXzAwXzg3NTAwMF9WID0gICA4NzUwMDAsCisJUE1JQ19BRFBUX1ZPTFRfMDBfOTAwMDAwX1YgPSAgIDkwMDAwMCwKKwlQTUlDX0FEUFRfVk9MVF8wMF85MjUwMDBfViA9ICAgOTI1MDAwLAorCVBNSUNfQURQVF9WT0xUXzAwXzk1MDAwMF9WID0gICA5NTAwMDAsCisJUE1JQ19BRFBUX1ZPTFRfMDBfOTc1MDAwX1YgPSAgIDk3NTAwMCwKKwlQTUlDX0FEUFRfVk9MVF8wMV8wMDAwMDBfViA9ICAxMDAwMDAwLAorCVBNSUNfQURQVF9WT0xUXzAxXzAyNTAwMF9WID0gIDEwMjUwMDAsCisJUE1JQ19BRFBUX1ZPTFRfMDFfMDUwMDAwX1YgPSAgMTA1MDAwMCwKKwlQTUlDX0FEUFRfVk9MVF8wMV8wNzUwMDBfViA9ICAxMDc1MDAwLAorCVBNSUNfQURQVF9WT0xUXzAxXzEwMDAwMF9WID0gIDExMDAwMDAsCisJUE1JQ19BRFBUX1ZPTFRfMDFfMTI1MDAwX1YgPSAgMTEyNTAwMCwKKwlQTUlDX0FEUFRfVk9MVF8wMV8xNTAwMDBfViA9ICAxMTUwMDAwLAorCVBNSUNfQURQVF9WT0xUXzAxXzE3NTAwMF9WID0gIDExNzUwMDAsCisJUE1JQ19BRFBUX1ZPTFRfMDFfMjAwMDAwX1YgPSAgMTIwMDAwMCwKKwlQTUlDX0FEUFRfVk9MVF8wMV8yMjUwMDBfViA9ICAxMjI1MDAwLAorCVBNSUNfQURQVF9WT0xUXzAxXzI1MDAwMF9WID0gIDEyNTAwMDAsCisJUE1JQ19BRFBUX1ZPTFRfMDFfMjc1MDAwX1YgPSAgMTI3NTAwMCwKKwlQTUlDX0FEUFRfVk9MVF8wMV8zMDAwMDBfViA9ICAxMzAwMDAwLAorCVBNSUNfQURQVF9WT0xUXzAxXzMyNTAwMF9WID0gIDEzMjUwMDAsCisJUE1JQ19BRFBUX1ZPTFRfMDFfMzUwMDAwX1YgPSAgMTM1MDAwMCwKKwlQTUlDX0FEUFRfVk9MVF8wMV8zNzUwMDBfViA9ICAxMzc1MDAwLAorCVBNSUNfQURQVF9WT0xUXzAxXzQwMDAwMF9WID0gIDE0MDAwMDAsCisJUE1JQ19BRFBUX1ZPTFRfMDFfNDI1MDAwX1YgPSAgMTQyNTAwMCwKKwlQTUlDX0FEUFRfVk9MVF8wMV80NTAwMDBfViA9ICAxNDUwMDAwLAorCVBNSUNfQURQVF9WT0xUXzAxXzQ3NTAwMF9WID0gIDE0NzUwMDAsCisJUE1JQ19BRFBUX1ZPTFRfMDFfNTAwMDAwX1YgPSAgMTUwMDAwMCwKKwlQTUlDX0FEUFRfVk9MVF8wMV81MjUwMDBfViA9ICAxNTI1MDAwLAorCVBNSUNfQURQVF9WT0xUXzAxXzU1MDAwMF9WID0gIDE1NTAwMDAsCisJUE1JQ19BRFBUX1ZPTFRfMDFfNTc1MDAwX1YgPSAgMTU3NTAwMCwKKwlQTUlDX0FEUFRfVk9MVF8wMV82MDAwMDBfViA9ICAxNjAwMDAwLAorCVBNSUNfQURQVF9WT0xUXzAxXzYyNTAwMF9WID0gIDE2MjUwMDAsCisJUE1JQ19BRFBUX1ZPTFRfMDFfNjUwMDAwX1YgPSAgMTY1MDAwMCwKKwlQTUlDX0FEUFRfVk9MVF8wMV82NzUwMDBfViA9ICAxNjc1MDAwLAorCVBNSUNfQURQVF9WT0xUXzAxXzcwMDAwMF9WID0gIDE3MDAwMDAsCisJUE1JQ19BRFBUX1ZPTFRfMDFfNzI1MDAwX1YgPSAgMTcyNTAwMCwKKwlQTUlDX0FEUFRfVk9MVF8wMV83NTAwMDBfViA9ICAxNzUwMDAwLAorCVBNSUNfQURQVF9WT0xUXzAxXzc3NTAwMF9WID0gIDE3NzUwMDAsCisJUE1JQ19BRFBUX1ZPTFRfMDFfODAwMDAwX1YgPSAgMTgwMDAwMCwKKwlQTUlDX0FEUFRfVk9MVF8wMV84MjUwMDBfViA9ICAxODI1MDAwLAorCVBNSUNfQURQVF9WT0xUXzAxXzg1MDAwMF9WID0gIDE4NTAwMDAsCisJUE1JQ19BRFBUX1ZPTFRfMDFfODc1MDAwX1YgPSAgMTg3NTAwMCwKKwlQTUlDX0FEUFRfVk9MVF8wMV85MDAwMDBfViA9ICAxOTAwMDAwLAorCVBNSUNfQURQVF9WT0xUXzAxXzkyNTAwMF9WID0gIDE5MjUwMDAsCisJUE1JQ19BRFBUX1ZPTFRfMDFfOTUwMDAwX1YgPSAgMTk1MDAwMCwKKwlQTUlDX0FEUFRfVk9MVF8wMV85NzUwMDBfViA9ICAxOTc1MDAwLAorCVBNSUNfQURQVF9WT0xUXzAyXzAwMDAwMF9WID0gIDIwMDAwMDAsCisJUE1JQ19BRFBUX1ZPTFRfMDJfNTAwMDAwX1YgPSAgMjUwMDAwMCwKKwlQTUlDX0FEUFRfVk9MVF8wMl83NTAwMDBfViA9ICAyNzUwMDAwLAorCVBNSUNfQURQVF9WT0xUXzAyXzgwMDAwMF9WID0gIDI4MDAwMDAsCisJUE1JQ19BRFBUX1ZPTFRfMDJfODUwMDAwX1YgPSAgMjg1MDAwMCwKKwlQTUlDX0FEUFRfVk9MVF8wMl85MDAwMDBfViA9ICAyOTAwMDAwLAorCVBNSUNfQURQVF9WT0xUXzAzXzAwMDAwMF9WID0gIDMwMDAwMDAsCisJUE1JQ19BRFBUX1ZPTFRfMDNfMTAwMDAwX1YgPSAgMzEwMDAwMCwKKwlQTUlDX0FEUFRfVk9MVF8wM18yNTAwMDBfViA9ICAzMjUwMDAwLAorCVBNSUNfQURQVF9WT0xUXzAzXzI3NTAwMF9WID0gIDMyNzUwMDAsCisJUE1JQ19BRFBUX1ZPTFRfMDNfMzAwMDAwX1YgPSAgMzMwMDAwMCwKKwlQTUlDX0FEUFRfVk9MVF8wM18zMjUwMDBfViA9ICAzMzI1MDAwLAorCVBNSUNfQURQVF9WT0xUXzA0XzAwMDAwMF9WID0gIDQwMDAwMDAsCisJUE1JQ19BRFBUX1ZPTFRfMDRfMDEyNTAwX1YgPSAgNDAxMjUwMCwKKwlQTUlDX0FEUFRfVk9MVF8wNF8wMjUwMDBfViA9ICA0MDI1MDAwLAorCVBNSUNfQURQVF9WT0xUXzA0XzAzNzUwMF9WID0gIDQwMzc1MDAsCisJUE1JQ19BRFBUX1ZPTFRfMDRfMDUwMDAwX1YgPSAgNDA1MDAwMCwKKwlQTUlDX0FEUFRfVk9MVF8wNF8wNjI1MDBfViA9ICA0MDYyNTAwLAorCVBNSUNfQURQVF9WT0xUXzA0XzA2NzUwMF9WID0gIDQwNjc1MDAsCisJUE1JQ19BRFBUX1ZPTFRfMDRfMDc1MDAwX1YgPSAgNDA3NTAwMCwKKwlQTUlDX0FEUFRfVk9MVF8wNF8wODc1MDBfViA9ICA0MDg3NTAwLAorCVBNSUNfQURQVF9WT0xUXzA0XzEwMDAwMF9WID0gIDQxMDAwMDAsCisJUE1JQ19BRFBUX1ZPTFRfMDRfMTEyNTAwX1YgPSAgNDExMjUwMCwKKwlQTUlDX0FEUFRfVk9MVF8wNF8xMTYwMDBfViA9ICA0MTE2MDAwLAorCVBNSUNfQURQVF9WT0xUXzA0XzEyNTAwMF9WID0gIDQxMjUwMDAsCisJUE1JQ19BRFBUX1ZPTFRfMDRfMTM3NTAwX1YgPSAgNDEzNzUwMCwKKwlQTUlDX0FEUFRfVk9MVF8wNF8xNTAwMDBfViA9ICA0MTUwMDAwLAorCVBNSUNfQURQVF9WT0xUXzA0XzE2MjUwMF9WID0gIDQxNjI1MDAsCisJUE1JQ19BRFBUX1ZPTFRfMDRfMTc1MDAwX1YgPSAgNDE3NTAwMCwKKwlQTUlDX0FEUFRfVk9MVF8wNF8xODc1MDBfViA9ICA0MTg3NTAwLAorCVBNSUNfQURQVF9WT0xUXzA0XzIwMDAwMF9WID0gIDQyMDAwMDAsCisJUE1JQ19BRFBUX1ZPTFRfMDRfMjEyNTAwX1YgPSAgNDIxMjUwMCwKKwlQTUlDX0FEUFRfVk9MVF8wNF8yMjUwMDBfViA9ICA0MjI1MDAwLAorCVBNSUNfQURQVF9WT0xUXzA0XzIzNzUwMF9WID0gIDQyMzc1MDAsCisJUE1JQ19BRFBUX1ZPTFRfMDRfMjUwMDAwX1YgPSAgNDI1MDAwMCwKKwlQTUlDX0FEUFRfVk9MVF8wNF8yNjI1MDBfViA9ICA0MjYyNTAwLAorCVBNSUNfQURQVF9WT0xUXzA0XzI3NTAwMF9WID0gIDQyNzUwMDAsCisJUE1JQ19BRFBUX1ZPTFRfMDRfMjg3NTAwX1YgPSAgNDI4NzUwMCwKKwlQTUlDX0FEUFRfVk9MVF8wNF8zMDAwMDBfViA9ICA0MzAwMDAwLAorCVBNSUNfQURQVF9WT0xUXzA0XzMyNTAwMF9WID0gIDQzMjUwMDAsCisJUE1JQ19BRFBUX1ZPTFRfMDRfMzUwMDAwX1YgPSAgNDM1MDAwMCwKKwlQTUlDX0FEUFRfVk9MVF8wNF8zNzUwMDBfViA9ICA0Mzc1MDAwLAorCVBNSUNfQURQVF9WT0xUXzA0XzQwMDAwMF9WID0gIDQ0MDAwMDAsCisJUE1JQ19BRFBUX1ZPTFRfMDRfNDExNTAwX1YgPSAgNDQxMTUwMCwKKwlQTUlDX0FEUFRfVk9MVF8wNF80NTAwMDBfViA9ICA0NDUwMDAwLAorCVBNSUNfQURQVF9WT0xUXzA0XzUwMDAwMF9WID0gIDQ1MDAwMDAsCisJUE1JQ19BRFBUX1ZPTFRfMDRfNTUwMDAwX1YgPSAgNDU1MDAwMCwKKwlQTUlDX0FEUFRfVk9MVF8wNF82MDAwMDBfViA9ICA0NjAwMDAwLAorCVBNSUNfQURQVF9WT0xUXzA0XzgwMDAwMF9WID0gIDQ4MDAwMDAsCisJUE1JQ19BRFBUX1ZPTFRfMDRfOTUwMDAwX1YgPSAgNDk1MDAwMCwKKwlQTUlDX0FEUFRfVk9MVF8wNV8xNTAwMDBfViA9ICA1MTUwMDAwLAorCVBNSUNfQURQVF9WT0xUXzA1XzI1MDAwMF9WID0gIDUyNTAwMDAsCisJUE1JQ19BRFBUX1ZPTFRfMDVfMDAwMDAwX1YgPSAgNTAwMDAwMCwKKwlQTUlDX0FEUFRfVk9MVF8wNl8wMDAwMDBfViA9ICA2MDAwMDAwLAorCVBNSUNfQURQVF9WT0xUXzA2XzUwMDAwMF9WID0gIDY1MDAwMDAsCisJUE1JQ19BRFBUX1ZPTFRfMDZfNzUwMDAwX1YgPSAgNjc1MDAwMCwKKwlQTUlDX0FEUFRfVk9MVF8wN18wMDAwMDBfViA9ICA3MDAwMDAwLAorCVBNSUNfQURQVF9WT0xUXzA3XzI1MDAwMF9WID0gIDcyNTAwMDAsCisJUE1JQ19BRFBUX1ZPTFRfMDdfNTAwMDAwX1YgPSAgNzUwMDAwMCwKKwlQTUlDX0FEUFRfVk9MVF8wOF8wMDAwMDBfViA9ICA4MDAwMDAwLAorCVBNSUNfQURQVF9WT0xUXzA4XzUwMDAwMF9WID0gIDg1MDAwMDAsCisJUE1JQ19BRFBUX1ZPTFRfMDlfNTAwMDAwX1YgPSAgOTUwMDAwMCwKKwlQTUlDX0FEUFRfVk9MVF8xMF8wMDAwMDBfViA9IDEwMDAwMDAwLAorCisKKworCS8vIEJhY2t3YXJkIGNvbXBhdGlibGUKKwlQTUlDX0FEUFRfVk9MVF8wXzAgICAgICAgID0gICAgICAgIDAsCisJUE1JQ19BRFBUX1ZPTFRfMF8xICAgICAgICA9ICAgMTAwMDAwLAorCVBNSUNfQURQVF9WT0xUXzBfMiAgICAgICAgPSAgIDIwMDAwMCwKKwlQTUlDX0FEUFRfVk9MVF8wXzMgICAgICAgID0gICAzMDAwMDAsCisJUE1JQ19BRFBUX1ZPTFRfMF80ICAgICAgICA9ICAgNDAwMDAwLAorCVBNSUNfQURQVF9WT0xUXzBfNSAgICAgICAgPSAgIDUwMDAwMCwKKwlQTUlDX0FEUFRfVk9MVF8wXzYgICAgICAgID0gICA2MDAwMDAsCisJUE1JQ19BRFBUX1ZPTFRfMF83ICAgICAgICA9ICAgNzAwMDAwLAorCVBNSUNfQURQVF9WT0xUXzBfOCAgICAgICAgPSAgIDgwMDAwMCwKKwlQTUlDX0FEUFRfVk9MVF8wXzkgICAgICAgID0gICA5MDAwMDAsCisJUE1JQ19BRFBUX1ZPTFRfMV8wICAgICAgICA9ICAxMDAwMDAwLAorCVBNSUNfQURQVF9WT0xUXzFfMSAgICAgICAgPSAgMTEwMDAwMCwKKwlQTUlDX0FEUFRfVk9MVF8xXzIgICAgICAgID0gIDEyMDAwMDAsCisJUE1JQ19BRFBUX1ZPTFRfMV8zICAgICAgICA9ICAxMzAwMDAwLAorCVBNSUNfQURQVF9WT0xUXzFfNCAgICAgICAgPSAgMTQwMDAwMCwKKwlQTUlDX0FEUFRfVk9MVF8xXzUgICAgICAgID0gIDE1MDAwMDAsCisJUE1JQ19BRFBUX1ZPTFRfMV82ICAgICAgICA9ICAxNjAwMDAwLAorCVBNSUNfQURQVF9WT0xUXzFfNyAgICAgICAgPSAgMTcwMDAwMCwKKwlQTUlDX0FEUFRfVk9MVF8xXzggICAgICAgID0gIDE4MDAwMDAsCisJUE1JQ19BRFBUX1ZPTFRfMV85ICAgICAgICA9ICAxOTAwMDAwLAorCVBNSUNfQURQVF9WT0xUXzJfMCAgICAgICAgPSAgMjAwMDAwMCwKKwlQTUlDX0FEUFRfVk9MVF8yXzEgICAgICAgID0gIDIxMDAwMDAsCisJUE1JQ19BRFBUX1ZPTFRfMl8yICAgICAgICA9ICAyMjAwMDAwLAorCVBNSUNfQURQVF9WT0xUXzJfMyAgICAgICAgPSAgMjMwMDAwMCwKKwlQTUlDX0FEUFRfVk9MVF8yXzQgICAgICAgID0gIDI0MDAwMDAsCisJUE1JQ19BRFBUX1ZPTFRfMl81ICAgICAgICA9ICAyNTAwMDAwLAorCVBNSUNfQURQVF9WT0xUXzJfNiAgICAgICAgPSAgMjYwMDAwMCwKKwlQTUlDX0FEUFRfVk9MVF8yXzcgICAgICAgID0gIDI3MDAwMDAsCisJUE1JQ19BRFBUX1ZPTFRfMl84ICAgICAgICA9ICAyODAwMDAwLAorCVBNSUNfQURQVF9WT0xUXzJfOSAgICAgICAgPSAgMjkwMDAwMCwKKwlQTUlDX0FEUFRfVk9MVF8zXzAgICAgICAgID0gIDMwMDAwMDAsCisJUE1JQ19BRFBUX1ZPTFRfM18xICAgICAgICA9ICAzMTAwMDAwLAorCVBNSUNfQURQVF9WT0xUXzNfMiAgICAgICAgPSAgMzIwMDAwMCwKKwlQTUlDX0FEUFRfVk9MVF8zXzMgICAgICAgID0gIDMzMDAwMDAsCisJUE1JQ19BRFBUX1ZPTFRfM180ICAgICAgICA9ICAzNDAwMDAwLAorCVBNSUNfQURQVF9WT0xUXzNfNSAgICAgICAgPSAgMzUwMDAwMCwKKwlQTUlDX0FEUFRfVk9MVF8zXzYgICAgICAgID0gIDM2MDAwMDAsCisJUE1JQ19BRFBUX1ZPTFRfM183ICAgICAgICA9ICAzNzAwMDAwLAorCVBNSUNfQURQVF9WT0xUXzNfOCAgICAgICAgPSAgMzgwMDAwMCwKKwlQTUlDX0FEUFRfVk9MVF8zXzkgICAgICAgID0gIDM5MDAwMDAsCisJUE1JQ19BRFBUX1ZPTFRfNF8wICAgICAgICA9ICA0MDAwMDAwLAorCVBNSUNfQURQVF9WT0xUXzRfMSAgICAgICAgPSAgNDEwMDAwMCwKKwlQTUlDX0FEUFRfVk9MVF80XzIgICAgICAgID0gIDQyMDAwMDAsCisJUE1JQ19BRFBUX1ZPTFRfNF8zICAgICAgICA9ICA0MzAwMDAwLAorCVBNSUNfQURQVF9WT0xUXzRfNCAgICAgICAgPSAgNDQwMDAwMCwKKwlQTUlDX0FEUFRfVk9MVF80XzUgICAgICAgID0gIDQ1MDAwMDAsCisJUE1JQ19BRFBUX1ZPTFRfNF82ICAgICAgICA9ICA0NjAwMDAwLAorCVBNSUNfQURQVF9WT0xUXzRfNyAgICAgICAgPSAgNDcwMDAwMCwKKwlQTUlDX0FEUFRfVk9MVF80XzggICAgICAgID0gIDQ4MDAwMDAsCisJUE1JQ19BRFBUX1ZPTFRfNF85ICAgICAgICA9ICA0OTAwMDAwLAorCVBNSUNfQURQVF9WT0xUXzVfMCAgICAgICAgPSAgNTAwMDAwMCwKKwlQTUlDX0FEUFRfVk9MVF81XzEgICAgICAgID0gIDUxMDAwMDAsCisJUE1JQ19BRFBUX1ZPTFRfNV8yICAgICAgICA9ICA1MjAwMDAwLAorCVBNSUNfQURQVF9WT0xUXzVfMyAgICAgICAgPSAgNTMwMDAwMCwKKwlQTUlDX0FEUFRfVk9MVF81XzQgICAgICAgID0gIDU0MDAwMDAsCisJUE1JQ19BRFBUX1ZPTFRfNV81ICAgICAgICA9ICA1NTAwMDAwLAorCVBNSUNfQURQVF9WT0xUXzVfNiAgICAgICAgPSAgNTYwMDAwMCwKKwlQTUlDX0FEUFRfVk9MVF81XzcgICAgICAgID0gIDU3MDAwMDAsCisJUE1JQ19BRFBUX1ZPTFRfNV84ICAgICAgICA9ICA1ODAwMDAwLAorCVBNSUNfQURQVF9WT0xUXzVfOSAgICAgICAgPSAgNTkwMDAwMCwKKwlQTUlDX0FEUFRfVk9MVF82XzAgICAgICAgID0gIDYwMDAwMDAsCisJUE1JQ19BRFBUX1ZPTFRfNl8xICAgICAgICA9ICA2MTAwMDAwLAorCVBNSUNfQURQVF9WT0xUXzZfMiAgICAgICAgPSAgNjIwMDAwMCwKKwlQTUlDX0FEUFRfVk9MVF82XzMgICAgICAgID0gIDYzMDAwMDAsCisJUE1JQ19BRFBUX1ZPTFRfNl80ICAgICAgICA9ICA2NDAwMDAwLAorCVBNSUNfQURQVF9WT0xUXzZfNSAgICAgICAgPSAgNjUwMDAwMCwKKwlQTUlDX0FEUFRfVk9MVF82XzYgICAgICAgID0gIDY2MDAwMDAsCisJUE1JQ19BRFBUX1ZPTFRfNl83ICAgICAgICA9ICA2NzAwMDAwLAorCVBNSUNfQURQVF9WT0xUXzZfOCAgICAgICAgPSAgNjgwMDAwMCwKKwlQTUlDX0FEUFRfVk9MVF82XzkgICAgICAgID0gIDY5MDAwMDAsCisJUE1JQ19BRFBUX1ZPTFRfN18wICAgICAgICA9ICA3MDAwMDAwLAorCVBNSUNfQURQVF9WT0xUXzdfMSAgICAgICAgPSAgNzEwMDAwMCwKKwlQTUlDX0FEUFRfVk9MVF83XzIgICAgICAgID0gIDcyMDAwMDAsCisJUE1JQ19BRFBUX1ZPTFRfN18zICAgICAgICA9ICA3MzAwMDAwLAorCVBNSUNfQURQVF9WT0xUXzdfNCAgICAgICAgPSAgNzQwMDAwMCwKKwlQTUlDX0FEUFRfVk9MVF83XzUgICAgICAgID0gIDc1MDAwMDAsCisJUE1JQ19BRFBUX1ZPTFRfN182ICAgICAgICA9ICA3NjAwMDAwLAorCVBNSUNfQURQVF9WT0xUXzdfNyAgICAgICAgPSAgNzcwMDAwMCwKKwlQTUlDX0FEUFRfVk9MVF83XzggICAgICAgID0gIDc4MDAwMDAsCisJUE1JQ19BRFBUX1ZPTFRfN185ICAgICAgICA9ICA3OTAwMDAwLAorCVBNSUNfQURQVF9WT0xUXzhfMCAgICAgICAgPSAgODAwMDAwMCwKKworCVBNSUNfQURQVF9WT0xUX01BWCAgICAgICAgID0gNTAwMDAwMDAKKworfXBtaWNfYWRwdF92b2x0YWdlX2VudW07CisKKworLy8gVW5pZmllZCBQTUlDIHNwZWFrZXIgdm9sdW1lIGRhdGEgdHlwZQordHlwZWRlZiBlbnVtCit7CisJUE1JQ19BRFBUX1NQS19WT0xfMDBfMDBfZEIgICAgPSAgICAwLAorCVBNSUNfQURQVF9TUEtfVk9MXzAwXzUwX2RCICAgID0gICA1MCwKKwlQTUlDX0FEUFRfU1BLX1ZPTF8wMV8wMF9kQiAgICA9ICAxMDAsCisJUE1JQ19BRFBUX1NQS19WT0xfMDFfNTBfZEIgICAgPSAgMTUwLAorCVBNSUNfQURQVF9TUEtfVk9MXzAyXzAwX2RCICAgID0gIDIwMCwKKwlQTUlDX0FEUFRfU1BLX1ZPTF8wMl81MF9kQiAgICA9ICAyNTAsCisJUE1JQ19BRFBUX1NQS19WT0xfMDNfMDBfZEIgICAgPSAgMzAwLAorCVBNSUNfQURQVF9TUEtfVk9MXzAzXzUwX2RCICAgID0gIDM1MCwKKwlQTUlDX0FEUFRfU1BLX1ZPTF8wNF8wMF9kQiAgICA9ICA0MDAsCisJUE1JQ19BRFBUX1NQS19WT0xfMDRfNTBfZEIgICAgPSAgNDUwLAorCVBNSUNfQURQVF9TUEtfVk9MXzA1XzAwX2RCICAgID0gIDUwMCwKKwlQTUlDX0FEUFRfU1BLX1ZPTF8wNV81MF9kQiAgICA9ICA1NTAsCisJUE1JQ19BRFBUX1NQS19WT0xfMDZfMDBfZEIgICAgPSAgNjAwLAorCVBNSUNfQURQVF9TUEtfVk9MXzA2XzUwX2RCICAgID0gIDY1MCwKKwlQTUlDX0FEUFRfU1BLX1ZPTF8wN18wMF9kQiAgICA9ICA3MDAsCisJUE1JQ19BRFBUX1NQS19WT0xfMDdfNTBfZEIgICAgPSAgNzUwLAorCVBNSUNfQURQVF9TUEtfVk9MXzA4XzAwX2RCICAgID0gIDgwMCwKKwlQTUlDX0FEUFRfU1BLX1ZPTF8wOF81MF9kQiAgICA9ICA4NTAsCisJUE1JQ19BRFBUX1NQS19WT0xfMDlfMDBfZEIgICAgPSAgOTAwLAorCVBNSUNfQURQVF9TUEtfVk9MXzA5XzUwX2RCICAgID0gIDk1MCwKKwlQTUlDX0FEUFRfU1BLX1ZPTF8xMF8wMF9kQiAgICA9IDEwMDAsCisJUE1JQ19BRFBUX1NQS19WT0xfMTBfNTBfZEIgICAgPSAxMDUwLAorCVBNSUNfQURQVF9TUEtfVk9MXzExXzAwX2RCICAgID0gMTEwMCwKKwlQTUlDX0FEUFRfU1BLX1ZPTF8xMV81MF9kQiAgICA9IDExNTAsCisJUE1JQ19BRFBUX1NQS19WT0xfMTJfMDBfZEIgICAgPSAxMjAwLAorCVBNSUNfQURQVF9TUEtfVk9MXzEyXzUwX2RCICAgID0gMTI1MCwKKwlQTUlDX0FEUFRfU1BLX1ZPTF8xM18wMF9kQiAgICA9IDEzMDAsCisJUE1JQ19BRFBUX1NQS19WT0xfMTNfNTBfZEIgICAgPSAxMzUwLAorCVBNSUNfQURQVF9TUEtfVk9MXzE0XzAwX2RCICAgID0gMTQwMCwKKwlQTUlDX0FEUFRfU1BLX1ZPTF8xNF81MF9kQiAgICA9IDE0NTAsCisJUE1JQ19BRFBUX1NQS19WT0xfMTVfMDBfZEIgICAgPSAxNTAwLAorCVBNSUNfQURQVF9TUEtfVk9MXzE1XzUwX2RCICAgID0gMTU1MCwKKwlQTUlDX0FEUFRfU1BLX1ZPTF8xNl8wMF9kQiAgICA9IDE2MDAsCisJUE1JQ19BRFBUX1NQS19WT0xfMTZfNTBfZEIgICAgPSAxNjUwLAorCVBNSUNfQURQVF9TUEtfVk9MXzE3XzAwX2RCICAgID0gMTcwMCwKKwlQTUlDX0FEUFRfU1BLX1ZPTF8xN181MF9kQiAgICA9IDE3NTAsCisJUE1JQ19BRFBUX1NQS19WT0xfMThfMDBfZEIgICAgPSAxODAwLAorCVBNSUNfQURQVF9TUEtfVk9MXzE4XzUwX2RCICAgID0gMTg1MCwKKwlQTUlDX0FEUFRfU1BLX1ZPTF8xOV8wMF9kQiAgICA9IDE5MDAsCisJUE1JQ19BRFBUX1NQS19WT0xfMTlfNTBfZEIgICAgPSAxOTUwLAorCVBNSUNfQURQVF9TUEtfVk9MXzIwXzAwX2RCICAgID0gMjAwMCwKKwlQTUlDX0FEUFRfU1BLX1ZPTF8yMF81MF9kQiAgICA9IDIwNTAsCisJUE1JQ19BRFBUX1NQS19WT0xfMjFfMDBfZEIgICAgPSAyMTAwLAorCVBNSUNfQURQVF9TUEtfVk9MXzIxXzUwX2RCICAgID0gMjE1MCwKKwlQTUlDX0FEUFRfU1BLX1ZPTF8yMl8wMF9kQiAgICA9IDIyMDAsCisJUE1JQ19BRFBUX1NQS19WT0xfMjJfNTBfZEIgICAgPSAyMjUwLAorCVBNSUNfQURQVF9TUEtfVk9MXzIzXzAwX2RCICAgID0gMjMwMCwKKwlQTUlDX0FEUFRfU1BLX1ZPTF8yM181MF9kQiAgICA9IDIzNTAsCisJUE1JQ19BRFBUX1NQS19WT0xfMjRfMDBfZEIgICAgPSAyNDAwLAorCVBNSUNfQURQVF9TUEtfVk9MXzI0XzUwX2RCICAgID0gMjQ1MCwKKworCisJUE1JQ19BRFBUX1NQS19WT0xfMF9kQiAgICA9ICAgIDAsCisJUE1JQ19BRFBUX1NQS19WT0xfMV9kQiAgICA9ICAxMDAsCisJUE1JQ19BRFBUX1NQS19WT0xfMl9kQiAgICA9ICAyMDAsCisJUE1JQ19BRFBUX1NQS19WT0xfM19kQiAgICA9ICAzMDAsCisJUE1JQ19BRFBUX1NQS19WT0xfNF9kQiAgICA9ICA0MDAsCisJUE1JQ19BRFBUX1NQS19WT0xfNV9kQiAgICA9ICA1MDAsCisJUE1JQ19BRFBUX1NQS19WT0xfNl9kQiAgICA9ICA2MDAsCisJUE1JQ19BRFBUX1NQS19WT0xfN19kQiAgICA9ICA3MDAsCisJUE1JQ19BRFBUX1NQS19WT0xfOF9kQiAgICA9ICA4MDAsCisJUE1JQ19BRFBUX1NQS19WT0xfOV9kQiAgICA9ICA5MDAsCisJUE1JQ19BRFBUX1NQS19WT0xfMTBfZEIgICA9IDEwMDAsCisJUE1JQ19BRFBUX1NQS19WT0xfMTFfZEIgICA9IDExMDAsCisJUE1JQ19BRFBUX1NQS19WT0xfMTJfZEIgICA9IDEyMDAsCisJUE1JQ19BRFBUX1NQS19WT0xfMTNfZEIgICA9IDEzMDAsCisJUE1JQ19BRFBUX1NQS19WT0xfMTRfZEIgICA9IDE0MDAsCisJUE1JQ19BRFBUX1NQS19WT0xfMTVfZEIgICA9IDE1MDAsCisJUE1JQ19BRFBUX1NQS19WT0xfMTZfZEIgICA9IDE2MDAsCisJUE1JQ19BRFBUX1NQS19WT0xfMTdfZEIgICA9IDE3MDAsCisJUE1JQ19BRFBUX1NQS19WT0xfMThfZEIgICA9IDE4MDAsCisJUE1JQ19BRFBUX1NQS19WT0xfMTlfZEIgICA9IDE5MDAsCisJUE1JQ19BRFBUX1NQS19WT0xfMjBfZEIgICA9IDIwMDAsCisJUE1JQ19BRFBUX1NQS19WT0xfMjFfZEIgICA9IDIxMDAsCisJUE1JQ19BRFBUX1NQS19WT0xfMjJfZEIgICA9IDIyMDAsCisJUE1JQ19BRFBUX1NQS19WT0xfMjNfZEIgICA9IDIzMDAsCisJUE1JQ19BRFBUX1NQS19WT0xfMjRfZEIgICA9IDI0MDAsCisKKwlQTUlDX0FEUFRfU1BLX1ZPTF9NQVggICAgID0gOTkwMAorfXBtaWNfYWRwdF9zcGtfdm9sX2VudW07CisKKyNlbmRpZiAvLyNkZWZpbmUgUE1JQ19PTERfU1RSVUNUVVJFCisKK3R5cGVkZWYgZW51bQoreworICAgQUNfQ0hSX0NBTExCQUNLPTAsCisgICBVU0JfQ0hSX0NBTExCQUNLCit9Y2hyX2NhbGxiYWNrX3R5cGU7CisKK3R5cGVkZWYgc3RydWN0IAoreworCXZvaWQgKCpwbWljX2FjX2RldCkodm9pZCk7CisJdm9pZCAoKnBtaWNfdXNiX2RldCkodm9pZCk7IAorfXBtaWM2MzI2X2NocmRlY3RfY2FsbGJhY19zdHJ1Y3Q7CisKKworCisvLyBUVFRUVFRUVFRUVFRUVFRUVAorLy8gSW1wbGVtZW50ZWQgZnVuY3Rpb25zCisKKworCisvLyAoMHgwRCkgSU5UIFNUQVRVUyAzIChSTykKK3R5cGVkZWYgZW51bQoreworCVZTRElPX09DX1NUQVQgCQkJPSAweDAxLAkvLyBCSVQwCisJVkdQX09DX1NUQVQgCQkJPSAweDAyLAkvLyBCSVQxCisJVlVTQl9PQ19TVEFUIAkJCT0gMHgwNCwJLy8gQklUMgorCU9WUF9JTlRfU1RBVCAJCQk9IDB4MDgsCS8vIEJJVDMKKwlDSFJERVRfSU5UX1NUQVQJCT0gMHgxMCwJLy8gQklUNAorCVBXUktFWV9JTlRfU1RBVCA9IDB4MjAgLy8gQklUNQorfWludF9zdGF0ZV8zX2VudW07CisKKworLy8gKDB4MUIpIExETyBDVFJMIDIgVlJGCit0eXBlZGVmIGVudW0KK3sKKwlWUkZfQklBU19DVVJSRU5UX1RJTUVTXzFfMCA9IDAsCisJVlJGX0JJQVNfQ1VSUkVOVF9USU1FU18wXzUsCisJVlJGX0JJQVNfQ1VSUkVOVF9USU1FU18yXzAsCisJVlJGX0JJQVNfQ1VSUkVOVF9USU1FU18zXzAKK312cmZfaWNhbF9lbl9lbnVtOworCisvLyAoMHgxQykgTERPIENUUkwgMyBWUkYKK3R5cGVkZWYgZW51bQoreworCVZSRl9NQVhfU0xFV19SQVRFX1RJTUVTXzFfT1ZFUl8xNyA9IDAsCisJVlJGX01BWF9TTEVXX1JBVEVfVElNRVNfMV9PVkVSXzIxLAorCVZSRl9NQVhfU0xFV19SQVRFLAorCVZSRl9NQVhfU0xFV19SQVRFX1RJTUVTXzFfT1ZFUl81Cit9dnJmX2NhbHN0X2VudW07Cit0eXBlZGVmIGVudW0KK3sKKwlWUkZfT0NfVEhSRVNIT0xEXzY4NU1BID0gMCwKKwlWUkZfT0NfVEhSRVNIT0xEXzYzNU1BLAorCVZSRl9PQ19USFJFU0hPTERfNzg1TUEsCisJVlJGX09DX1RIUkVTSE9MRF83MzVNQQorfXZyZl9jYWxvY19lbnVtOworCit0eXBlZGVmIGVudW0KK3sKKwlWUkZfREVGQVVMVF9NSUxMRVJfQ0FQQUNJVE9SID0gMCwKKwlWUkZfSU5DUkVBU0VfTUlMTEVSX0NBUEFDSVRPUgorfXZyZl9jbV9lbnVtOworCit0eXBlZGVmIGVudW0KK3sKKwlWUkZfRU5BQkxFX1dJVEhfU1JDTEtFTiA9IDAsCisJVlJGX0VOQUJMRV9XSVRIX1ZSRl9FTgorfXZyZl9vbl9zZWxfZW51bTsKKworCisvLyAoMHgxRSkgTERPIENUUkwgNSBWVENYTwordHlwZWRlZiBlbnVtCit7CisJVlRDWE9fQklBU19DVVJSRU5UX1RJTUVTXzFfMCA9IDAsCisJVlRDWE9fQklBU19DVVJSRU5UX1RJTUVTXzBfNSwKKwlWVENYT19CSUFTX0NVUlJFTlRfVElNRVNfMl8wLAorCVZUQ1hPX0JJQVNfQ1VSUkVOVF9USU1FU18zXzAKK312dGN4b19pY2FsX2VuX2VudW07CisKKworLy8gKDB4MUYpIExETyBDVFJMIDYgVlRDWE8KK3R5cGVkZWYgZW51bQoreworCVZUQ1hPX01BWF9TTEVXX1JBVEVfVElNRVNfMV9PVkVSXzE3ID0gMCwKKwlWVENYT19NQVhfU0xFV19SQVRFX1RJTUVTXzFfT1ZFUl8yMSwKKwlWVENYT19NQVhfU0xFV19SQVRFLAorCVZUQ1hPX01BWF9TTEVXX1JBVEVfVElNRVNfMV9PVkVSXzUKK312dGN4b19jYWxzdF9lbnVtOwordHlwZWRlZiBlbnVtCit7CisJVlRDWE9fT0NfVEhSRVNIT0xEXzEwME1BID0gMCwKKwlWVENYT19PQ19USFJFU0hPTERfMTA5TUEsCisJVlRDWE9fT0NfVEhSRVNIT0xEXzgyTUEsCisJVlRDWE9fT0NfVEhSRVNIT0xEXzkxTUEKK312dGN4b19jYWxvY19lbnVtOworCit0eXBlZGVmIGVudW0KK3sKKwlWVENYT19FTkFCTEVfV0lUSF9TUkNMS0VOID0gMCwKKwlWVENYT19FTkFCTEVfV0lUSF9WVENYT19FTgorfXZ0Y3hvX29uX3NlbF9lbnVtOworCit0eXBlZGVmIGVudW0KK3sKKwlWVENYT19ERUZBVUxUX01JTExFUl9DQVBBQ0lUT1IgPSAwLAorCVZUQ1hPX0lOQ1JFQVNFX01JTExFUl9DQVBBQ0lUT1IKK312dGN4b19jbV9lbnVtOworCisvLyAoMHgyMSkgTERPIENUUkwgOCBWM0dUWAordHlwZWRlZiBlbnVtCit7CisJVjNHVFhfQklBU19DVVJSRU5UX1RJTUVTXzFfMCA9IDAsCisJVjNHVFhfQklBU19DVVJSRU5UX1RJTUVTXzBfNSwKKwlWM0dUWF9CSUFTX0NVUlJFTlRfVElNRVNfMl8wLAorCVYzR1RYX0JJQVNfQ1VSUkVOVF9USU1FU18zXzAKK312M2d0eF9pY2FsX2VuX2VudW07CisKK3R5cGVkZWYgZW51bSAKK3sgICAKKwlWM0dUWF8yXzg9MCwKKwlWM0dUWF8zXzAsCisJVjNHVFhfM18zLAorCVYzR1RYXzJfNQorfXYzZ3R4X3ZvbDsKKworCisvLyAoMHgyMikgTERPIENUUkwgOSBWM0dUWAordHlwZWRlZiBlbnVtCit7CisJVjNHVFhfTUFYX1NMRVdfUkFURV9USU1FU18xX09WRVJfMTcgPSAwLAorCVYzR1RYX01BWF9TTEVXX1JBVEVfVElNRVNfMV9PVkVSXzIxLAorCVYzR1RYX01BWF9TTEVXX1JBVEUsCisJVjNHVFhfTUFYX1NMRVdfUkFURV9USU1FU18xX09WRVJfNQorfXYzZ3R4X2NhbHN0X2VudW07CisKK3R5cGVkZWYgZW51bQoreworCVYzR1RYX09DX1RIUkVTSE9MRF80MDBNQSA9IDAsCisJVjNHVFhfT0NfVEhSRVNIT0xEXzQzOE1BLAorCVYzR1RYX09DX1RIUkVTSE9MRF8zMjRNQSwKKwlWM0dUWF9PQ19USFJFU0hPTERfMzYyTUEKK312M2d0eF9jYWxvY19lbnVtOworCit0eXBlZGVmIGVudW0KK3sKKwlWM0dUWF9FTkFCTEVfV0lUSF9TUkNMS0VOID0gMCwKKwlWM0dUWF9FTkFCTEVfV0lUSF9WM0dUWF9FTgorfXYzZ3R4X29uX3NlbF9lbnVtOworCisKKy8vICgweDI0KSBMRE8gQ1RSTCAxMSBWM0dSWAordHlwZWRlZiBlbnVtIAoreyAgIAorCVYzR1JYXzJfOD0wLAorCVYzR1JYXzNfMCwKKwlWM0dSWF8zXzMsCisJVjNHUlhfMl81Cit9djNncnhfdm9sOworCit0eXBlZGVmIGVudW0KK3sKKwlWM0dSWF9CSUFTX0NVUlJFTlRfVElNRVNfMV8wID0gMCwKKwlWM0dSWF9CSUFTX0NVUlJFTlRfVElNRVNfMF81LAorCVYzR1JYX0JJQVNfQ1VSUkVOVF9USU1FU18yXzAsCisJVjNHUlhfQklBU19DVVJSRU5UX1RJTUVTXzNfMAorfXYzZ3J4X2ljYWxfZW5fZW51bTsKKworCisvLyAoMHgyNSkgTERPIENUUkwgMTIgVjNHUlgKK3R5cGVkZWYgZW51bQoreworCVYzR1JYX01BWF9TTEVXX1JBVEVfVElNRVNfMV9PVkVSXzE3ID0gMCwKKwlWM0dSWF9NQVhfU0xFV19SQVRFX1RJTUVTXzFfT1ZFUl8yMSwKKwlWM0dSWF9NQVhfU0xFV19SQVRFLAorCVYzR1JYX01BWF9TTEVXX1JBVEVfVElNRVNfMV9PVkVSXzUKK312M2dyeF9jYWxzdF9lbnVtOworCit0eXBlZGVmIGVudW0KK3sKKwlWM0dSWF9PQ19USFJFU0hPTERfMjAwTUEgPSAwLAorCVYzR1JYX09DX1RIUkVTSE9MRF8yMTlNQSwKKwlWM0dSWF9PQ19USFJFU0hPTERfMTYyTUEsCisJVjNHUlhfT0NfVEhSRVNIT0xEXzE4MU1BCit9djNncnhfY2Fsb2NfZW51bTsKKworCit0eXBlZGVmIGVudW0KK3sKKwlWM0dSWF9FTkFCTEVfV0lUSF9TUkNMS0VOID0gMCwKKwlWM0dSWF9FTkFCTEVfV0lUSF9WM0dSWF9FTgorfXYzZ3J4X29uX3NlbF9lbnVtOworCisKKy8vICgweDJFKSBMRE8gQ1RSTCAyMSBWQ0FNQQordHlwZWRlZiBlbnVtCit7CisJVkNBTUFfMl84ID0gMCwKKwlWQ0FNQV8yXzUsCisJVkNBTUFfMV84LAorCVZDQU1BXzFfNQorfXZjYW1hX3NlbF9lbnVtOwordHlwZWRlZiBlbnVtCit7CisJVkNBTUFfQklBU19DVVJSRU5UX1hfMV8wID0gMCwKKwlWQ0FNQV9CSUFTX0NVUlJFTlRfWF8wXzUsCisJVkNBTUFfQklBU19DVVJSRU5UX1hfMl8wLAorCVZDQU1BX0JJQVNfQ1VSUkVOVF9YXzNfMAorfXZjYW1hX2ljYWxfZW5fZW51bTsKKworLy8gKDB4MkYpIExETyBDVFJMIDIyIFZDQU1BCit0eXBlZGVmIGVudW0KK3sKKwlWQ0FNQV9NQVhfU0xFV19SQVRFX1RJTUVTXzFfT1ZFUl8xNyA9IDAsCisJVkNBTUFfTUFYX1NMRVdfUkFURV9USU1FU18xX09WRVJfMjEsCisJVkNBTUFfTUFYX1NMRVdfUkFURSwKKwlWQ0FNQV9NQVhfU0xFV19SQVRFX1RJTUVTXzFfT1ZFUl81Cit9dmNhbWFfY2Fsc3RfZW51bTsKK3R5cGVkZWYgZW51bQoreworCVZDQU1BX09DX1RIUkVTSE9MRF81MDBNQSA9IDAsCisJVkNBTUFfT0NfVEhSRVNIT0xEXzU0OE1BLAorCVZDQU1BX09DX1RIUkVTSE9MRF80MDVNQSwKKwlWQ0FNQV9PQ19USFJFU0hPTERfNDUyTUEKK312Y2FtYV9jYWxvY19lbnVtOworCit0eXBlZGVmIGVudW0KK3sKKwlWQ0FNQV9ERUZBVUxUX01JTExFUl9DQVBBQ0lUT1IgPSAwLAorCVZDQU1BX0lOQ1JFQVNFX01JTExFUl9DQVBBQ0lUT1IKK312Y2FtYV9jbV9lbnVtOworCisvLyAoMHgzMSkgTERPIENUUkwgMjQgVldJRkkzVjMKK3R5cGVkZWYgZW51bQoreworCVZXSUZJM1YzXzJfOCA9IDAsCisJVldJRkkzVjNfM18wLAorCVZXSUZJM1YzXzNfMywKKwlWV0lGSTNWM18yXzUKK312d2lmaTN2M19zZWxfZW51bTsKK3R5cGVkZWYgZW51bQoreworCVZXSUZJM1YzX0JJQVNfQ1VSUkVOVF9YXzFfMCA9IDAsCisJVldJRkkzVjNfQklBU19DVVJSRU5UX1hfMF81LAorCVZXSUZJM1YzX0JJQVNfQ1VSUkVOVF9YXzJfMCwKKwlWV0lGSTNWM19CSUFTX0NVUlJFTlRfWF8zXzAKK312d2lmaTN2M19pY2FsX2VuX2VudW07CisKKy8vICgweDMyKSBMRE8gQ1RSTCAyNSBWV0lGSTNWMwordHlwZWRlZiBlbnVtCit7CisJVldJRkkzVjNfTUFYX1NMRVdfUkFURV9USU1FU18xX09WRVJfMTcgPSAwLAorCVZXSUZJM1YzX01BWF9TTEVXX1JBVEVfVElNRVNfMV9PVkVSXzIxLAorCVZXSUZJM1YzX01BWF9TTEVXX1JBVEUsCisJVldJRkkzVjNfTUFYX1NMRVdfUkFURV9USU1FU18xX09WRVJfNQorfXZ3aWZpM3YzX2NhbHN0X2VudW07Cit0eXBlZGVmIGVudW0KK3sKKwlWV0lGSTNWM19PQ19USFJFU0hPTERfNjAwTUEgPSAwLAorCVZXSUZJM1YzX09DX1RIUkVTSE9MRF82NTdNQSwKKwlWV0lGSTNWM19PQ19USFJFU0hPTERfNDg2TUEsCisJVldJRkkzVjNfT0NfVEhSRVNIT0xEXzU0M01BCit9dndpZmkzdjNfY2Fsb2NfZW51bTsKKwordHlwZWRlZiBlbnVtCit7CisJVldJRkkzVjNfREVGQVVMVF9NSUxMRVJfQ0FQQUNJVE9SID0gMCwKKwlWV0lGSTNWM19JTkNSRUFTRV9NSUxMRVJfQ0FQQUNJVE9SCit9dndpZmkzdjNfY21fZW51bTsKKworLy8gKDB4MzQpIExETyBDVFJMIDI3IFZXSUZJMlY4Cit0eXBlZGVmIGVudW0KK3sKKwlWV0lGSTJWOF8yXzggPSAwLAorCVZXSUZJMlY4XzNfMCwKKwlWV0lGSTJWOF8zXzMsCisJVldJRkkyVjhfMl81Cit9dndpZmkydjhfc2VsX2VudW07Cit0eXBlZGVmIGVudW0KK3sKKwlWV0lGSTJWOF9CSUFTX0NVUlJFTlRfWF8xXzAgPSAwLAorCVZXSUZJMlY4X0JJQVNfQ1VSUkVOVF9YXzBfNSwKKwlWV0lGSTJWOF9CSUFTX0NVUlJFTlRfWF8yXzAsCisJVldJRkkyVjhfQklBU19DVVJSRU5UX1hfM18wCit9dndpZmkydjhfaWNhbF9lbl9lbnVtOworCisvLyAoMHgzNSkgTERPIENUUkwgMjggVldJRkkyVjgKK3R5cGVkZWYgZW51bQoreworCVZXSUZJMlY4X01BWF9TTEVXX1JBVEVfVElNRVNfMV9PVkVSXzE3ID0gMCwKKwlWV0lGSTJWOF9NQVhfU0xFV19SQVRFX1RJTUVTXzFfT1ZFUl8yMSwKKwlWV0lGSTJWOF9NQVhfU0xFV19SQVRFLAorCVZXSUZJMlY4X01BWF9TTEVXX1JBVEVfVElNRVNfMV9PVkVSXzUKK312d2lmaTJ2OF9jYWxzdF9lbnVtOwordHlwZWRlZiBlbnVtCit7CisJVldJRkkyVjhfT0NfVEhSRVNIT0xEXzMwME1BID0gMCwKKwlWV0lGSTJWOF9PQ19USFJFU0hPTERfMzI5TUEsCisJVldJRkkyVjhfT0NfVEhSRVNIT0xEXzI0M01BLAorCVZXSUZJMlY4X09DX1RIUkVTSE9MRF8yNzFNQQorfXZ3aWZpMnY4X2NhbG9jX2VudW07CisKK3R5cGVkZWYgZW51bQoreworCVZXSUZJMlY4X0RFRkFVTFRfTUlMTEVSX0NBUEFDSVRPUiA9IDAsCisJVldJRkkyVjhfSU5DUkVBU0VfTUlMTEVSX0NBUEFDSVRPUgorfXZ3aWZpMnY4X2NtX2VudW07CisKKy8vICgweDM3KSBMRE8gQ1RSTCAzMCBWU0lNCit0eXBlZGVmIGVudW0KK3sKKwlWU0lNXzFfM1YgPSAwLAorCVZTSU1fMV81ViwKKwlWU0lNXzFfOFYsCisJVlNJTV8yXzVWLAorCVZTSU1fMl84ViwKKwlWU0lNXzNfMFYsCisJVlNJTV8zXzNWLAorCVZTSU1fMV8yVgorfXZzaW1fc2VsX2VudW07Cit0eXBlZGVmIGVudW0KK3sKKwlWU0lNX0JJQVNfQ1VSUkVOVF9YXzFfMCA9IDAsCisJVlNJTV9CSUFTX0NVUlJFTlRfWF8wXzUsCisJVlNJTV9CSUFTX0NVUlJFTlRfWF8yXzAsCisJVlNJTV9CSUFTX0NVUlJFTlRfWF8zXzAKK312c2ltX2ljYWxfZW5fZW51bTsKKworLy8gKDB4M0EpIExETyBDVFJMIDMzIFZVU0IKK3R5cGVkZWYgZW51bQoreworCVZVU0JfMV8zID0gMCwKKwlWVVNCXzFfNSwKKwlWVVNCXzFfOCwKKwlWVVNCXzJfNSwKKwlWVVNCXzJfOCwKKwlWVVNCXzNfMCwKKwlWVVNCXzNfMywKKwlWVVNCXzFfMgkJCS8vIFRUVFRUVFRUVFRUVFRUCit9dnVzYl9zZWxfZW51bTsKK3R5cGVkZWYgZW51bQoreworCVZVU0JfQklBU19DVVJSRU5UX1hfMV8wID0gMCwKKwlWVVNCX0JJQVNfQ1VSUkVOVF9YXzBfNSwKKwlWVVNCX0JJQVNfQ1VSUkVOVF9YXzJfMCwKKwlWVVNCX0JJQVNfQ1VSUkVOVF9YXzNfMAorfXZ1c2JfaWNhbF9lbl9lbnVtOworCisvLyAoMHgzQikgTERPIENUUkwgMzQgVlVTQgordHlwZWRlZiBlbnVtCit7CisJVlVTQl9NQVhfU0xFV19SQVRFX1RJTUVTXzFfT1ZFUl8xNyA9IDAsCisJVlVTQl9NQVhfU0xFV19SQVRFX1RJTUVTXzFfT1ZFUl8yMSwKKwlWVVNCX01BWF9TTEVXX1JBVEUsCisJVlVTQl9NQVhfU0xFV19SQVRFX1RJTUVTXzFfT1ZFUl81Cit9dnVzYl9jYWxzdF9lbnVtOwordHlwZWRlZiBlbnVtCit7CisJVlVTQl9PQ19USFJFU0hPTERfMjAwTUEgPSAwLAorCVZVU0JfT0NfVEhSRVNIT0xEXzIxOE1BLAorCVZVU0JfT0NfVEhSRVNIT0xEXzE2NE1BLAorCVZVU0JfT0NfVEhSRVNIT0xEXzE4Mk1BCit9dnVzYl9jYWxvY19lbnVtOworCisvLyAoMHgzRCkgTERPIENUUkwgMzYgVkJUCit0eXBlZGVmIGVudW0KK3sKKwlWQlRfMV8zID0gMCwKKwlWQlRfMV81LAorCVZCVF8xXzgsCisJVkJUXzJfNSwKKwlWQlRfMl84LAorCVZCVF8zXzAsCisJVkJUXzNfMywKKwlWQlRfMV8yCQkJLy8gVFRUVFRUVFRUVFRUVFQKK312YnRfc2VsX2VudW07CisKK3R5cGVkZWYgZW51bQoreworCVZCVF9FM18xXzUgPSAwLAkKKwlWQlRfRTNfMV8zLAorCVZCVF9FM18yXzUsCisJVkJUX0UzXzFfOCwKKwlWQlRfRTNfM18wLAkKKwlWQlRfRTNfMl84LAorCVZCVF9FM18zXzMKKwkvL1ZCVF9FM18zXzMKK312YnRfZTNfc2VsX2VudW07CisKK3R5cGVkZWYgZW51bQoreworCVZCVF9CSUFTX0NVUlJFTlRfWF8xXzAgPSAwLAorCVZCVF9CSUFTX0NVUlJFTlRfWF8wXzUsCisJVkJUX0JJQVNfQ1VSUkVOVF9YXzJfMCwKKwlWQlRfQklBU19DVVJSRU5UX1hfM18wCit9dmJ0X2ljYWxfZW5fZW51bTsKKworLy8gKDB4M0UpIExETyBDVFJMIDM3IFZCVAordHlwZWRlZiBlbnVtCit7CisJVkJUX01BWF9TTEVXX1JBVEVfVElNRVNfMV9PVkVSXzE3ID0gMCwKKwlWQlRfTUFYX1NMRVdfUkFURV9USU1FU18xX09WRVJfMjEsCisJVkJUX01BWF9TTEVXX1JBVEUsCisJVkJUX01BWF9TTEVXX1JBVEVfVElNRVNfMV9PVkVSXzUKK312YnRfY2Fsc3RfZW51bTsKK3R5cGVkZWYgZW51bQoreworCVZCVF9PQ19USFJFU0hPTERfMjAwTUEgPSAwLAorCVZCVF9PQ19USFJFU0hPTERfMjE4TUEsCisJVkJUX09DX1RIUkVTSE9MRF8xNjRNQSwKKwlWQlRfT0NfVEhSRVNIT0xEXzE4Mk1BCit9dmJ0X2NhbG9jX2VudW07CisKKy8vICgweDQwKSBMRE8gQ1RSTCAzOSBWQ0FNRAordHlwZWRlZiBlbnVtCit7CisJVkNBTURfMV8zID0gMCwKKwlWQ0FNRF8xXzUsCisJVkNBTURfMV84LAorCVZDQU1EXzJfNSwKKwlWQ0FNRF8yXzgsCisJVkNBTURfM18wLAorCVZDQU1EXzNfMywKKwlWQ0FNRF8xXzIJCQkvLyBUVFRUVFRUVFRUVFRUVAorfXZjYW1kX3NlbF9lbnVtOwordHlwZWRlZiBlbnVtCit7CisJVkNBTURfQklBU19DVVJSRU5UX1hfMV8wID0gMCwKKwlWQ0FNRF9CSUFTX0NVUlJFTlRfWF8wXzUsCisJVkNBTURfQklBU19DVVJSRU5UX1hfMl8wLAorCVZDQU1EX0JJQVNfQ1VSUkVOVF9YXzNfMAorfXZjYW1kX2ljYWxfZW5fZW51bTsKKworLy8gKDB4NDEpIExETyBDVFJMIDQwIFZDQU1ECit0eXBlZGVmIGVudW0KK3sKKwlWQ0FNRF9NQVhfU0xFV19SQVRFX1RJTUVTXzFfT1ZFUl8xNyA9IDAsCisJVkNBTURfTUFYX1NMRVdfUkFURV9USU1FU18xX09WRVJfMjEsCisJVkNBTURfTUFYX1NMRVdfUkFURSwKKwlWQ0FNRF9NQVhfU0xFV19SQVRFX1RJTUVTXzFfT1ZFUl81Cit9dmNhbWRfY2Fsc3RfZW51bTsKK3R5cGVkZWYgZW51bQoreworCVZDQU1EX09DX1RIUkVTSE9MRF8yMDBNQSA9IDAsCisJVkNBTURfT0NfVEhSRVNIT0xEXzIxOE1BLAorCVZDQU1EX09DX1RIUkVTSE9MRF8xNjRNQSwKKwlWQ0FNRF9PQ19USFJFU0hPTERfMTgyTUEKK312Y2FtZF9jYWxvY19lbnVtOworCisvLyAoMHg0MykgTERPIENUUkwgNDIgVkdQCit0eXBlZGVmIGVudW0KK3sKKwlWR1BfMV8zID0gMCwKKwlWR1BfMV81LAorCVZHUF8xXzgsCisJVkdQXzJfNSwKKwlWR1BfMl84LAorCVZHUF8zXzAsCisJVkdQXzNfMworfXZncF9zZWxfZW51bTsKKworLy8gKDB4NDYpIExETyBDVFJMIDQ1IFZTRElPCit0eXBlZGVmIGVudW0KK3sKKwlWU0RJT19CSUFTX0NVUlJFTlRfWF8xXzAgPSAwLAorCVZTRElPX0JJQVNfQ1VSUkVOVF9YXzBfNSwKKwlWU0RJT19CSUFTX0NVUlJFTlRfWF8yXzAsCisJVlNESU9fQklBU19DVVJSRU5UX1hfM18wCit9dnNkaW9faWNhbF9lbl9lbnVtOworCisvLyAoMHg0NykgTERPIENUUkwgNDYgVlNESU8KK3R5cGVkZWYgZW51bQoreworCVZTRElPX01BWF9TTEVXX1JBVEVfVElNRVNfMV9PVkVSXzE3ID0gMCwKKwlWU0RJT19NQVhfU0xFV19SQVRFX1RJTUVTXzFfT1ZFUl8yMSwKKwlWU0RJT19NQVhfU0xFV19SQVRFLAorCVZTRElPX01BWF9TTEVXX1JBVEVfVElNRVNfMV9PVkVSXzUKK312c2Rpb19jYWxzdF9lbnVtOwordHlwZWRlZiBlbnVtCit7CisJVlNESU9fT0NfVEhSRVNIT0xEXzcwME1BID0gMCwKKwlWU0RJT19PQ19USFJFU0hPTERfNzY3TUEsCisJVlNESU9fT0NfVEhSRVNIT0xEXzU2N01BLAorCVZTRElPX09DX1RIUkVTSE9MRF82MzNNQQorfXZzZGlvX2NhbG9jX2VudW07Cit0eXBlZGVmIGVudW0KK3sKKwlWU0RJT18yXzggPSAwLAorCVZTRElPXzNfMAorfXZzZGlvX3NlbF9lbnVtOwordHlwZWRlZiBlbnVtCit7CisJVlNESU9fREVGQVVMVF9NSUxMRVJfQ0FQQUNJVE9SID0gMCwKKwlWU0RJT19JTkNSRUFTRV9NSUxMRVJfQ0FQQUNJVE9SCit9dnNkaW9fY21fZW51bTsKKworCisvLyAoMHg1MykgQlVDSyBDVFJMIDExIFZDT1JFMgordHlwZWRlZiBlbnVtCit7CisJVkNPUkUyX0VOQUJMRV9XSVRIX0VOX1BBU1MgPSAwLAorCVZDT1JFMl9FTkFCTEVfV0lUSF9WQ09SRTJfRU4KK312Y29yZTJfb25fc2VsX2VudW07CisKKy8vICgweDVDKSBCT09TVCBDVFJMIDEgQk9PU1QxCit0eXBlZGVmIGVudW0KK3sKKwlWQk9PU1QxX1ZPTF8zXzIwX1YgPSAwLAorCVZCT09TVDFfVk9MXzNfMzVfViwKKwlWQk9PU1QxX1ZPTF8zXzUwX1YsCisJVkJPT1NUMV9WT0xfM182NV9WLAorCVZCT09TVDFfVk9MXzNfODBfViwKKwlWQk9PU1QxX1ZPTF8zXzk1X1YsCisJVkJPT1NUMV9WT0xfNF8xMF9WLAorCVZCT09TVDFfVk9MXzRfMjVfViwKKwlWQk9PU1QxX1ZPTF80XzQwX1YsCisJVkJPT1NUMV9WT0xfNF81NV9WLAorCVZCT09TVDFfVk9MXzRfNzBfViwKKwlWQk9PU1QxX1ZPTF80Xzg1X1YsCisJVkJPT1NUMV9WT0xfNV8wMF9WLAorCVZCT09TVDFfVk9MXzVfMTVfViwKKwlWQk9PU1QxX1ZPTF81XzMwX1YsCisJVkJPT1NUMV9WT0xfNV80NV9WCit9dmJvb3N0MV90dW5lX2VudW07CisKKy8vICgweDVEKSBCT09TVCBDVFJMIDIgQk9PU1QxCit0eXBlZGVmIGVudW0KK3sKKwlCT09TVDFfU09GVF9TVEFSVF9TUEVFRCA9IDAsCisJQk9PU1QxX1NPRlRfU1RBUlRfU1BFRURfVElNRVNfMl9PVkVSXzMKK31ib29zdDFfc29mdF9zdF9zcGVlZF9lbnVtOworCisvLyAoMHg1RikgQk9PU1QgQ1RSTCA0IEJPT1NUMgordHlwZWRlZiBlbnVtCit7CisJVkJPT1NUMl9WT0xfNl8wMF9WID0gMCwKKwlWQk9PU1QyX1ZPTF82Xzc1X1YsCisJVkJPT1NUMl9WT0xfN181MF9WLAorCVZCT09TVDJfVk9MXzhfMjVfViwKKwlWQk9PU1QyX1ZPTF85XzAwX1YsCisJVkJPT1NUMl9WT0xfOV83NV9WLAorCVZCT09TVDJfVk9MXzEwXzA1X1YsCisJVkJPT1NUMl9WT0xfMTFfMjVfViwKKwlWQk9PU1QyX1ZPTF8xMl8wMF9WLAorCVZCT09TVDJfVk9MXzEyXzc1X1YsCisJVkJPT1NUMl9WT0xfMTNfNTBfViwKKwlWQk9PU1QyX1ZPTF8xNF8yNV9WLAorCVZCT09TVDJfVk9MXzE1XzAwX1YsCisJVkJPT1NUMl9WT0xfMTVfNzVfViwKKwlWQk9PU1QyX1ZPTF8xNl81MF9WLAorCVZCT09TVDJfVk9MXzE3XzI1X1YKK312Ym9vc3QyX3R1bmVfZW51bTsKKwordHlwZWRlZiBlbnVtCit7CisJQk9PU1QyX09DX1RIUkVTSE9MRF81VUEgPSAwLAorCUJPT1NUMl9PQ19USFJFU0hPTERfMlVBLAorCUJPT1NUMl9PQ19USFJFU0hPTERfMTBVQSwKKwlCT09TVDJfT0NfVEhSRVNIT0xEXzdVQQorfWJvb3N0Ml9vY190aF9lbnVtOworCit0eXBlZGVmIGVudW0KK3sKKwlCT09TVDJfRElHSVRBTF9ESU1JTkcgPSAwLAorCUJPT1NUMl9BTkFMT0dfRElNSU5HCit9Ym9vc3QyX2RpbV9zb3VyY2VfZW51bTsKKworLy8gKDB4NjEpIEJPT1NUIENUUkwgNiBCT09TVDIgYW5kIEJPT1NUCit0eXBlZGVmIGVudW0KK3sKKwlCT09TVF9NT0RFX1RZUEVfSSA9IDAsCisJQk9PU1RfTU9ERV9UWVBFX0lJLAorCUJPT1NUX01PREVfVFlQRV9JSUksCisJQk9PU1RfTU9ERV9UWVBFX0lWCit9Ym9vc3RfbW9kZV9zZWxfZW51bTsKKworLy8gKDB4NjUpIERSSVZFUiBDVFJMIDQgRkxBU0gKKy8vdHlwZWRlZiBlbnVtCisvL3sKKy8vCUZMQVNIX0NVUlJFTlRfME1BPTAsCisvLwlGTEFTSF9DVVJSRU5UXzUwTUEsCisvLwlGTEFTSF9DVVJSRU5UXzEwME1BLAorLy8JRkxBU0hfQ1VSUkVOVF8xNTBNQSwKKy8vCUZMQVNIX0NVUlJFTlRfMjAwTUEsCisvLwlGTEFTSF9DVVJSRU5UXzI1ME1BLAorLy8JRkxBU0hfQ1VSUkVOVF8zMDBNQSwKKy8vCUZMQVNIX0NVUlJFTlRfMzUwTUEsCisvLwlGTEFTSF9DVVJSRU5UXzQwME1BLAorLy8JRkxBU0hfQ1VSUkVOVF80NTBNQSwKKy8vCUZMQVNIX0NVUlJFTlRfNTAwTUEsCisvLwlGTEFTSF9DVVJSRU5UXzU1ME1BCisvL31mbGFzaF9pX3R1bmVfZW51bTsKKworLy8gKDB4NjgpIERSSVZFUiBDVFJMIDcgQkwKK3R5cGVkZWYgZW51bQoreworCUJMX0lfQ09SU0VfVFVORV80TUEgPSAwLAorCUJMX0lfQ09SU0VfVFVORV84TUEsCisJQkxfSV9DT1JTRV9UVU5FXzEyTUEsCisJQkxfSV9DT1JTRV9UVU5FXzE2TUEsCisJQkxfSV9DT1JTRV9UVU5FXzIwTUEsCisJQkxfSV9DT1JTRV9UVU5FXzI0TUEsCisJQkxfSV9DT1JTRV9UVU5FXzI4TUEsCisJQkxfSV9DT1JTRV9UVU5FXzMyTUEKK31ibF9pX2NvcnNlX3R1bmVfZW51bTsKKwordHlwZWRlZiBlbnVtCit7CisJQkxfSV9GSU5FX1RVTkVfME1BID0gMCwKKwlCTF9JX0ZJTkVfVFVORV9NSU5VU18xTUEsCisJQkxfSV9GSU5FX1RVTkVfTUlOVVNfMk1BLAorCUJMX0lfRklORV9UVU5FX01JTlVTXzNNQSwKKwlCTF9JX0ZJTkVfVFVORV9QTFVTXzRNQSwKKwlCTF9JX0ZJTkVfVFVORV9QTFVTXzNNQSwKKwlCTF9JX0ZJTkVfVFVORV9QTFVTXzJNQSwKKwlCTF9JX0ZJTkVfVFVORV9QTFVTXzFNQQorfWJsX2lfZmluZV90dW5lX2VudW07CisKKy8vICgweDZEKSBEUklWRVIgQ1RSTCAxMiBCTAordHlwZWRlZiBlbnVtCit7CisJQkxfTlVNXzEgPSAwLAorCUJMX05VTV8yLAorCUJMX05VTV8zLAorCUJMX05VTV80LAorCUJMX05VTV81LAorCUJMX05VTV82LAorCUJMX05VTV83LAorCUJMX05VTV84Cit9YmxfbnVtYmVyX2VudW07CisKKy8vICgweDc0KSBDTEFTU19EIENUUkwgNCBTUEtMCit0eXBlZGVmIGVudW0KK3sKKwlTUEtMX0ZCX0ZPUkNFRF9EVElOX0RUSVAgPSAwLAorCVNQS0xfRkZfRk9SQ0VEX0RUSU5fRFRJUCwKKwlTUEtMX0ZCX0FVVE9fQ0FMX0RUQ05fRFRDUCwKKwlTUEtMX0ZGX0FVVE9fQ0FMX0RUQ05fRFRDUAorfXNwa2xfZG1vZGVfZW51bTsKKwordHlwZWRlZiBlbnVtCit7CisJU1BLTF9EVENBTF9FTkFCTEVfQ0xBU1NfRF9SX1JFQURfVElNRV9DQUwgPSAwLAorCVNQS0xfRFRDQUxfRElTQUJMRV9DTEFTU19EX1JfUkVBRF9USU1FX0NBTAorfXNwa2xfZHRjYWxfZW51bTsKKworLy8gKDB4NzUpIENMQVNTX0QgQ0FUUkwgNSBTUEtMCit0eXBlZGVmIGVudW0KK3sKKwlTUEtMXzJfNF9CVUZGRVIgPSAwLAorCVNQS0xfMV80X0JVRkZFUiA9IDEsCisJU1BLTF80XzRfQlVGRkVSID0gMiwKKwlTUEtMXzNfNF9CVUZGRVIgPSAzCit9c3BrbF9zbGV3X2VudW07CisKKworLy8gKDB4NzYpIENMQVNTX0QgQ1RSTCA2IFNQS0wKK3R5cGVkZWYgZW51bQoreworCVNQS0xfVk9MXzZEQiAgICA9IDAsCisJU1BLTF9WT0xfOURCICAgID0gMSwKKwlTUEtMX1ZPTF8xMkRCICAgPSAyLAorCVNQS0xfVk9MXzE1REIJPSAzLAorCVNQS0xfVk9MXzE4REIJPSA0LAorCVNQS0xfVk9MXzIxREIJPSA1LAorCVNQS0xfVk9MXzI0REIJPSA2LAorCVNQS0xfVk9MXzI3REIJPSA3Cit9c3BrbF92b2xfZW51bTsKKworCisvLyAoMHg3NykgQ0xBU1NfRCBDVFJMIDcgU1BLTAordHlwZWRlZiBlbnVtCit7CisJU1BLTF9PQ19ESVNBQkxFICA9IDAsCisJU1BLTF9PQ19FTkFCTEUgICA9IDEKK31zcGtsX29jX2VudW07CisKKworCisvLyAoMHg3OSkgQ0xBU1NfRCBDVFJMIDkgU1BLUgordHlwZWRlZiBlbnVtCit7CisJU1BLUl9GQl9GT1JDRURfRFRJTl9EVElQID0gMCwKKwlTUEtSX0ZGX0ZPUkNFRF9EVElOX0RUSVAsCisJU1BLUl9GQl9BVVRPX0NBTF9EVENOX0RUQ1AsCisJU1BLUl9GRl9BVVRPX0NBTF9EVENOX0RUQ1AKK31zcGtyX2Rtb2RlX2VudW07CisKK3R5cGVkZWYgZW51bQoreworCVNQS1JfRFRDQUxfRU5BQkxFX0NMQVNTX0RfUl9SRUFEX1RJTUVfQ0FMID0gMCwKKwlTUEtSX0RUQ0FMX0RJU0FCTEVfQ0xBU1NfRF9SX1JFQURfVElNRV9DQUwKK31zcGtyX2R0Y2FsX2VudW07CisKKy8vICgweDdBKSBDTEFTU19EIENUUkwgMTAgU1BLUgordHlwZWRlZiBlbnVtCit7CisJU1BLUl8yXzRfQlVGRkVSID0gMCwKKwlTUEtSXzFfNF9CVUZGRVIgPSAxLAorCVNQS1JfNF80X0JVRkZFUiA9IDIsCisJU1BLUl8zXzRfQlVGRkVSID0gMworfXNwa3Jfc2xld19lbnVtOworCisKKworLy8gKDB4N0IpIENMQVNTX0QgQ1RSTCAxMSBTUEtSCisKK3R5cGVkZWYgZW51bQoreworCVNQS1JfVk9MXzZEQiAgICA9IDAsCisJU1BLUl9WT0xfOURCICAgID0gMSwKKwlTUEtSX1ZPTF8xMkRCICAgPSAyLAorCVNQS1JfVk9MXzE1REIJPSAzLAorCVNQS1JfVk9MXzE4REIJPSA0LAorCVNQS1JfVk9MXzIxREIJPSA1LAorCVNQS1JfVk9MXzI0REIJPSA2LAorCVNQS1JfVk9MXzI3REIJPSA3Cit9c3Brcl92b2xfZW51bTsKKworLy8gKDB4N0MpIENMQVNTX0QgQ1RSTCAxMiBTUEtMICBPdmVyY3VycmVudCBzZXR0aW5nCit0eXBlZGVmIGVudW0KK3sKKwlTUEtSX09DX0RJU0FCTEUgID0gMCwKKwlTUEtSX09DX0VOQUJMRSAgID0gMQorfXNwa3Jfb2NfZW51bTsKKworCisKKy8vICgweDgxKSBDSEFSR0VSIENUUkwgMQordHlwZWRlZiBlbnVtCit7CisJQ0hSX0NVUlJFTlRfT0ZGU0VUX05PID0gMCwKKwlDSFJfQ1VSUkVOVF9PRkZTRVRfUExVU18xX1NURVAgPSAxLAorCUNIUl9DVVJSRU5UX09GRlNFVF9QTFVTXzJfU1RFUCA9IDIsCisJQ0hSX0NVUlJFTlRfT0ZGU0VUX01JTlVTXzJfU1RFUCA9IDYsCisJQ0hSX0NVUlJFTlRfT0ZGU0VUX01JTlVTXzFfU1RFUCA9IDcKK31jaHRfY2hyX29mZnNldF9lbnVtOworCit0eXBlZGVmIGVudW0KK3sKKwlDSFJfQ1VSUkVOVF81ME1BID0gMCwKKwlDSFJfQ1VSUkVOVF85ME1BLAorCUNIUl9DVVJSRU5UXzE1ME1BLAorCUNIUl9DVVJSRU5UXzIyNU1BLAorCUNIUl9DVVJSRU5UXzMwME1BLAorCUNIUl9DVVJSRU5UXzQ1ME1BLAorCUNIUl9DVVJSRU5UXzY1ME1BLAorCUNIUl9DVVJSRU5UXzgwME1BCit9Y2hyX2Nocl9jdXJyZW50X2VudW07CisKKy8vICgweDgzKSBURVNUTU9ERSBDVFJMIDMgQW5hbG9nIFN3aXRjaAorLy90eXBlZGVmIGVudW0KKy8veworLy8JQVNXX0FTRUxfQVNXXzJfU0VUUyA9IDAsCisvLwlBU1dfQVNFTF9TSU1MUywKKy8vCUFTV19BU0VMX0FTV18xX1NFVCwKKy8vCUFTV19BU0VMX0JMX0NVUlJFTlRfU09VUkNFCisvL31hc3dfYXNlbF9lbnVtOwordHlwZWRlZiBlbnVtCit7CisJQVNXX0FTRUxfSVNJTktfNl84X0FTID0gMCwJCQkvLyBJU0lOSyA2fjggdXNlZCBhcyBBbmFsb2cgU3dpdGNoLCBvdGhlcnMgZm9yIEJMCisJQVNXX0FTRUxfQUxMX0lTSU5LX0JMID0gMwkJCQkvLyBBbGwgSVNJTksgdXNlZCBmb3IgQkwKK31hc3dfYXNlbF9lbnVtOworCisKK3R5cGVkZWYgZW51bQoreworCUhJX1ogPSAwLAorCVJFQ0VJVkVSLAorCVRXT19PRl9SR0JfRFJJVkVSCisJLy8gVE9ETywgdGhlIGxhc3QgaXRlbSB2YWx1ZQorfWFzd19ic2VsX2VudW07CisKKy8vICgweDg0KSBURVNUTU9ERSBDVFJMIDQgVGVzdG1vZGUKK3R5cGVkZWYgZW51bQoreworCVZHUDJfRU5BQkxFX1dJVEhfU1JDTEtFTiA9IDAsCisJVkdQMl9FTkFCTEVfV0lUSF9WR1AyX0VOCit9dmdwMl9vbl9zZWxfZW51bTsKKworCisvLyAoMHg4OSkgSU5UIENUUkwgMQordHlwZWRlZiBlbnVtCit7CisJSU5UX0VOX1ZDT1JFMl9PQwk9IDB4MDEsCisJSU5UX0VOX1ZQQV9PQwkJPSAweDAyLAorCUlOVF9FTl9CT09TVDFfT0MJPSAweDA0LAorCUlOVF9FTl9CT09TVDJfT0MJPSAweDA4LAorCUlOVF9FTl9TUEtMX09DCQk9IDB4MTAsCisJSU5UX0VOX1NQS1JfT0MJCT0gMHgyMCwKKwlJTlRfRU5fVjNHVFhfT0MJPSAweDQwLAorCUlOVF9FTl9WM0dSWF9PQwk9IDB4ODAsCisJSU5UX0VOXzBYODlfQUxMCT0gMHhGRiwKKwlJTlQxX0VOX0FMTAkJCT0gMHhGRgorfWludF9jdHJsXzFfZW51bTsKKworLy8gKDB4OEEpIElOVCBDVFJMIDIKK3R5cGVkZWYgZW51bQoreworCUlOVF9FTl9SRl9PQwkJCT0gMHgwMSwKKwlJTlRfRU5fVlRDWE9fT0MJCT0gMHgwMiwKKwlJTlRfRU5fVkNBTUFfT0MJCT0gMHgwNCwKKwlJTlRfRU5fVldJRkkzVjNfT0MJPSAweDA4LAorCUlOVF9FTl9WV0lGSTJWOF9PQwk9IDB4MTAsCisJSU5UX0VOX1ZTSU1fT0MJCQk9IDB4MjAsCisJSU5UX0VOX1ZCVF9PQwkJCT0gMHg0MCwKKwlJTlRfRU5fVkNBTURfT0MJCT0gMHg4MCwKKwlJTlRfRU5fMFg4QV9BTEwJCT0gMHhGRiwKKwlJTlQyX0VOX0FMTAkJCQk9IDB4RkYKK31pbnRfY3RybF8yX2VudW07CisKKy8vICgweDhCKSBJTlQgQ1RSTCAzCit0eXBlZGVmIGVudW0KK3sKKwlJTlRfRU5fVlNESU9fT0MJCT0gMHgwMSwKKwlJTlRfRU5fVkdQX09DCQkJPSAweDAyLAorCUlOVF9FTl9WVVNCX09DCQkJPSAweDA0LAorCUlOVF9FTl9DSFJERVQJCQk9IDB4MDgsCisJSU5UX0VOX09WUAkJCQk9IDB4MTAsCisJSU5UX0VOX1dBVENIRE9HCQk9IDB4MjAsCisJSU5UX0VOX1BXUktFWQkJPSAweDQwLAorCUlOVF9FTl8wWDhCX0FMTAkJPSAweDdGLAorCUlOVDNfRU5fQUxMCQkJCT0gMHg3RgorfWludF9jdHJsXzNfZW51bTsKKworCisvLyAoMHg5NikgV0FUQ0hET0cgQ1RSTCBhbmQgSU5UIENUUkwgNAordHlwZWRlZiBlbnVtCit7CisJV0RUX1RJTUVPVVRfNF9TRUMgPSAwLAorCVdEVF9USU1FT1VUXzhfU0VDLAorCVdEVF9USU1FT1VUXzE2X1NFQywKKwlXRFRfVElNRU9VVF8zMl9TRUMKK313ZHRfdGltb3V0X2VudW07CisKKworLy8gQ29tYmluYXRpb25hbCBmdW5jdGlvbnMgc3RydWN0dXJlcwordHlwZWRlZiBlbnVtCit7CisJVkdQMl8xXzMgPSAwLAorCVZHUDJfMV81LAorCVZHUDJfMV84LAorCVZHUDJfMl81LAorCVZHUDJfMl84LAorCVZHUDJfM18wLAorCVZHUDJfM18zCit9dmdwMl9zZWxfZW51bTsKKworCit0eXBlZGVmIGVudW0KK3sKKwlTVF9WV0lGSTNWM18yMDBVUyA9IDAsCisJU1RfVldJRkkzVjNfNDAwVVMsCQorCVNUX1ZXSUZJM1YzXzYwMFVTLAorCVNUX1ZXSUZJM1YzXzgwMFVTIAorfXN0X2dlYXJfdndpZmkzdjM7CisKK3R5cGVkZWYgZW51bQoreworCVNUX1ZXSUZJMlY4XzIwMFVTID0gMCwKKwlTVF9WV0lGSTJWOF80MDBVUywJCisJU1RfVldJRkkyVjhfNjAwVVMsCisJU1RfVldJRkkyVjhfODAwVVMgCit9c3RfZ2Vhcl92d2lmaTJ2ODsKKwordHlwZWRlZiBlbnVtCit7CisJU1RfVlNESU9fMjAwVVMgPSAwLAorCVNUX1ZTRElPXzQwMFVTLAkKKwlTVF9WU0RJT182MDBVUywKKwlTVF9WU0RJT184MDBVUyAKK31zdF9nZWFyX3ZzZGlvOworCit0eXBlZGVmIGVudW0KK3sKKwlPQ19WV0lGSTNWM18xMDBVUyA9IDAsCisJT0NfVldJRkkzVjNfMjAwVVMsCQorCU9DX1ZXSUZJM1YzXzQwMFVTLAorCU9DX1ZXSUZJM1YzXzgwMFVTIAorfW9jX2dlYXJfdndpZmkzdjM7CisKK3R5cGVkZWYgZW51bQoreworCU9DX1ZXSUZJMlY4XzEwMFVTID0gMCwKKwlPQ19WV0lGSTJWOF8yMDBVUywJCisJT0NfVldJRkkyVjhfNDAwVVMsCisJT0NfVldJRkkyVjhfODAwVVMgCit9b2NfZ2Vhcl92d2lmaTJ2ODsKKwordHlwZWRlZiBlbnVtCit7CisJT0NfVlNESU9fMTAwVVMgPSAwLAorCU9DX1ZTRElPXzIwMFVTLAkKKwlPQ19WU0RJT180MDBVUywKKwlPQ19WU0RJT184MDBVUyAKK31vY19nZWFyX3ZzZGlvOworCisKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl9DaHJEZXRfUmVnaXN0cmF0aW9uKGNocl9jYWxsYmFja190eXBlIHR5cGUsIHZvaWQgKCpDYWxsYmFjaykodm9pZCkpOworCisvLyAoMHgwOSkgU1RBVFVTIDYgKFJPKQorZXh0ZXJuIGthbF9ib29sIGRjbF9wbWljNjMyNl9ib29zdDJfb2Nfc3RhdHVzKHZvaWQpOworZXh0ZXJuIGthbF9ib29sIGRjbF9wbWljNjMyNl9zcGtyX29jX2RldF9zdGF0dXModm9pZCk7CitleHRlcm4ga2FsX2Jvb2wgZGNsX3BtaWM2MzI2X3Nwa2xfb2NfZGV0X3N0YXR1cyh2b2lkKTsKK2V4dGVybiBrYWxfYm9vbCBkY2xfcG1pYzYzMjZfcHdya2V5X2RlYl9zdGF0dXModm9pZCk7CitleHRlcm4ga2FsX2Jvb2wgZGNsX3BtaWM2MzI2X292cF9zdGF0dXModm9pZCk7CitleHRlcm4ga2FsX2Jvb2wgZGNsX3BtaWM2MzI2X2NocmRldF9zdGF0dXModm9pZCk7CitleHRlcm4ga2FsX2Jvb2wgZGNsX3BtaWM2MzI2X2JhdF9vbl9zdGF0dXModm9pZCk7CitleHRlcm4ga2FsX2Jvb2wgZGNsX3BtaWM2MzI2X2N2X3N0YXR1cyh2b2lkKTsKKworLy8gKDB4MEIpIElOVCBTVEFUVVMgMSAoUk8pCitleHRlcm4ga2FsX3VpbnQ4IGRjbF9wbWljNjMyNl9pbnRfc3RhdHVzXzEodm9pZCk7CisKKy8vICgweDBDKSBJTlQgU1RBVFVTIDIgKFJPKQorZXh0ZXJuIGthbF91aW50OCBkY2xfcG1pYzYzMjZfaW50X3N0YXR1c18yKHZvaWQpOworCisvLyAoMHgwRCkgSU5UIFNUQVRVUyAzIChSTykKK2V4dGVybiBrYWxfdWludDggZGNsX3BtaWM2MzI2X2ludF9zdGF0dXNfMyh2b2lkKTsKK2V4dGVybiBrYWxfYm9vbCBkY2xfcG1pYzYzMjZfdnNkaW9fb2NfaW50X3N0YXR1cyh2b2lkKTsKK2V4dGVybiBrYWxfYm9vbCBkY2xfcG1pYzYzMjZfdmdwX29jX2ludF9zdGF0dXModm9pZCk7CitleHRlcm4ga2FsX2Jvb2wgZGNsX3BtaWM2MzI2X3Z1c2Jfb2NfaW50X3N0YXR1cyh2b2lkKTsKK2V4dGVybiBrYWxfYm9vbCBkY2xfcG1pYzYzMjZfb3ZwX2ludF9zdGF0dXModm9pZCk7CitleHRlcm4ga2FsX2Jvb2wgZGNsX3BtaWM2MzI2X2NocmRldF9pbnRfc3RhdHVzKHZvaWQpOworCisKKy8vICgweDBFKSBJTlQgU1RBVFVTIDQgKFJPKQorZXh0ZXJuIGthbF91aW50OCBkY2xfcG1pYzYzMjZfaW50X3N0YXR1c180KHZvaWQpOworZXh0ZXJuIGthbF9ib29sIGRjbF9wbWljNjMyNl93YXRjaGRvZ19pbnRfc3RhdHVzKHZvaWQpOworZXh0ZXJuIHZvaWQgZGNsX3BtaWM2MzI2X3dhdGNoZG9nX2NsZWFyKHZvaWQpOworCisvLyAoMHgxQikgTERPIENUUkwgMiBWUkYKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl92cmZfaWNhbF9lbih2cmZfaWNhbF9lbl9lbnVtIHNlbCk7CitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfdnJmX29jX2F1dG9fb2ZmKGthbF9ib29sIGF1dG9fb2ZmKTsKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl92cmZfZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfdnJmX2NhbChrYWxfdWludDggdmFsKTsKKworLy8gKDB4MUMpIExETyBDVFJMIDMgVlJGCitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfdnJmX2NhbHN0KHZyZl9jYWxzdF9lbnVtIHNlbCk7CitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfdnJmX2NhbG9jKHZyZl9jYWxvY19lbnVtIHNlbCk7CitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfdnJmX29uX3NlbCh2cmZfb25fc2VsX2VudW0gc2VsKTsKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl92cmZfZW5fZm9yY2Uoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl92cmZfcGxubW9zX2RpcyhrYWxfYm9vbCBkaXNhYmxlKTsKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl92cmZfY20odnJmX2NtX2VudW0gc2VsKTsKKworLy8gKDB4MUUpIExETyBDVFJMIDUgVlRDWE8KK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl92dGN4b19pY2FsX2VuKHZ0Y3hvX2ljYWxfZW5fZW51bSBzZWwpOworZXh0ZXJuIHZvaWQgZGNsX3BtaWM2MzI2X3Z0Y3hvX29jX2F1dG9fb2ZmKGthbF9ib29sIGF1dG9fb2ZmKTsKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl92dGN4b19lbmFibGUoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl92dGN4b19jYWwoa2FsX3VpbnQ4IHZhbCk7CisKKy8vICgweDFGKSBMRE8gQ1RSTCA2IFZUQ1hPCitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfdnRjeG9fY2Fsc3QodnRjeG9fY2Fsc3RfZW51bSBzZWwpOworZXh0ZXJuIHZvaWQgZGNsX3BtaWM2MzI2X3Z0Y3hvX2NhbG9jKHZ0Y3hvX2NhbG9jX2VudW0gc2VsKTsKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl92dGN4b19vbl9zZWwodnRjeG9fb25fc2VsX2VudW0gc2VsKTsKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl92dGN4b19lbl9mb3JjZShrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIHZvaWQgZGNsX3BtaWM2MzI2X3Z0Y3hvX3Bsbm1vc19kaXMoa2FsX2Jvb2wgZGlzYWJsZSk7CitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfdnRjeG9fY20odnRjeG9fY21fZW51bSBzZWwpOworCisvLyAoMHgyMSkgTERPIENUUkwgOCBWM0dUWAorZXh0ZXJuIHZvaWQgZGNsX3BtaWM2MzI2X3YzZ3R4X3NlbCh2M2d0eF92b2wgdm9sKTsKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl92M2d0eF9pY2FsX2VuKHYzZ3R4X2ljYWxfZW5fZW51bSBzZWwpOworZXh0ZXJuIHZvaWQgZGNsX3BtaWM2MzI2X3YzZ3R4X2NhbChrYWxfdWludDggdmFsKTsKKworLy8gKDB4MjIpIExETyBDVFJMIDkgVjNHVFgKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl92M2d0eF9jYWxzdCh2M2d0eF9jYWxzdF9lbnVtIHNlbCk7CitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfdjNndHhfY2Fsb2ModjNndHhfY2Fsb2NfZW51bSBzZWwpOworZXh0ZXJuIHZvaWQgZGNsX3BtaWM2MzI2X3YzZ3R4X29jX2F1dG9fb2ZmKGthbF9ib29sIGF1dG9fb2ZmKTsKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl92M2d0eF9lbmFibGUoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl92M2d0eF9vbl9zZWwodjNndHhfb25fc2VsX2VudW0gc2VsKTsKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl92M2d0eF9lbl9mb3JjZShrYWxfYm9vbCBlbmFibGUpOworCisvLyAoMHgyNCkgTERPIENUUkwgMTEgVjNHUlgKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl92M2dyeF9zZWwodjNncnhfdm9sIHZvbCk7CitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfM2dyeF9pY2FsX2VuKHYzZ3J4X2ljYWxfZW5fZW51bSBzZWwpOworZXh0ZXJuIHZvaWQgZGNsX3BtaWM2MzI2X3YzZ3J4X2NhbChrYWxfdWludDggdmFsKTsKKworLy8gKDB4MjUpIExETyBDVFJMIDEyIFYzR1JYCitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfdjNncnhfY2Fsc3QodjNncnhfY2Fsc3RfZW51bSBzZWwpOworZXh0ZXJuIHZvaWQgZGNsX3BtaWM2MzI2X3YzZ3J4X2NhbG9jKHYzZ3J4X2NhbG9jX2VudW0gc2VsKTsKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl92M2dyeF9vY19hdXRvX29mZihrYWxfYm9vbCBhdXRvX29mZik7CitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfdjNncnhfZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfdjNncnhfb25fc2VsKHYzZ3J4X29uX3NlbF9lbnVtIHNlbCk7CitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfdjNncnhfZW5fZm9yY2Uoa2FsX2Jvb2wgZW5hYmxlKTsKKworLy8gKDB4MkUpIExETyBDVFJMIDIxIFZDQU1BCitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfdmNhbWFfc2VsKHZjYW1hX3NlbF9lbnVtIHNlbCk7CitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfdmNhbWFfaWNhbF9lbih2Y2FtYV9pY2FsX2VuX2VudW0gc2VsKTsKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl92Y2FtYV9jYWwoa2FsX3VpbnQ4IHZhbCk7CisKKy8vICgweDJGKSBMRE8gQ1RSTCAyMiBWQ0FNQQorZXh0ZXJuIHZvaWQgZGNsX3BtaWM2MzI2X3ZjYW1hX2NhbHN0KHZjYW1hX2NhbHN0X2VudW0gc2VsKTsKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl92Y2FtYV9jYWxvYyh2Y2FtYV9jYWxvY19lbnVtIHNlbCk7CitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfdmNhbWFfZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfdmNhbWFfZW5fZm9yY2Uoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl92Y2FtYV9wbG5tb3NfZGlzKGthbF9ib29sIGRpc2FibGUpOworZXh0ZXJuIHZvaWQgZGNsX3BtaWM2MzI2X3ZjYW1hX2NtKHZjYW1hX2NtX2VudW0gc2VsKTsKKworLy8gKDB4MzEpIExETyBDVFJMIDI0IFZXSUZJM1YzCitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfdndpZmkzdjNfc2VsKHZ3aWZpM3YzX3NlbF9lbnVtIHNlbCk7CitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfdndpZmkzdjNfaWNhbF9lbih2d2lmaTN2M19pY2FsX2VuX2VudW0gc2VsKTsKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl92d2lmaTN2M19jYWwoa2FsX3VpbnQ4IHZhbCk7CisKKy8vICgweDMyKSBMRE8gQ1RSTCAyNSBWV0lGSTNWMworZXh0ZXJuIHZvaWQgZGNsX3BtaWM2MzI2X3Z3aWZpM3YzX2NhbHN0KHZ3aWZpM3YzX2NhbHN0X2VudW0gc2VsKTsKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl92d2lmaTN2M19jYWxvYyh2d2lmaTN2M19jYWxvY19lbnVtIHNlbCk7CitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfdndpZmkzdjNfZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfdndpZmkzdjNfZW5fZm9yY2Uoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl92d2lmaTN2M19wbG5tb3NfZGlzKGthbF9ib29sIGRpc2FibGUpOworZXh0ZXJuIHZvaWQgZGNsX3BtaWM2MzI2X3Z3aWZpM3YzX2NtKHZ3aWZpM3YzX2NtX2VudW0gc2VsKTsKKworLy8gKDB4MzQpIExETyBDVFJMIDI3IFZXSUZJMlY4CitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfdndpZmkydjhfc2VsKHZ3aWZpMnY4X3NlbF9lbnVtIHNlbCk7CitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfdndpZmkydjhfaWNhbF9lbih2d2lmaTJ2OF9pY2FsX2VuX2VudW0gc2VsKTsKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl92d2lmaTJ2OF9jYWwoa2FsX3VpbnQ4IHZhbCk7CisKKy8vICgweDM1KSBMRE8gQ1RSTCAyOCBWV0lGSTJWOAorZXh0ZXJuIHZvaWQgZGNsX3BtaWM2MzI2X3Z3aWZpMnY4X2NhbHN0KHZ3aWZpMnY4X2NhbHN0X2VudW0gc2VsKTsKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl92d2lmaTJ2OF9jYWxvYyh2d2lmaTJ2OF9jYWxvY19lbnVtIHNlbCk7CitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfdndpZmkydjhfZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfdndpZmkydjhfZW5fZm9yY2Uoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl92d2lmaTJ2OF9wbG5tb3NfZGlzKGthbF9ib29sIGRpc2FibGUpOworZXh0ZXJuIHZvaWQgZGNsX3BtaWM2MzI2X3Z3aWZpMnY4X2NtKHZ3aWZpMnY4X2NtX2VudW0gc2VsKTsKKworLy8gKDB4MzcpIExETyBDVFJMIDMwIFZTSU0KKy8vdm9pZCBkY2xfcG1pYzYzMjZfdnNpbV9zZWwodnNpbV9zZWxfZW51bSBzZWwpOworZXh0ZXJuIHZvaWQgcG1pYzYzMjZfdnNpbV9zZWwodnNpbV9zZWxfZW51bSBzZWwpOworZXh0ZXJuIHZvaWQgcG1pYzYzMjZfdnNpbV9zZWwodnNpbV9zZWxfZW51bSBzZWwpOworZXh0ZXJuIHZvaWQgZGNsX3BtaWM2MzI2X3ZzaW1fZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfdnNpbV9pY2FsX2VuKHZzaW1faWNhbF9lbl9lbnVtIHNlbCk7CitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfdnNpbV9lbl9mb3JjZShrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIHZvaWQgZGNsX3BtaWM2MzI2X3ZzaW1fcGxubW9zX2RpcyhrYWxfYm9vbCBkaXNhYmxlKTsKKworLy8gKDB4MzgpIExETyBDVFJMIDMxIFZTSU0KK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl92c2ltX2NhbChrYWxfdWludDggdmFsKTsKKworLy8gKDB4M0EpIExETyBDVFJMIDMzIFZVU0IKKy8vIFVTQiB2b2x0YWdlIGlzIE5PVCBvcGVuZWQgZm9yIGNoYW5nZQorLy9leHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfdnVzYl9zZWwodnVzYl9zZWxfZW51bSBzZWwpOworZXh0ZXJuIHZvaWQgZGNsX3BtaWM2MzI2X3Z1c2JfZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfdnVzYl9pY2FsX2VuKHZ1c2JfaWNhbF9lbl9lbnVtIHNlbCk7CitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfdnVzYl9lbl9mb3JjZShrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIHZvaWQgZGNsX3BtaWM2MzI2X3Z1c2JfcGxubW9zX2RpcyhrYWxfYm9vbCBkaXNhYmxlKTsKKworLy8gKDB4M0IpIExETyBDVFJMIDM0IFZVU0IKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl92dXNiX2NhbChrYWxfdWludDggdmFsKTsKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl92dXNiX2NhbHN0KHZ1c2JfY2Fsc3RfZW51bSBzZWwpOworZXh0ZXJuIHZvaWQgZGNsX3BtaWM2MzI2X3Z1c2JfY2Fsb2ModnVzYl9jYWxvY19lbnVtIHNlbCk7CisKKy8vICgweDNEKSBMRE8gQ1RSTCAzNiBWQlQKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl92YnRfc2VsKHZidF9zZWxfZW51bSBzZWwpOworZXh0ZXJuIHZvaWQgZGNsX3BtaWM2MzI2X3ZidF9lbmFibGUoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl92YnRfaWNhbF9lbih2YnRfaWNhbF9lbl9lbnVtIHNlbCk7CitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfdmJ0X2VuX2ZvcmNlKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfdmJ0X3Bsbm1vc19kaXMoa2FsX2Jvb2wgZGlzYWJsZSk7CisKKy8vICgweDNFKSBMRE8gQ1RSTCAzNyBWQlQKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl92YnRfY2FsKGthbF91aW50OCB2YWwpOworZXh0ZXJuIHZvaWQgZGNsX3BtaWM2MzI2X3ZidF9jYWxzdCh2YnRfY2Fsc3RfZW51bSBzZWwpOworZXh0ZXJuIHZvaWQgZGNsX3BtaWM2MzI2X3ZidF9jYWxvYyh2YnRfY2Fsb2NfZW51bSBzZWwpOworCisvLyAoMHg0MCkgTERPIENUUkwgMzkgVkNBTUQKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl92Y2FtZF9zZWwodmNhbWRfc2VsX2VudW0gc2VsKTsKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl92Y2FtZF9lbmFibGUoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl92Y2FtZF9pY2FsX2VuKHZjYW1kX2ljYWxfZW5fZW51bSBzZWwpOworZXh0ZXJuIHZvaWQgZGNsX3BtaWM2MzI2X3ZjYW1kX2VuX2ZvcmNlKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfdmNhbWRfcGxubW9zX2RpcyhrYWxfYm9vbCBkaXNhYmxlKTsKKworLy8gKDB4NDEpIExETyBDVFJMIDQwIFZDQU1ECitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfdmNhbWRfY2FsKGthbF91aW50OCB2YWwpOworZXh0ZXJuIHZvaWQgZGNsX3BtaWM2MzI2X3ZjYW1kX2NhbHN0KHZjYW1kX2NhbHN0X2VudW0gc2VsKTsKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl92Y2FtZF9jYWxvYyh2Y2FtZF9jYWxvY19lbnVtIHNlbCk7CisKKy8vICgweDQzKSBMRE8gQ1RSTCA0MiBWR1AKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl92Z3Bfc2VsKHZncF9zZWxfZW51bSBzZWwpOworZXh0ZXJuIHZvaWQgZGNsX3BtaWM2MzI2X3ZncF9lbmFibGUoa2FsX2Jvb2wgZW5hYmxlKTsKKworLy8gKDB4NDQpIExETyBDVFJMIDQzIFZHUAorZXh0ZXJuIHZvaWQgZGNsX3BtaWM2MzI2X3ZncF9jYWwoa2FsX3VpbnQ4IHZhbCk7CisKKy8vICgweDQ2KSBMRE8gQ1RSTCA0NSBWU0RJTworZXh0ZXJuIHZvaWQgZGNsX3BtaWM2MzI2X3ZzZGlvX2ljYWxfZW4odnNkaW9faWNhbF9lbl9lbnVtIHNlbCk7CitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfdnNkaW9fZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfdnNkaW9fZW5fZm9yY2Uoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl92c2Rpb19jYWwoa2FsX3VpbnQ4IHZhbCk7CisKKy8vICgweDQ3KSBMRE8gQ1RSTCA0NiBWU0RJTworZXh0ZXJuIHZvaWQgZGNsX3BtaWM2MzI2X3ZzZGlvX2NhbHN0KHZzZGlvX2NhbHN0X2VudW0gc2VsKTsKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl92c2Rpb19jYWxvYyh2c2Rpb19jYWxvY19lbnVtIHNlbCk7CitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfdnNkaW9fcGxubW9zX2RpcyhrYWxfYm9vbCBkaXNhYmxlKTsKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl92c2Rpb19zZWwodnNkaW9fc2VsX2VudW0gc2VsKTsKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl92c2Rpb19jbSh2c2Rpb19jbV9lbnVtIHNlbCk7CisKKy8vICgweDQ4KSBMRE8gQ1RSTCA0NyBWU0RJTworZXh0ZXJuIHZvaWQgZGNsX3BtaWM2MzI2X3Zjb3JlMV9kdmZzX3N0ZXBfaW5jKGthbF91aW50OCB2YWwpOworCisvLyAoMHg0RSkgQlVDSyBDVFJMIDYgVkNPUkUxCitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfdmNvcmUxX2R2ZnNfMF9lY28zKGthbF91aW50OCB2YWwpOworCisvLyAoMHg0RikgQlVDSyBDVFJMIDcgVkNPUkUxCitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfdmNvcmUxX3NsZWVwXzBfZWNvMyhrYWxfdWludDggdmFsKTsKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl92Y29yZTFfZHZmc19yYW1wX2VuYWJsZShrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIHZvaWQgZGNsX3BtaWM2MzI2X3Zjb3JlMV9kdmZzX3RhcmdldF91cGRhdGUoa2FsX2Jvb2wgdXBkYXRlKTsKKworLy8gKDB4NTEpIEJVQ0sgQ1RSTCA5IFZDT1JFMgorZXh0ZXJuIHZvaWQgZGNsX3BtaWM2MzI2X3Zjb3JlMl9kdmZzXzBfZWNvMyhrYWxfdWludDggdmFsKTsKKworCisvLyAoMHg1MikgQlVDSyBDVFJMIDEwIFZDT1JFMgorZXh0ZXJuIHZvaWQgZGNsX3BtaWM2MzI2X3Zjb3JlMl9lbmFibGUoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl92Y29yZTJfc2xlZXBfMF9lY28zKGthbF91aW50OCB2YWwpOworCisvLyAoMHg1MykgQlVDSyBDVFJMIDExIFZDT1JFMgorZXh0ZXJuIHZvaWQgZGNsX3BtaWM2MzI2X3Zjb3JlMl9vbl9zZWwodmNvcmUyX29uX3NlbF9lbnVtIHNlbCk7CisKKy8vICgweDU0KQorZXh0ZXJuIHZvaWQgZGNsX3BtaWM2MzI2X3Zjb3JlMl9wbG5tb3NfZGlzKGthbF9ib29sIGRpc2FibGUpOworCisKKy8vICgweDU3KSBCVUNLIENUUkwgMTUgVk1FTQorZXh0ZXJuIHZvaWQgZGNsX3BtaWM2MzI2X3Zjb3JlMV9zbGVlcF8xX2VjbzMoa2FsX3VpbnQ4IHZhbCk7CitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfdmNvcmUxX2R2ZnNfMV9lY28zKGthbF91aW50OCB2YWwpOworCisvLyAoMHg1OCkgQlVDSyBDVFJMIDE2IFZQQQorZXh0ZXJuIHZvaWQgZGNsX3BtaWM2MzI2X3ZwYV90dW5laChrYWxfdWludDggdmFsdWUpOworZXh0ZXJuIHZvaWQgZGNsX3BtaWM2MzI2X3ZwYV9lbl9mb3JjZShrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIHZvaWQgZGNsX3BtaWM2MzI2X3ZwYV9wbG5tb3NfZGlzKGthbF9ib29sIGRpc2FibGUpOworZXh0ZXJuIHZvaWQgZGNsX3BtaWM2MzI2X3ZwYV9lbmFibGUoa2FsX2Jvb2wgZW5hYmxlKTsKKworLy8gKDB4NTkpIEJVQ0sgQ1RSTCAxNyBWUEEKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl92cGFfdHVuZWwoa2FsX3VpbnQ4IHZhbHVlKTsKKworLy8gKDB4NUEpIEJVQ0sgQ1RSTCAxOCBWUEEKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl92cGFfb2NfdHVuZShrYWxfdWludDggdmFsKTsKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl92cGFfYmF0X2xvdyhrYWxfYm9vbCBiYXRfbG93KTsKKworLy8gKDB4NUMpIEJPT1NUIENUUkwgMSBCT09TVDEKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl92Ym9vc3QxX3R1bmUodmJvb3N0MV90dW5lX2VudW0gc2VsKTsKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl92Ym9vc3QxX3RhdHQoa2FsX3VpbnQ4IHZhbCk7CisKKy8vICgweDVEKSBCT09TVCBDVFJMIDIgQk9PU1QxCitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfYm9vc3QxX29jX3RoKGthbF91aW50OCB2YWwpOworZXh0ZXJuIHZvaWQgZGNsX3BtaWM2MzI2X2Jvb3N0MV9lbmFibGUoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl9ib29zdDFfcHJlX3NyX2NvbihrYWxfdWludDggdmFsKTsKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl9ib29zdDFfc29mdF9zdF9zcGVlZChib29zdDFfc29mdF9zdF9zcGVlZF9lbnVtIHNlbCk7CisKKy8vICgweDVFKSBCT09TVCBDVFJMIDMgQk9PU1QxCitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfYm9vc3QxX2Rpb19zcl9jb24oa2FsX3VpbnQ4IHZhbCk7CitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfYm9vc3QxX3N5bmNfZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CisKKworLy8gKDB4NUYpIEJPT1NUIENUUkwgNCBCT09TVDIKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl9ib29zdDJfdHVuZSh2Ym9vc3QyX3R1bmVfZW51bSBzZWwpOworZXh0ZXJuIHZvaWQgZGNsX3BtaWM2MzI2X2Jvb3RzMl9vY190aChib29zdDJfb2NfdGhfZW51bSBzZWwpOworZXh0ZXJuIHZvaWQgZGNsX3BtaWM2MzI2X2Jvb3N0Ml9kaW1fc291cmNlKGJvb3N0Ml9kaW1fc291cmNlX2VudW0gc2VsKTsKKworLy8gKDB4NjApIEJPT1NUIENUUkwgNSBCT09TVDIKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl9ib29zdDJfcHJlX3NyX2NvbihrYWxfdWludDggdmFsKTsKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl9ib29zdDJfZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CisKKy8vICgweDYxKSBCT09TVCBDVFJMIDYgQk9PU1QyIGFuZCBCT09TVAorZXh0ZXJuIHZvaWQgZGNsX3BtaWM2MzI2X2Jvb3N0X21vZGUoYm9vc3RfbW9kZV9zZWxfZW51bSBzZWwpOworCitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfdmJ1c19lbmFibGUoa2FsX2Jvb2wgZW5hYmxlKTsKKworLy8gKDB4NjQpIERSSVZFUiBDVFJMIDMgR0VOCitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfaWdlbl9kcnZfaXNlbChrYWxfdWludDggc2VsKTsKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl9pZ2VuX2Rydl9mb3JjZShrYWxfYm9vbCBmb3JjZSk7CitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfdmdlbl9kcnZfYmdzZWwoa2FsX3VpbnQ4IHNlbCk7CisKKy8vICgweDY1KSBEUklWRVIgQ1RSTCA0IEZMQVNICitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfZmxhc2hfaV90dW5lKGthbF91aW50OCB2YWwpOworZXh0ZXJuIHZvaWQgZGNsX3BtaWM2MzI2X2ZsYXNoX2RpbV9kaXYoa2FsX3VpbnQ4IHZhbCk7CisKKy8vICgweDY2KSBEUklWRVIgQ1RSTCA1IEZMQVNICitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfZmxhc2hfZGltX2R1dHkoa2FsX3VpbnQ4IGR1dHkpOworZXh0ZXJuIHZvaWQgZGNsX3BtaWM2MzI2X2ZsYXNoX2VuYWJsZShrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIHZvaWQgZGNsX3BtaWM2MzI2X2ZsYXNoX2J5cGFzcyhrYWxfYm9vbCBieXBhc3MpOworCisvLyAoMHg2NykgRFJJVkVSIENUUkwgNiBCTAorZXh0ZXJuIHZvaWQgZGNsX3BtaWM2MzI2X2JsX2RpbV9kdXR5KGthbF91aW50OCBkdXR5KTsKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl9ibF9lbmFibGUoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl9ibF9pX2NhbF9lbmFibGUoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl9ibF9ieXBhc3Moa2FsX2Jvb2wgYnlwYXNzKTsKKworLy8gKDB4NjgpIERSSVZFUiBDVFJMIDcgQkwKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl9ibF9pX2NvcnNlX3R1bmUoYmxfaV9jb3JzZV90dW5lX2VudW0gc2VsKTsKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl9ibF9pX2ZpbmVfdHVuZShibF9pX2ZpbmVfdHVuZV9lbnVtIHNlbCk7CisKKy8vICgweDZEKSBEUklWRVIgQ1RSTCAxMiBCTAorZXh0ZXJuIHZvaWQgZGNsX3BtaWM2MzI2X2JsX2RpbV9kaXYoa2FsX3VpbnQ4IHZhbCk7CitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfYmxfbnVtYmVyKGJsX251bWJlcl9lbnVtIG51bSk7CisKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl9pbml0X2JsKGJvb3N0X21vZGVfc2VsX2VudW0gYm9vc3RfbW9kZSk7CisKKy8vICgweDZFKSBEUklWRVIgQ1RSTCAxMyBLUAorZXh0ZXJuIHZvaWQgZGNsX3BtaWM2MzI2X2twX2RpbV9kaXYoa2FsX3VpbnQ4IHZhbCk7CitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfa3BfZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CisKKy8vICgweDZGKSBEUklWRVIgQ1RSTCAxNCBLUAorZXh0ZXJuIHZvaWQgZGNsX3BtaWM2MzI2X2twX2RpbV9kdXR5KGthbF91aW50OCBkdXR5KTsKKworLy8gKDB4NzApIERSSVZFUiBDVFJMIDE1IFZJQlIKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl92aWJyX2RpbV9kaXYoa2FsX3VpbnQ4IHZhbCk7CitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfdmlicl9lbmFibGUoa2FsX2Jvb2wgZW5hYmxlKTsKKworLy8gKDB4NzEpIERSSVZFUiBDVFJMIDE2IFZJQlIKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl92aWJyX2RpbV9kdXR5KGthbF91aW50OCBkdXR5KTsKKworLy8gKDB4NzIpIERSSVZFUiBDVFJMIDE3IGRpbV9ja19mb3JjZV9vbgorZXh0ZXJuIHZvaWQgZGNsX3BtaWM2MzI2X2RpbV9ja19mb3JjZV9vbihrYWxfYm9vbCBlbmFibGUpOworCisvLyAoMHg3MykgQ0xBU1NfRCBDVFJMIDMgU1BLTAorZXh0ZXJuIHZvaWQgZGNsX3BtaWM2MzI2X3Nwa2xfZHRpbihrYWxfdWludDggdmFsKTsKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl9zcGtsX2R0aXAoa2FsX3VpbnQ4IHZhbCk7CisKKy8vICgweDc0KSBDTEFTU19EIENUUkwgNCBTUEtMCitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfc3BrbF9kbW9kZShzcGtsX2Rtb2RlX2VudW0gc2VsKTsKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl9zcGtsX2VuYWJsZShrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIHZvaWQgZGNsX3BtaWM2MzI2X3Nwa2xfZHRjYWwoc3BrbF9kdGNhbF9lbnVtIHNlbCk7CisKKy8vICgweDc4KSBDTEFTU19EIENUUkwgOCBTUEtSCitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfc3Brcl9kdGluKGthbF91aW50OCB2YWwpOworZXh0ZXJuIHZvaWQgZGNsX3BtaWM2MzI2X3Nwa3JfZHRpcChrYWxfdWludDggdmFsKTsKKworLy8gKDB4NzkpIENMQVNTX0QgQ1RSTCA5IFNQS1IKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl9zcGtyX2Rtb2RlKHNwa3JfZG1vZGVfZW51bSBzZWwpOworZXh0ZXJuIHZvaWQgZGNsX3BtaWM2MzI2X3Nwa3JfZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfc3Brcl9kdGNhbChzcGtyX2R0Y2FsX2VudW0gc2VsKTsKKworCisvLyAoMHg4MSkgQ0hBUkdFUiBDVFJMIDEKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl9jaHJfb2Zmc2V0KGNodF9jaHJfb2Zmc2V0X2VudW0gc2VsKTsKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl9jaHJfb3ZfdGhfaGlnaCh2b2lkKTsKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl9jaHJfY3VycmVudChjaHJfY2hyX2N1cnJlbnRfZW51bSBjdXJyZW50KTsKK2V4dGVybiBjaHJfY2hyX2N1cnJlbnRfZW51bSBwbWljX2dldF9jaHJfY3VycmVudCh2b2lkKTsKKworLy8gKDB4ODIpIENIQVJHRVIgQ1RSTCAyCitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfY2hyX2N2X3J0KHZvaWQpOworZXh0ZXJuIHZvaWQgZGNsX3BtaWM2MzI2X2Nocl9mb3JjZShrYWxfYm9vbCBmb3JjZSk7CitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfY2hyX2Nocl9lbmFibGUoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl9jaHJfY3ZfdHVuZSh2b2lkKTsKKy8vICgweDgzKSBURVNUTU9ERSBDVFJMIDMgQW5hbG9nIFN3aXRjaAorZXh0ZXJuIHZvaWQgZGNsX3BtaWM2MzI2X2Fzd19hc2VsKGFzd19hc2VsX2VudW0gc2VsKTsKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl9hc3dfYnNlbChhc3dfYnNlbF9lbnVtIHNlbCk7CitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfYXN3X2Exc2VsKGthbF91aW50OCBzZWwpOworZXh0ZXJuIHZvaWQgZGNsX3BtaWM2MzI2X2Fzd19hMnNlbChrYWxfdWludDggc2VsKTsKKy8vICgweDg2KSBURVNUTU9ERSBDVFJMIDYgQkIgQVVYQURDIFJlbGF0ZWQKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl9hZGNfaXNlbnNlX2VuYWJsZShrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIHZvaWQgZGNsX3BtaWM2MzI2X2FkY192YmF0X2VuYWJsZShrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIHZvaWQgZGNsX3BtaWM2MzI2X2FkY19tZWFzX29uKGthbF9ib29sIG9uKTsJCS8vIGV4cG9ydGVkIGZvciBjb250cm9saW5nIHZiYXQsIGlzZW5zZSBhZGMgbWVhc3VyZSBhdCBzYW1lIHRpbWUKKworLy8gKDB4ODkpIElOVCBDVFJMIDEKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl9pbnRfY3RybF8xX2VuYWJsZShpbnRfY3RybF8xX2VudW0gc2VsLCBrYWxfYm9vbCBlbmFibGUpOworLy8gKDB4OEEpIElOVCBDVFJMIDIKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl9pbnRfY3RybF8yX2VuYWJsZShpbnRfY3RybF8yX2VudW0gc2VsLCBrYWxfYm9vbCBlbmFibGUpOworLy8gKDB4OEIpIElOVCBDVFJMIDIKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl9pbnRfY3RybF8zX2VuYWJsZShpbnRfY3RybF8zX2VudW0gc2VsLCBrYWxfYm9vbCBlbmFibGUpOworCisKKy8vICgweDhGKSAKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl9zdF9nZWFyX3Z3aWZpM3YzKHN0X2dlYXJfdndpZmkzdjMgZ2Vhcik7CitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfc3RfZ2Vhcl92d2lmaTJ2OChzdF9nZWFyX3Z3aWZpMnY4IGdlYXIpOworLy8gKDB4OTApCitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfc3RfZ2Vhcl92c2RpbyhzdF9nZWFyX3ZzZGlvIGdlYXIpOworCisvLyAoMHg5MikKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl9vY19nZWFyX3Z3aWZpM3YzKG9jX2dlYXJfdndpZmkzdjMgZ2Vhcik7CitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfb2NfZ2Vhcl92d2lmaTJ2OChvY19nZWFyX3Z3aWZpMnY4IGdlYXIpOworLy8gKDB4OTMpCitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfb2NfZ2Vhcl92c2RpbyhvY19nZWFyX3ZzZGlvIGdlYXIpOworCisKKworCisvLyAoMHg5NikgV0FUQ0hET0cgQ1RSTCBhbmQgSU5UIENUUkwgNAorZXh0ZXJuIHZvaWQgZGNsX3BtaWM2MzI2X3dkdF90aW1lb3V0KHdkdF90aW1vdXRfZW51bSBzZWwpOworZXh0ZXJuIHZvaWQgZGNsX3BtaWM2MzI2X2ludHJfcG9sYXJpdHkoa2FsX2Jvb2wgaXNfYXNzZXJ0KTsKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl93ZHRfZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CisKKworLy8gQ29tYmluYXRpb25hbCBmdW5jdGlvbnMKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl92Z3AyX2VuYWJsZShrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIHZvaWQgZGNsX3BtaWM2MzI2X3ZncDJfc2VsKHZncDJfc2VsX2VudW0gc2VsKTsKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyNl92Z3AyX29uX3NlbCh2Z3AyX29uX3NlbF9lbnVtIHNlbCk7CitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfdmdwMl9zZWxsKGthbF91aW50OCB2YWx1ZSk7CitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfdmdwMl9zZWxoKGthbF91aW50OCB2YWx1ZSk7CitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfdmdwMl9vY2ZiX2VuYWJsZShrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIHZvaWQgZGNsX3BtaWM2MzI2X3ZzaW0yX2VuYWJsZShrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIHZvaWQgZGNsX3BtaWM2MzI2X3ZzaW0yX3NlbCh2c2ltX3NlbF9lbnVtIHNlbCk7CitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfc3BrX2VuYWJsZShrYWxfYm9vbCBlbmFibGUpOworCitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfRU1fcmVnX3dyaXRlKGthbF91aW50OCByZWcsIGthbF91aW50OCB2YWwpOworZXh0ZXJuIGthbF91aW50OCBkY2xfcG1pYzYzMjZfRU1fcmVnX3JlYWQoa2FsX3VpbnQ4IHJlZyk7CisKKyNpZiBkZWZpbmVkKERSVl9NSVNDX1BNSUNfQVNTRVJUX0tFRVBfQ0hBUkdJTkcpCitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjZfYXNzZXJ0X2NoYWdpbmdfa2ljayh2b2lkKTsKKyNlbmRpZiAvLyAjaWYgZGVmaW5lZChEUlZfTUlTQ19QTUlDX0FTU0VSVF9LRUVQX0NIQVJHSU5HKQorCisvKgorLy8gVGhlIGZvbGxvd2luZyBhcmUgaW1wbGVtZW50ZWQgaW4gY3VzdG9tIGZpbGVzCisvLyBNb0RJUyBwYXJzZXIgc2tpcCBzdGFydAorZXh0ZXJuIHZvaWQgcG1pYzYzMjZfY3VzdG9taXphdGlvbl9pbml0KHZvaWQpOworZXh0ZXJuIHZvaWQgcG1pYzYzMjZfY3VzdF92c3BrX2VuYWJsZShrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIHZvaWQgcG1pYzYzMjZfY3N1dF92c2ltX2VuYWJsZShrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIHZvaWQgcG1pYzYzMjZfY3N1dF92c2ltX3NlbChwbWljX2FkcHRfdnNpbV92b2x0IHZvbHQpOworZXh0ZXJuIHZvaWQgcG1pYzYzMjZfY3N1dF92c2ltMl9lbmFibGUoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiB2b2lkIHBtaWM2MzI2X2NzdXRfdnNpbTJfc2VsKHBtaWNfYWRwdF92c2ltX3ZvbHQgc2VsKTsKK2V4dGVybiB2b2lkIHBtaWM2MzI2X2NzdXRfdnVzYl9lbmFibGUoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiB2b2lkIHBtaWM2MzI2X2NzdXRfdmNhbWFfZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4gdm9pZCBwbWljNjMyNl9jc3V0X3ZjYW1hX3NlbChwbWljX2FkcHRfdmNhbWFfdm9sdCB2b2wpOworZXh0ZXJuIHZvaWQgcG1pYzYzMjZfY3N1dF92Y2FtZF9lbmFibGUoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiB2b2lkIHBtaWM2MzI2X2NzdXRfdmNhbWRfc2VsKHBtaWNfYWRwdF92Y2FtZF92b2x0IHZvbHQpOworLy8gTW9ESVMgcGFyc2VyIHNraXAgZW5kCisqLworCisKKy8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCisvKgordHlwZWRlZiBlbnVtCit7CisJVlJGLAorCVZUQ1hPLAorCVYzR1RYLAorCVYzR1JYLAorCVZBLAorCVZJTywKKwlWUlRDLAorCVZDQU1BLAorCVZDQU1ELAorCVZXSUZJM1YzLAorCVZXSUZJMlY4LAorCVZTSU0sCisJVkJULAorCVZVU0IsCisJVkdQLAorCVZTSU0yPVZHUCwKKwlWR1AyLAorCVZTRElPLAorCVZDT1JFLAorCVZDT1JFMSwKKwlWQ09SRTIsCisJVk0sCisJVk1FTSwKKwlWSUJSLAorCVBNVV9MRE9fQlVDS19NQVgsCisJVlJGMTgsCisJVkZNLAorCVZNQworfVBNVV9MRE9fQlVDS19MSVNUX0VOVU07CisKK3R5cGVkZWYgZW51bQoreworCVZQQTEsCisJUE1VX1ZQQV9NQVgKK31QTVVfVlBBX0xJU1RfRU5VTTsKKwordHlwZWRlZiBlbnVtCit7CisJQ0hSLAorCVBNVV9DSFJfTUFYCit9UE1VX0NIUl9MSVNUX0VOVU07CisKK3R5cGVkZWYgZW51bQoreworCVNQSywKKwlQTVVfU1BLX01BWAorfVBNVV9TUEtfTElTVF9FTlVNOworCit0eXBlZGVmIGVudW0KK3sKKwlQTVVfSVNJTktfTUFYCit9UE1VX0lTSU5LX0xJU1RfRU5VTTsKKwordHlwZWRlZiBlbnVtCit7CisJQk9PU1QxLAorCUJPT1NUMiwKKwlQTVVfQk9PU1RfTUFYCit9UE1VX0JPT1NUX0xJU1RfRU5VTTsKKyovCisKKworI2VuZGlmIC8vICNpZmRlZiBQTUlDXzYzMjZfUkVHX0FQSQorI2VuZGlmIC8vICNpZm5kZWYgX19EQ0xfUE1VNjMyNl9TV19IX1NUUlVDVF9fCisKKworCmRpZmYgLS1naXQgYS9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL2RjbF9wbWljNjMyN19ody5oIGIvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9kY2xfcG1pYzYzMjdfaHcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZTA5ODllCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9kY2xfcG1pYzYzMjdfaHcuaApAQCAtMCwwICsxLDEyMzcgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxMQorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLiAKKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGaWxlbmFtZToKKyAqIC0tLS0tLS0tLQorICogICAgZGNsX3BtdTYzMjdfaHcuaAorICoKKyAqIFByb2plY3Q6CisgKiAtLS0tLS0tLQorICogICBNYXVpX1NvZnR3YXJlCisgKgorICogRGVzY3JpcHRpb246CisgKiAtLS0tLS0tLS0tLS0KKyAqICAgVGhpcyBmaWxlIGlzIGZvciBQTUlDNjMyNyBIL1cgY29uZmlndXJhdGlvbi4KKyAqCisgKiBBdXRob3I6CisgKiAtLS0tLS0tCisgKiAtLS0tLS0tCisgKgorICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKiAgICAgICAgICAgICBISVNUT1JZCisgKiBCZWxvdyB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiBVcHBlciB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworCisjaWZuZGVmIF9fRENMX1BNSUM2MzI3X0hXX0hfU1RSVUNUX18KKyNkZWZpbmUgX19EQ0xfUE1JQzYzMjdfSFdfSF9TVFJVQ1RfXworCisKKyNpbmNsdWRlICJkY2xfcG1pY19mZWF0dXJlcy5oIgorCisjaWYgZGVmaW5lZChQTUlDXzYzMjdfUkVHX0FQSSkKKyNkZWZpbmUgUE1JQ19CQU5LMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAKKworI2RlZmluZSBQTUlDNjMyN19FMV9WRVJTSU9OICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxCisKKyNkZWZpbmUgUE1JQzYzMjdfRTFfQ0lEX0NPREUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgyNworCisvL1JlZ2lzdGVyVE9QCisKKy8vICgweDAwMCkgQ0lEMAorLy8gKFJPKQorI2RlZmluZSAgICBDSUQwX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwCisjZGVmaW5lICAgIENJRDBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkYKKyNkZWZpbmUgICAgQ0lEMF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMAorCisvLyAoMHgwMDEpIEkyQzAKKy8vIChSVykKKyNkZWZpbmUgICAgU0RBX0RFX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMQorI2RlZmluZSAgICBTREFfREVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEYwCisjZGVmaW5lICAgIFNEQV9ERV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQKKworLy8gKFJXKQorI2RlZmluZSAgICBTQ0xfREVfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxCisjZGVmaW5lICAgIFNDTF9ERV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MEYKKyNkZWZpbmUgICAgU0NMX0RFX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMAorCisvLyAoMHgwMDIpIFNUQVRVUzAKKy8vIChSTykKKyNkZWZpbmUgICAgVk1EX1NUQVRVU19BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMgorI2RlZmluZSAgICBWTURfU1RBVFVTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDgwCisjZGVmaW5lICAgIFZNRF9TVEFUVVNfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDcKKworLy8gKFJPKQorI2RlZmluZSAgICBWSU8xOF9TVEFUVVNfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAyCisjZGVmaW5lICAgIFZJTzE4X1NUQVRVU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MjAKKyNkZWZpbmUgICAgVklPMThfU1RBVFVTX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNQorCisvLyAoUk8pCisjZGVmaW5lICAgIFZSRjE4X1NUQVRVU19BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDIKKyNkZWZpbmUgICAgVlJGMThfU1RBVFVTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxMAorI2RlZmluZSAgICBWUkYxOF9TVEFUVVNfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0CisKKy8vIChSTykKKyNkZWZpbmUgICAgVlRDWE9fU1RBVFVTX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMgorI2RlZmluZSAgICBWVENYT19TVEFUVVNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAyCisjZGVmaW5lICAgIFZUQ1hPX1NUQVRVU19TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKKworLy8gKFJPKQorI2RlZmluZSAgICBWQTI1X1NUQVRVU19BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAyCisjZGVmaW5lICAgIFZBMjVfU1RBVFVTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEKKyNkZWZpbmUgICAgVkEyNV9TVEFUVVNfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMAorCisvLyAoMHgwMDMpIFNUQVRVUzEKKy8vIChSTykKKyNkZWZpbmUgICAgVk1fU1RBVFVTX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMworI2RlZmluZSAgICBWTV9TVEFUVVNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDQwCisjZGVmaW5lICAgIFZNX1NUQVRVU19TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDYKKworLy8gKFJPKQorI2RlZmluZSAgICBWU0lNX1NUQVRVU19BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAzCisjZGVmaW5lICAgIFZTSU1fU1RBVFVTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDgKKyNkZWZpbmUgICAgVlNJTV9TVEFUVVNfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMworCisvLyAoMHgwMDQpIFNUQVRVUzIKKy8vIChSTykKKyNkZWZpbmUgICAgVk1DX1NUQVRVU19BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwNAorI2RlZmluZSAgICBWTUNfU1RBVFVTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDIwCisjZGVmaW5lICAgIFZNQ19TVEFUVVNfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUKKworLy8gKDB4MDA1KSBQR1NUQVRVUzAKKy8vIChSTykKKyNkZWZpbmUgICAgVk1EX1BHX1NUQVRVU19BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwNQorI2RlZmluZSAgICBWTURfUEdfU1RBVFVTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDgwCisjZGVmaW5lICAgIFZNRF9QR19TVEFUVVNfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDcKKworLy8gKFJPKQorI2RlZmluZSAgICBWVENYT19QR19TVEFUVVNfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDA1CisjZGVmaW5lICAgIFZUQ1hPX1BHX1NUQVRVU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEKKyNkZWZpbmUgICAgVlRDWE9fUEdfU1RBVFVTX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgMAorCisvLyAoMHgwMDYpIFBHU1RBVFVTMQorLy8gKFJPKQorI2RlZmluZSAgICBWSU8xOF9QR19TVEFUVVNfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDA2CisjZGVmaW5lICAgIFZJTzE4X1BHX1NUQVRVU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MjAKKyNkZWZpbmUgICAgVklPMThfUEdfU1RBVFVTX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgNQorCisvLyAoUk8pCisjZGVmaW5lICAgIFZBMjVfUEdfU1RBVFVTX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDYKKyNkZWZpbmUgICAgVkEyNV9QR19TVEFUVVNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwOAorI2RlZmluZSAgICBWQTI1X1BHX1NUQVRVU19TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAzCisKKy8vICgweDAwNykgT0NTVEFUVVMwCisvLyAoUk8pCisjZGVmaW5lICAgIFFJX1ZNX09DX1NUQVRVU19BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDcKKyNkZWZpbmUgICAgUUlfVk1fT0NfU1RBVFVTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg0MAorI2RlZmluZSAgICBRSV9WTV9PQ19TVEFUVVNfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICA2CisKKy8vIChSTykKKyNkZWZpbmUgICAgUUlfVk1DX09DX1NUQVRVU19BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwNworI2RlZmluZSAgICBRSV9WTUNfT0NfU1RBVFVTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAweDIwCisjZGVmaW5lICAgIFFJX1ZNQ19PQ19TVEFUVVNfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgIDUKKworLy8gKFJPKQorI2RlZmluZSAgICBRSV9WU0lNX09DX1NUQVRVU19BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAweDA3CisjZGVmaW5lICAgIFFJX1ZTSU1fT0NfU1RBVFVTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDgKKyNkZWZpbmUgICAgUUlfVlNJTV9PQ19TVEFUVVNfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgMworCisvLyAoMHgwMDgpIE9DU1RBVFVTMQorLy8gKFJPKQorI2RlZmluZSAgICBRSV9WTURfT0NfU1RBVFVTX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAweDA4CisjZGVmaW5lICAgIFFJX1ZNRF9PQ19TVEFUVVNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4ODAKKyNkZWZpbmUgICAgUUlfVk1EX09DX1NUQVRVU19TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgNworCisvLyAoUk8pCisjZGVmaW5lICAgIFFJX1ZJTzE4X09DX1NUQVRVU19BRERSICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDgKKyNkZWZpbmUgICAgUUlfVklPMThfT0NfU1RBVFVTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHgyMAorI2RlZmluZSAgICBRSV9WSU8xOF9PQ19TVEFUVVNfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICA1CisKKy8vIChSTykKKyNkZWZpbmUgICAgUUlfVlJGMThfT0NfU1RBVFVTX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgMHgwOAorI2RlZmluZSAgICBRSV9WUkYxOF9PQ19TVEFUVVNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAweDEwCisjZGVmaW5lICAgIFFJX1ZSRjE4X09DX1NUQVRVU19TSElGVCAgICAgICAgICAgICAgICAgICAgICAgIDQKKworLy8gKFJPKQorI2RlZmluZSAgICBRSV9WVENYT19PQ19TVEFUVVNfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAweDA4CisjZGVmaW5lICAgIFFJX1ZUQ1hPX09DX1NUQVRVU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDIKKyNkZWZpbmUgICAgUUlfVlRDWE9fT0NfU1RBVFVTX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgMQorCisvLyAoUk8pCisjZGVmaW5lICAgIFFJX1ZBMjVfT0NfU1RBVFVTX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDgKKyNkZWZpbmUgICAgUUlfVkEyNV9PQ19TVEFUVVNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMQorI2RlZmluZSAgICBRSV9WQTI1X09DX1NUQVRVU19TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAwCisKKy8vICgweDAwOSkgQkdSMAorLy8gKFJXKQorI2RlZmluZSAgICBSR19CR1JfUlNFTF9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDA5CisjZGVmaW5lICAgIFJHX0JHUl9SU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NzAKKyNkZWZpbmUgICAgUkdfQkdSX1JTRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNAorCisvLyAoUlcpCisjZGVmaW5lICAgIHJnX3N3X2Jncl90cmltX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDkKKyNkZWZpbmUgICAgcmdfc3dfYmdyX3RyaW1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwNAorI2RlZmluZSAgICByZ19zd19iZ3JfdHJpbV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAyCisKKy8vIChSVykKKyNkZWZpbmUgICAgUkdfQkdSX1VOQ0hPUF9QSF9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwOQorI2RlZmluZSAgICBSR19CR1JfVU5DSE9QX1BIX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAyCisjZGVmaW5lICAgIFJHX0JHUl9VTkNIT1BfUEhfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgIDEKKworLy8gKFJXKQorI2RlZmluZSAgICBSR19CR1JfVU5DSE9QX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDA5CisjZGVmaW5lICAgIFJHX0JHUl9VTkNIT1BfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEKKyNkZWZpbmUgICAgUkdfQkdSX1VOQ0hPUF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMAorCisvLyAoMHgwMEEpIEJHUjEKKy8vIChSVykKKyNkZWZpbmUgICAgUkdfQkdSX1RFU1RfRU5fQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwQQorI2RlZmluZSAgICBSR19CR1JfVEVTVF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDgwCisjZGVmaW5lICAgIFJHX0JHUl9URVNUX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgIDcKKworLy8gKFJXKQorI2RlZmluZSAgICBSR19CR1JfVEVTVF9SU1RCX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAweDBBCisjZGVmaW5lICAgIFJHX0JHUl9URVNUX1JTVEJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NDAKKyNkZWZpbmUgICAgUkdfQkdSX1RFU1RfUlNUQl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgNgorCisvLyAoUlcpCisjZGVmaW5lICAgIFJHX0JHUl9UUklNX0VOX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MEEKKyNkZWZpbmUgICAgUkdfQkdSX1RSSU1fRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgyMAorI2RlZmluZSAgICBSR19CR1JfVFJJTV9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICA1CisKKy8vIChSVykKKyNkZWZpbmUgICAgUkdfQkdSX1RSSU1fQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwQQorI2RlZmluZSAgICBSR19CR1JfVFJJTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDFGCisjZGVmaW5lICAgIFJHX0JHUl9UUklNX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAKKworLy8gKDB4MDBCKSBJMkNfUlNUMAorLy8gKFJXKQorI2RlZmluZSAgICBJMkNfUlNUMF9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDBCCisjZGVmaW5lICAgIEkyQ19SU1QwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkYKKyNkZWZpbmUgICAgSTJDX1JTVDBfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMAorCisvLyAoMHgwMEMpIE1PREVTCisvLyAoUlcpCisjZGVmaW5lICAgIFNEQV9EUlZfU0VMX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MEMKKyNkZWZpbmUgICAgU0RBX0RSVl9TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwNAorI2RlZmluZSAgICBTREFfRFJWX1NFTF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyCisKKy8vIChSVykKKyNkZWZpbmUgICAgUkdfQkdSX1RSSU1fTU9ERV9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwQworI2RlZmluZSAgICBSR19CR1JfVFJJTV9NT0RFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAyCisjZGVmaW5lICAgIFJHX0JHUl9UUklNX01PREVfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgIDEKKworLy8gKFJXKQorI2RlZmluZSAgICBSR19CVUNLX1RSSU1fTU9ERV9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAweDBDCisjZGVmaW5lICAgIFJHX0JVQ0tfVFJJTV9NT0RFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEKKyNkZWZpbmUgICAgUkdfQlVDS19UUklNX01PREVfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgMAorCisvLyAoMHgwMEQpIFNDQU5fTU9ERQorLy8gKFJXKQorI2RlZmluZSAgICBSR19TQ0FOX0tFWV9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDBECisjZGVmaW5lICAgIFJHX1NDQU5fS0VZX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkYKKyNkZWZpbmUgICAgUkdfU0NBTl9LRVlfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMAorCisvLyAoMHgwMEUpIEkyQ19USU1FT1VUCisvLyAoUlcpCisjZGVmaW5lICAgIEkyQ19USU1FT1VUX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MEUKKyNkZWZpbmUgICAgSTJDX1RJTUVPVVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhGMAorI2RlZmluZSAgICBJMkNfVElNRU9VVF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0CisKKy8vICgweDAwRikgUEFEX0dQTworLy8gKFJXKQorI2RlZmluZSAgICBQQURfU1JDTEtFTl9HUE9fQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDBGCisjZGVmaW5lICAgIFBBRF9TUkNMS0VOX0dQT19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RjAKKyNkZWZpbmUgICAgUEFEX1NSQ0xLRU5fR1BPX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgNAorCisvLyAoUlcpCisjZGVmaW5lICAgIFBBRF9TWVNSU1RCX0dQT19BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MEYKKyNkZWZpbmUgICAgUEFEX1NZU1JTVEJfR1BPX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwRQorI2RlZmluZSAgICBQQURfU1lTUlNUQl9HUE9fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAxCisKKy8vUmVnaXN0ZXIgU1RSVVAKKworLy8gKDB4MDIwKSBTVFJVUF9DVFJMMQorLy8gKFJXKQorI2RlZmluZSAgICBSR19USFJERVRfU0VMX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDIwCisjZGVmaW5lICAgIFJHX1RIUkRFVF9TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NDAKKyNkZWZpbmUgICAgUkdfVEhSREVUX1NFTF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNgorCisvLyAoUlcpCisjZGVmaW5lICAgIFJHX1RIUl9IV1BETl9FTl9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MjAKKyNkZWZpbmUgICAgUkdfVEhSX0hXUEROX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgyMAorI2RlZmluZSAgICBSR19USFJfSFdQRE5fRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICA1CisKKy8vIChSVykKKyNkZWZpbmUgICAgUkdfU1RSVVBfVEhSX1NFTF9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgyMAorI2RlZmluZSAgICBSR19TVFJVUF9USFJfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAweDE4CisjZGVmaW5lICAgIFJHX1NUUlVQX1RIUl9TRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgIDMKKworLy8gKFJXKQorI2RlZmluZSAgICBSR19USFJfVE1PREVfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDIwCisjZGVmaW5lICAgIFJHX1RIUl9UTU9ERV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDIKKyNkZWZpbmUgICAgUkdfVEhSX1RNT0RFX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQorCisvLyAoUlcpCisjZGVmaW5lICAgIFJHX1BNVV9QR0RFVF9ESVNfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MjAKKyNkZWZpbmUgICAgUkdfUE1VX1BHREVUX0RJU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMQorI2RlZmluZSAgICBSR19QTVVfUEdERVRfRElTX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAwCisKKy8vICgweDAyMSkgU1RSVVBfQ1RSTDIKKy8vIChSVykKKyNkZWZpbmUgICAgUkdfVlJFRl9CR19BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgyMQorI2RlZmluZSAgICBSR19WUkVGX0JHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDcwCisjZGVmaW5lICAgIFJHX1ZSRUZfQkdfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQKKworLy8gKFJXKQorI2RlZmluZSAgICBSR19TVFJVUF9JUkVGX1RSSU1fQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAweDIxCisjZGVmaW5lICAgIFJHX1NUUlVQX0lSRUZfVFJJTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgIDB4MEYKKyNkZWZpbmUgICAgUkdfU1RSVVBfSVJFRl9UUklNX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgMAorCisvLyAoMHgwMjIpIFNUUlVQX0NUUkwzCisvLyAoUlcpCisjZGVmaW5lICAgIFJHX1JTVF9EUlZTRUxfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MjIKKyNkZWZpbmUgICAgUkdfUlNUX0RSVlNFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg0MAorI2RlZmluZSAgICBSR19SU1RfRFJWU0VMX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgICA2CisKKy8vIChSVykKKyNkZWZpbmUgICAgUkdfVVZMT19WVEhMX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgyMgorI2RlZmluZSAgICBSR19VVkxPX1ZUSExfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAzCisjZGVmaW5lICAgIFJHX1VWTE9fVlRITF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAKKworLy8gKDB4MDIzKSBTVFJVUF9SU1YxCisvLyAoUlcpCisjZGVmaW5lICAgIFJHX1BNVV9SU1ZfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MjMKKyNkZWZpbmUgICAgUkdfUE1VX1JTVl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhGMAorI2RlZmluZSAgICBSR19QTVVfUlNWX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0CisKKy8vICgweDAyNCkgU1RSVVBfVFNUX0NUTAorLy8gKFJXKQorI2RlZmluZSAgICBSR19CSUFTX0dFTl9FTl9GT1JDRV9BRERSICAgICAgICAgICAgICAgICAgICAgICAweDI0CisjZGVmaW5lICAgIFJHX0JJQVNfR0VOX0VOX0ZPUkNFX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MjAKKyNkZWZpbmUgICAgUkdfQklBU19HRU5fRU5fRk9SQ0VfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgNQorCisvLyAoUlcpCisjZGVmaW5lICAgIFJHX1NUUlVQX1BXUk9OX0ZPUkNFX0FERFIgICAgICAgICAgICAgICAgICAgICAgIDB4MjQKKyNkZWZpbmUgICAgUkdfU1RSVVBfUFdST05fRk9SQ0VfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgxMAorI2RlZmluZSAgICBSR19TVFJVUF9QV1JPTl9GT1JDRV9TSElGVCAgICAgICAgICAgICAgICAgICAgICA0CisKKy8vIChSVykKKyNkZWZpbmUgICAgUkdfU1RSVVBfRlRfQ1RSTF9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgyNAorI2RlZmluZSAgICBSR19TVFJVUF9GVF9DVFJMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAzCisjZGVmaW5lICAgIFJHX1NUUlVQX0ZUX0NUUkxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgIDAKKworLy8gKDB4MDI1KSBTVFJVUF9USFJfQ1RMCisvLyAoUk8pCisjZGVmaW5lICAgIFBNVV9USFJfU1RBVFVTX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MjUKKyNkZWZpbmUgICAgUE1VX1RIUl9TVEFUVVNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg3MAorI2RlZmluZSAgICBQTVVfVEhSX1NUQVRVU19TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICA0CisKKy8vIChSVykKKyNkZWZpbmUgICAgUkdfVEhFUk1BTF9URVNUX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgyNQorI2RlZmluZSAgICBSR19USEVSTUFMX1RFU1RfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDBDCisjZGVmaW5lICAgIFJHX1RIRVJNQUxfVEVTVF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgIDIKKworLy8gKFJXKQorI2RlZmluZSAgICBSR19FU0RERUdfRU5fQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDI1CisjZGVmaW5lICAgIFJHX0VTRERFR19FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEKKyNkZWZpbmUgICAgUkdfRVNEREVHX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMAorCisvL1JlZ2lzdGVyVkNPUkUKKworLy8gKDB4MDUwKSBWTURfQ09OMAorLy8gKFJXKQorI2RlZmluZSAgICBSR19WTURfQ1NMX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDUwCisjZGVmaW5lICAgIFJHX1ZNRF9DU0xfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAKKyNkZWZpbmUgICAgUkdfVk1EX0NTTF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNAorCisvLyAoUlcpCisjZGVmaW5lICAgIFJHX1ZNRF9DQ19BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NTAKKyNkZWZpbmUgICAgUkdfVk1EX0NDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwQworI2RlZmluZSAgICBSR19WTURfQ0NfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyCisKKy8vIChSVykKKyNkZWZpbmUgICAgUkdfVk1EX1JaU0VMX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg1MAorI2RlZmluZSAgICBSR19WTURfUlpTRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAzCisjZGVmaW5lICAgIFJHX1ZNRF9SWlNFTF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAKKworLy8gKDB4MDUxKSBWTURfQ09OMQorLy8gKFJXKQorI2RlZmluZSAgICBSR19WTURfU0xQX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDUxCisjZGVmaW5lICAgIFJHX1ZNRF9TTFBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4QzAKKyNkZWZpbmUgICAgUkdfVk1EX1NMUF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNgorCisvLyAoUlcpCisjZGVmaW5lICAgIFJHX1ZNRF9aWF9PU19BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NTEKKyNkZWZpbmUgICAgUkdfVk1EX1pYX09TX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMAorI2RlZmluZSAgICBSR19WTURfWlhfT1NfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0CisKKy8vIChSVykKKyNkZWZpbmUgICAgUkdfVk1EX1NMRVdfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg1MQorI2RlZmluZSAgICBSR19WTURfU0xFV19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDBDCisjZGVmaW5lICAgIFJHX1ZNRF9TTEVXX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIKKworLy8gKFJXKQorI2RlZmluZSAgICBSR19WTURfU0xFV19OTU9TX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAweDUxCisjZGVmaW5lICAgIFJHX1ZNRF9TTEVXX05NT1NfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDMKKyNkZWZpbmUgICAgUkdfVk1EX1NMRVdfTk1PU19TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgMAorCisvLyAoMHgwNTIpIFZNRF9DT04yCisvLyAoUlcpCisjZGVmaW5lICAgIFJHX1ZNRF9NT0RFU0VUX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NTIKKyNkZWZpbmUgICAgUkdfVk1EX01PREVTRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMQorI2RlZmluZSAgICBSR19WTURfTU9ERVNFVF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAwCisKKy8vICgweDA1MykgVk1EX0NPTjMKKy8vIChSTykKKyNkZWZpbmUgICAgUUlfVk1EX0VOX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg1MworI2RlZmluZSAgICBRSV9WTURfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDgwCisjZGVmaW5lICAgIFFJX1ZNRF9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDcKKworLy8gKFJXKQorI2RlZmluZSAgICBSR19WTURfRU5fQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDUzCisjZGVmaW5lICAgIFJHX1ZNRF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEKKyNkZWZpbmUgICAgUkdfVk1EX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMAorCisvLyAoMHgwNTQpIFZNRF9DT040CisvLyAoUlcpCisjZGVmaW5lICAgIFJHX1ZNRF9WRkJBREpfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NTQKKyNkZWZpbmUgICAgUkdfVk1EX1ZGQkFESl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwRQorI2RlZmluZSAgICBSR19WTURfVkZCQURKX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCisKKy8vIChSVykKKyNkZWZpbmUgICAgUkdfVk1EX05ESVNfRU5fQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg1NAorI2RlZmluZSAgICBSR19WTURfTkRJU19FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxCisjZGVmaW5lICAgIFJHX1ZNRF9ORElTX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAKKworLy8gKDB4MDU1KSBWTURfQ09ONQorLy8gKFJXKQorI2RlZmluZSAgICBSR19WTURfVk9TRUxfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDU1CisjZGVmaW5lICAgIFJHX1ZNRF9WT1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MUYKKyNkZWZpbmUgICAgUkdfVk1EX1ZPU0VMX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMAorCisvLyAoMHgwNTYpIFZNRF9DT042CisvLyAoUlcpCisjZGVmaW5lICAgIFJHX1ZNRF9WT1NFTF9DT04xX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NTYKKyNkZWZpbmUgICAgUkdfVk1EX1ZPU0VMX0NPTjFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxRgorI2RlZmluZSAgICBSR19WTURfVk9TRUxfQ09OMV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAwCisKKy8vICgweDA1NykgVk1EX0NPTjcKKy8vIChSVykKKyNkZWZpbmUgICAgUkdfVk1EX1ZPU0VMX1NGQ0hHX0VOX0FERFIgICAgICAgICAgICAgICAgICAgICAgMHg1NworI2RlZmluZSAgICBSR19WTURfVk9TRUxfU0ZDSEdfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDA0CisjZGVmaW5lICAgIFJHX1ZNRF9WT1NFTF9TRkNIR19FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgIDIKKworLy8gKFJXKQorI2RlZmluZSAgICBSR19WTURfQ1RSTF9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDU3CisjZGVmaW5lICAgIFJHX1ZNRF9DVFJMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEKKyNkZWZpbmUgICAgUkdfVk1EX0NUUkxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMAorCisvLyAoMHgwNTgpIFZNRF9DT044CisvLyAoUk8pCisjZGVmaW5lICAgIFFJX1ZNRF9WT1NFTF9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NTgKKyNkZWZpbmUgICAgUUlfVk1EX1ZPU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxRgorI2RlZmluZSAgICBRSV9WTURfVk9TRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwCisKKy8vICgweDA1QSkgVk1EX0NPTjEwCisvLyAoUlcpCisjZGVmaW5lICAgIFJHX1RJTUVTVEVQX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NUEKKyNkZWZpbmUgICAgUkdfVElNRVNURVBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMQorI2RlZmluZSAgICBSR19USU1FU1RFUF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwCisKKy8vIChSVykKKyNkZWZpbmUgICAgUkdfVk9MVFNURVBfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg1QQorI2RlZmluZSAgICBSR19WT0xUU1RFUF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAyCisjZGVmaW5lICAgIFJHX1ZPTFRTVEVQX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKKworLy8gKDB4MDVCKSBWTURfQ09OMTEKKy8vIChSVykKKyNkZWZpbmUgICAgUkdfVk1EX1ZIX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg1QgorI2RlZmluZSAgICBSR19WTURfVkhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDcwCisjZGVmaW5lICAgIFJHX1ZNRF9WSF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQKKworLy8gKFJXKQorI2RlZmluZSAgICBSR19WTURfVkxfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDVCCisjZGVmaW5lICAgIFJHX1ZNRF9WTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MEUKKyNkZWZpbmUgICAgUkdfVk1EX1ZMX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQorCisvLyAoUlcpCisjZGVmaW5lICAgIFJHX1ZNRF9HTV9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NUIKKyNkZWZpbmUgICAgUkdfVk1EX0dNX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMQorI2RlZmluZSAgICBSR19WTURfR01fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwCisKKy8vICgweDA1QykgVk1EX0NPTjEyCisvLyAoUlcpCisjZGVmaW5lICAgIFJHX1ZNRF9DU1JfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NUMKKyNkZWZpbmUgICAgUkdfVk1EX0NTUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwNworI2RlZmluZSAgICBSR19WTURfQ1NSX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwCisKKy8vICgweDA1RCkgVk1EX0NPTjEzCisvLyAoUlcpCisjZGVmaW5lICAgIFZNRF9PQ19XTkRfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NUQKKyNkZWZpbmUgICAgVk1EX09DX1dORF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwQworI2RlZmluZSAgICBWTURfT0NfV05EX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyCisKKy8vIChSVykKKyNkZWZpbmUgICAgVk1EX09DX1RIRF9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg1RAorI2RlZmluZSAgICBWTURfT0NfVEhEX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAzCisjZGVmaW5lICAgIFZNRF9PQ19USERfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAKKworLy9SZWdpc3RlclZSRjE4CisKKy8vICgweDA2MCkgVlJGMThfQ09OMAorLy8gKFJXKQorI2RlZmluZSAgICBSR19WUkYxOF9DU0xfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDYwCisjZGVmaW5lICAgIFJHX1ZSRjE4X0NTTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAKKyNkZWZpbmUgICAgUkdfVlJGMThfQ1NMX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNAorCisvLyAoUlcpCisjZGVmaW5lICAgIFJHX1ZSRjE4X0NDX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NjAKKyNkZWZpbmUgICAgUkdfVlJGMThfQ0NfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwQworI2RlZmluZSAgICBSR19WUkYxOF9DQ19TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyCisKKy8vIChSVykKKyNkZWZpbmUgICAgUkdfVlJGMThfUlpTRUxfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg2MAorI2RlZmluZSAgICBSR19WUkYxOF9SWlNFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAzCisjZGVmaW5lICAgIFJHX1ZSRjE4X1JaU0VMX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAKKworLy8gKDB4MDYxKSBWUkYxOF9DT04xCisvLyAoUlcpCisjZGVmaW5lICAgIFJHX1ZSRjE4X1NMUF9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NjEKKyNkZWZpbmUgICAgUkdfVlJGMThfU0xQX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhDMAorI2RlZmluZSAgICBSR19WUkYxOF9TTFBfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA2CisKKy8vIChSVykKKyNkZWZpbmUgICAgUkdfVlJGMThfWlhfT1NfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg2MQorI2RlZmluZSAgICBSR19WUkYxOF9aWF9PU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDMwCisjZGVmaW5lICAgIFJHX1ZSRjE4X1pYX09TX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQKKworLy8gKFJXKQorI2RlZmluZSAgICBSR19WUkYxOF9TTEVXX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDYxCisjZGVmaW5lICAgIFJHX1ZSRjE4X1NMRVdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MEMKKyNkZWZpbmUgICAgUkdfVlJGMThfU0xFV19TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMgorCisvLyAoUlcpCisjZGVmaW5lICAgIFJHX1ZSRjE4X1NMRVdfTk1PU19BRERSICAgICAgICAgICAgICAgICAgICAgICAgIDB4NjEKKyNkZWZpbmUgICAgUkdfVlJGMThfU0xFV19OTU9TX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMworI2RlZmluZSAgICBSR19WUkYxOF9TTEVXX05NT1NfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAwCisKKy8vICgweDA2MikgVlJGMThfQ09OMgorLy8gKFJXKQorI2RlZmluZSAgICBSR19WUkYxOF9BVlBfRU5fQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDYyCisjZGVmaW5lICAgIFJHX1ZSRjE4X0FWUF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDIKKyNkZWZpbmUgICAgUkdfVlJGMThfQVZQX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgMQorCisvLyAoUlcpCisjZGVmaW5lICAgIFJHX1ZSRjE4X01PREVTRVRfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NjIKKyNkZWZpbmUgICAgUkdfVlJGMThfTU9ERVNFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMQorI2RlZmluZSAgICBSR19WUkYxOF9NT0RFU0VUX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAwCisKKy8vICgweDA2MykgVlJGMThfQ09OMworLy8gKFJPKQorI2RlZmluZSAgICBRSV9WUkYxOF9FTl9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDYzCisjZGVmaW5lICAgIFFJX1ZSRjE4X0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4ODAKKyNkZWZpbmUgICAgUUlfVlJGMThfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNworCisvLyAoUlcpCisjZGVmaW5lICAgIFJHX1ZSRjE4X09OX0NUUkxfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NjMKKyNkZWZpbmUgICAgUkdfVlJGMThfT05fQ1RSTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMgorI2RlZmluZSAgICBSR19WUkYxOF9PTl9DVFJMX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAxCisKKy8vIChSVykKKyNkZWZpbmUgICAgUkdfVlJGMThfRU5fQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg2MworI2RlZmluZSAgICBSR19WUkYxOF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxCisjZGVmaW5lICAgIFJHX1ZSRjE4X0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAKKworLy8gKDB4MDY0KSBWUkYxOF9DT040CisvLyAoUlcpCisjZGVmaW5lICAgIFJHX1ZSRjE4X1NUQlREX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NjQKKyNkZWZpbmUgICAgUkdfVlJGMThfU1RCVERfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhDMAorI2RlZmluZSAgICBSR19WUkYxOF9TVEJURF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICA2CisKKy8vIChSVykKKyNkZWZpbmUgICAgUkdfVlJGMThfQlVSU1RfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg2NAorI2RlZmluZSAgICBSR19WUkYxOF9CVVJTVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDMwCisjZGVmaW5lICAgIFJHX1ZSRjE4X0JVUlNUX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQKKworLy8gKFJXKQorI2RlZmluZSAgICBSR19WUkYxOF9PQ0ZCX0VOX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAweDY0CisjZGVmaW5lICAgIFJHX1ZSRjE4X09DRkJfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDIKKyNkZWZpbmUgICAgUkdfVlJGMThfT0NGQl9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgMQorCisvLyAoUlcpCisjZGVmaW5lICAgIFJHX1ZSRjE4X05ESVNfRU5fQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NjQKKyNkZWZpbmUgICAgUkdfVlJGMThfTkRJU19FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMQorI2RlZmluZSAgICBSR19WUkYxOF9ORElTX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAwCisKKy8vICgweDA2NSkgVlJGMThfQ09ONQorLy8gKFJXKQorI2RlZmluZSAgICBSR19WUkYxOF9WT1NFTF9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDY1CisjZGVmaW5lICAgIFJHX1ZSRjE4X1ZPU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MUYKKyNkZWZpbmUgICAgUkdfVlJGMThfVk9TRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgMAorCisvLyAoMHgwNjYpIFZSRjE4X0NPTjYKKy8vIChSVykKKyNkZWZpbmUgICAgUkdfVlJGMThfUlNWX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg2NgorI2RlZmluZSAgICBSR19WUkYxOF9SU1ZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDBGCisjZGVmaW5lICAgIFJHX1ZSRjE4X1JTVl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAKKworLy8gKDB4MDY5KSBWUkYxOF9DT045CisvLyAoUlcpCisjZGVmaW5lICAgIFJHX1ZSRjE4X1ZIX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NjkKKyNkZWZpbmUgICAgUkdfVlJGMThfVkhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg3MAorI2RlZmluZSAgICBSR19WUkYxOF9WSF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0CisKKy8vIChSVykKKyNkZWZpbmUgICAgUkdfVlJGMThfVkxfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg2OQorI2RlZmluZSAgICBSR19WUkYxOF9WTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDBFCisjZGVmaW5lICAgIFJHX1ZSRjE4X1ZMX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKKworLy8gKFJXKQorI2RlZmluZSAgICBSR19WUkYxOF9HTVNFTF9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDY5CisjZGVmaW5lICAgIFJHX1ZSRjE4X0dNU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEKKyNkZWZpbmUgICAgUkdfVlJGMThfR01TRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgMAorCisvLyAoMHgwNkEpIFZSRjE4X0NPTjEwCisvLyAoUlcpCisjZGVmaW5lICAgIFJHX1ZSRjE4X0NTUl9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NkEKKyNkZWZpbmUgICAgUkdfVlJGMThfQ1NSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwNworI2RlZmluZSAgICBSR19WUkYxOF9DU1JfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwCisKKy8vICgweDA2QikgVlJGMThfQ09OMTEKKy8vIChSVykKKyNkZWZpbmUgICAgUkdfVlJGMThfT0NfV05EX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg2QgorI2RlZmluZSAgICBSR19WUkYxOF9PQ19XTkRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDBDCisjZGVmaW5lICAgIFJHX1ZSRjE4X09DX1dORF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgIDIKKworLy8gKFJXKQorI2RlZmluZSAgICBSR19WUkYxOF9PQ19USERfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDZCCisjZGVmaW5lICAgIFJHX1ZSRjE4X09DX1RIRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDMKKyNkZWZpbmUgICAgUkdfVlJGMThfT0NfVEhEX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgMAorCisvL1JlZ2lzdGVyRGlnTERPCisKKy8vICgweDA4MCkgRElHTERPX0NPTjAKKy8vIChSVykKKyNkZWZpbmUgICAgUkdfVklPMThfQ0FMX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg4MAorI2RlZmluZSAgICBSR19WSU8xOF9DQUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDBGCisjZGVmaW5lICAgIFJHX1ZJTzE4X0NBTF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAKKworLy8gKDB4MDgyKSBESUdMRE9fQ09OMQorLy8gKFJXKQorI2RlZmluZSAgICBSR19WSU8xOF9TVEJURF9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDgyCisjZGVmaW5lICAgIFJHX1ZJTzE4X1NUQlREX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAKKyNkZWZpbmUgICAgUkdfVklPMThfU1RCVERfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgNAorCisvLyAoUlcpCisjZGVmaW5lICAgIFJHX1ZJTzE4X09DRkJfRU5fQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4ODIKKyNkZWZpbmUgICAgUkdfVklPMThfT0NGQl9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwNAorI2RlZmluZSAgICBSR19WSU8xOF9PQ0ZCX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAyCisKKy8vIChSVykKKyNkZWZpbmUgICAgUkdfVklPMThfTkRJU19FTl9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg4MgorI2RlZmluZSAgICBSR19WSU8xOF9ORElTX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAyCisjZGVmaW5lICAgIFJHX1ZJTzE4X05ESVNfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgIDEKKworLy8gKFJXKQorI2RlZmluZSAgICBSR19WSU8xOF9FTl9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDgyCisjZGVmaW5lICAgIFJHX1ZJTzE4X0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEKKyNkZWZpbmUgICAgUkdfVklPMThfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMAorCisvLyAoMHgwODMpIERJR0xET19DT04yCisvLyAoUlcpCisjZGVmaW5lICAgIFJHX1ZTSU1fQ0FMX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4ODMKKyNkZWZpbmUgICAgUkdfVlNJTV9DQUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwRgorI2RlZmluZSAgICBSR19WU0lNX0NBTF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwCisKKy8vICgweDA4NCkgRElHTERPX0NPTjMKKy8vIChSVykKKyNkZWZpbmUgICAgUkdfVlNJTV9WT1NFTF9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg4NAorI2RlZmluZSAgICBSR19WU0lNX1ZPU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDEwCisjZGVmaW5lICAgIFJHX1ZTSU1fVk9TRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQKKworLy8gKFJXKQorI2RlZmluZSAgICBSR19WU0lNX0VOX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDg0CisjZGVmaW5lICAgIFJHX1ZTSU1fRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEKKyNkZWZpbmUgICAgUkdfVlNJTV9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMAorCisvLyAoMHgwODUpIERJR0xET19DT040CisvLyAoUlcpCisjZGVmaW5lICAgIFJHX1ZTSU1fU1RCVERfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4ODUKKyNkZWZpbmUgICAgUkdfVlNJTV9TVEJURF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMAorI2RlZmluZSAgICBSR19WU0lNX1NUQlREX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0CisKKy8vIChSVykKKyNkZWZpbmUgICAgUkdfVlNJTV9PQ0ZCX0VOX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg4NQorI2RlZmluZSAgICBSR19WU0lNX09DRkJfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAyCisjZGVmaW5lICAgIFJHX1ZTSU1fT0NGQl9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKKworLy8gKFJXKQorI2RlZmluZSAgICBSR19WU0lNX05ESVNfRU5fQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDg1CisjZGVmaW5lICAgIFJHX1ZTSU1fTkRJU19FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEKKyNkZWZpbmUgICAgUkdfVlNJTV9ORElTX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgMAorCisvLyAoMHgwODYpIERJR0xET19DT041CisvLyAoUlcpCisjZGVmaW5lICAgIFJHX1ZNQ19DQUxfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4ODYKKyNkZWZpbmUgICAgUkdfVk1DX0NBTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwRgorI2RlZmluZSAgICBSR19WTUNfQ0FMX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwCisKKy8vICgweDA4NykgRElHTERPX0NPTjYKKy8vIChSVykKKyNkZWZpbmUgICAgUkdfVk1DX1ZPU0VMX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg4NworI2RlZmluZSAgICBSR19WTUNfVk9TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDcwCisjZGVmaW5lICAgIFJHX1ZNQ19WT1NFTF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQKKworLy8gKDB4MDg4KSBESUdMRE9fQ09ONworLy8gKFJXKQorI2RlZmluZSAgICBSR19WTUNfU1RCVERfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDg4CisjZGVmaW5lICAgIFJHX1ZNQ19TVEJURF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAKKyNkZWZpbmUgICAgUkdfVk1DX1NUQlREX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNAorCisvLyAoUlcpCisjZGVmaW5lICAgIFJHX1ZNQ19TVEJfU0VMX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4ODgKKyNkZWZpbmUgICAgUkdfVk1DX1NUQl9TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwOAorI2RlZmluZSAgICBSR19WTUNfU1RCX1NFTF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAzCisKKy8vIChSVykKKyNkZWZpbmUgICAgUkdfVk1DX09DRkJfRU5fQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg4OAorI2RlZmluZSAgICBSR19WTUNfT0NGQl9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDA0CisjZGVmaW5lICAgIFJHX1ZNQ19PQ0ZCX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIKKworLy8gKFJXKQorI2RlZmluZSAgICBSR19WTUNfTkRJU19FTl9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDg4CisjZGVmaW5lICAgIFJHX1ZNQ19ORElTX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDIKKyNkZWZpbmUgICAgUkdfVk1DX05ESVNfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQorCisvLyAoUlcpCisjZGVmaW5lICAgIFJHX1ZNQ19FTl9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4ODgKKyNkZWZpbmUgICAgUkdfVk1DX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMQorI2RlZmluZSAgICBSR19WTUNfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwCisKKy8vICgweDA4OSkgRElHTERPX0NPTjgKKy8vIChSVykKKyNkZWZpbmUgICAgUkdfVk1fQ0FMX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg4OQorI2RlZmluZSAgICBSR19WTV9DQUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDBGCisjZGVmaW5lICAgIFJHX1ZNX0NBTF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAKKworLy8gKDB4MDhBKSBESUdMRE9fQ09OOQorLy8gKFJXKQorI2RlZmluZSAgICBSR19WTV9WT1NFTF9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDhBCisjZGVmaW5lICAgIFJHX1ZNX1ZPU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAKKyNkZWZpbmUgICAgUkdfVk1fVk9TRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNAorCisvLyAoUlcpCisjZGVmaW5lICAgIFJHX1ZNX0VOX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4OEEKKyNkZWZpbmUgICAgUkdfVk1fRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMQorI2RlZmluZSAgICBSR19WTV9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwCisKKy8vICgweDA4QikgRElHTERPX0NPTjEwCisvLyAoUlcpCisjZGVmaW5lICAgIFJHX1ZNX1NUQlREX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4OEIKKyNkZWZpbmUgICAgUkdfVk1fU1RCVERfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMAorI2RlZmluZSAgICBSR19WTV9TVEJURF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0CisKKy8vIChSVykKKyNkZWZpbmUgICAgUkdfVk1fT0NGQl9FTl9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg4QgorI2RlZmluZSAgICBSR19WTV9PQ0ZCX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAyCisjZGVmaW5lICAgIFJHX1ZNX09DRkJfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKKworLy8gKFJXKQorI2RlZmluZSAgICBSR19WTV9ORElTX0VOX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDhCCisjZGVmaW5lICAgIFJHX1ZNX05ESVNfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEKKyNkZWZpbmUgICAgUkdfVk1fTkRJU19FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMAorCisvLyAoMHgwOEMpIERJR0xET19DT04xMQorLy8gKFJPKQorI2RlZmluZSAgICBRSV9WTUNfTU9ERV9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDhDCisjZGVmaW5lICAgIFFJX1ZNQ19NT0RFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4ODAKKyNkZWZpbmUgICAgUUlfVk1DX01PREVfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNworCisvLyAoUlcpCisjZGVmaW5lICAgIFZNQ19MUF9NT0RFX1NFVF9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4OEMKKyNkZWZpbmUgICAgVk1DX0xQX01PREVfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMgorI2RlZmluZSAgICBWTUNfTFBfTU9ERV9TRVRfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAxCisKKy8vIChSVykKKyNkZWZpbmUgICAgVk1DX0xQX1NFTF9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg4QworI2RlZmluZSAgICBWTUNfTFBfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxCisjZGVmaW5lICAgIFZNQ19MUF9TRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAKKworLy8gKDB4MDhEKSBESUdMRE9fQ09OMTIKKy8vIChSTykKKyNkZWZpbmUgICAgUUlfVk1fTU9ERV9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg4RAorI2RlZmluZSAgICBRSV9WTV9NT0RFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDgwCisjZGVmaW5lICAgIFFJX1ZNX01PREVfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDcKKworLy8gKFJXKQorI2RlZmluZSAgICBWTV9MUF9NT0RFX1NFVF9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDhECisjZGVmaW5lICAgIFZNX0xQX01PREVfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDIKKyNkZWZpbmUgICAgVk1fTFBfTU9ERV9TRVRfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQorCisvLyAoUlcpCisjZGVmaW5lICAgIFZNX0xQX1NFTF9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4OEQKKyNkZWZpbmUgICAgVk1fTFBfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMQorI2RlZmluZSAgICBWTV9MUF9TRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwCisKKy8vICgweDA4RikgRElHTERPX0NPTjE0CisvLyAoUlcpCisjZGVmaW5lICAgIFJHX1JTVl9ETERPU19BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4OEYKKyNkZWZpbmUgICAgUkdfUlNWX0RMRE9TX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhGRgorI2RlZmluZSAgICBSR19SU1ZfRExET1NfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwCisKKy8vUmVnaXN0ZXJBbmFMRE8KKworLy8gKDB4MEEwKSBBTkFMRE9fQ09OMAorLy8gKFJXKQorI2RlZmluZSAgICBSR19WVENYT19DQUxfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEEwCisjZGVmaW5lICAgIFJHX1ZUQ1hPX0NBTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MEYKKyNkZWZpbmUgICAgUkdfVlRDWE9fQ0FMX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMAorCisvLyAoMHgwQTEpIEFOQUxET19DT04xCisvLyAoUk8pCisjZGVmaW5lICAgIFFJX1ZUQ1hPX0VOX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4QTEKKyNkZWZpbmUgICAgUUlfVlRDWE9fRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg4MAorI2RlZmluZSAgICBRSV9WVENYT19FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA3CisKKy8vIChSVykKKyNkZWZpbmUgICAgVlRDWE9fT05fQ1RSTF9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhBMQorI2RlZmluZSAgICBWVENYT19PTl9DVFJMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAyCisjZGVmaW5lICAgIFZUQ1hPX09OX0NUUkxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKKworLy8gKFJXKQorI2RlZmluZSAgICBSR19WVENYT19FTl9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEExCisjZGVmaW5lICAgIFJHX1ZUQ1hPX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEKKyNkZWZpbmUgICAgUkdfVlRDWE9fRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMAorCisvLyAoMHgwQTIpIEFOQUxET19DT04yCisvLyAoUlcpCisjZGVmaW5lICAgIFJHX1ZUQ1hPX1NUQlREX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4QTIKKyNkZWZpbmUgICAgUkdfVlRDWE9fU1RCVERfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMAorI2RlZmluZSAgICBSR19WVENYT19TVEJURF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICA0CisKKy8vIChSVykKKyNkZWZpbmUgICAgUkdfVlRDWE9fT0NGQl9FTl9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhBMgorI2RlZmluZSAgICBSR19WVENYT19PQ0ZCX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAyCisjZGVmaW5lICAgIFJHX1ZUQ1hPX09DRkJfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgIDEKKworLy8gKFJXKQorI2RlZmluZSAgICBSR19WVENYT19ORElTX0VOX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAweEEyCisjZGVmaW5lICAgIFJHX1ZUQ1hPX05ESVNfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEKKyNkZWZpbmUgICAgUkdfVlRDWE9fTkRJU19FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgMAorCisvLyAoMHgwQTMpIEFOQUxET19DT04zCisvLyAoUlcpCisjZGVmaW5lICAgIFJHX1ZBMjVfQ0FMX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4QTMKKyNkZWZpbmUgICAgUkdfVkEyNV9DQUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwRgorI2RlZmluZSAgICBSR19WQTI1X0NBTF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwCisKKy8vICgweDBBNCkgQU5BTERPX0NPTjQKKy8vIChSTykKKyNkZWZpbmUgICAgUUlfVkEyNV9FTl9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhBNAorI2RlZmluZSAgICBRSV9WQTI1X0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDgwCisjZGVmaW5lICAgIFFJX1ZBMjVfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDcKKworLy8gKFJXKQorI2RlZmluZSAgICBSR19WQTI1X0VOX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEE0CisjZGVmaW5lICAgIFJHX1ZBMjVfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEKKyNkZWZpbmUgICAgUkdfVkEyNV9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMAorCisvLyAoMHgwQTUpIEFOQUxET19DT041CisvLyAoUlcpCisjZGVmaW5lICAgIFJHX1ZBMjVfU1RCVERfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4QTUKKyNkZWZpbmUgICAgUkdfVkEyNV9TVEJURF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMAorI2RlZmluZSAgICBSR19WQTI1X1NUQlREX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0CisKKy8vIChSVykKKyNkZWZpbmUgICAgUkdfVkEyNV9PQ0ZCX0VOX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhBNQorI2RlZmluZSAgICBSR19WQTI1X09DRkJfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAyCisjZGVmaW5lICAgIFJHX1ZBMjVfT0NGQl9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKKworLy8gKFJXKQorI2RlZmluZSAgICBSR19WQTI1X05ESVNfRU5fQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEE1CisjZGVmaW5lICAgIFJHX1ZBMjVfTkRJU19FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEKKyNkZWZpbmUgICAgUkdfVkEyNV9ORElTX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgMAorCisvLyAoMHgwQTYpIEFOQUxET19DT042CisvLyAoUk8pCisjZGVmaW5lICAgIFFJX1ZBMjVfTU9ERV9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4QTYKKyNkZWZpbmUgICAgUUlfVkEyNV9NT0RFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg4MAorI2RlZmluZSAgICBRSV9WQTI1X01PREVfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA3CisKKy8vIChSVykKKyNkZWZpbmUgICAgVkEyNV9MUF9TRVRfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhBNgorI2RlZmluZSAgICBWQTI1X0xQX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAyCisjZGVmaW5lICAgIFZBMjVfTFBfU0VUX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKKworLy8gKFJXKQorI2RlZmluZSAgICBWQTI1X0xQX1NFTF9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEE2CisjZGVmaW5lICAgIFZBMjVfTFBfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEKKyNkZWZpbmUgICAgVkEyNV9MUF9TRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMAorCisvLyAoMHgwQTcpIEFOQUxET19DT043CisvLyAoUk8pCisjZGVmaW5lICAgIFFJX1ZUQ1hPX01PREVfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4QTcKKyNkZWZpbmUgICAgUUlfVlRDWE9fTU9ERV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg4MAorI2RlZmluZSAgICBRSV9WVENYT19NT0RFX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgICA3CisKKy8vIChSVykKKyNkZWZpbmUgICAgVlRDWE9fTFBfU0VUX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhBNworI2RlZmluZSAgICBWVENYT19MUF9TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAyCisjZGVmaW5lICAgIFZUQ1hPX0xQX1NFVF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKKworLy8gKFJXKQorI2RlZmluZSAgICBWVENYT19MUF9TRUxfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEE3CisjZGVmaW5lICAgIFZUQ1hPX0xQX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEKKyNkZWZpbmUgICAgVlRDWE9fTFBfU0VMX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMAorCisvLyAoMHgwQTgpIEFOQUxET19DT044CisvLyAoUlcpCisjZGVmaW5lICAgIFJHX1ZBMjVfU1RCX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4QTgKKyNkZWZpbmUgICAgUkdfVkEyNV9TVEJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMgorI2RlZmluZSAgICBSR19WQTI1X1NUQl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCisKKy8vIChSVykKKyNkZWZpbmUgICAgUkdfVlRDWE9fU1RCX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhBOAorI2RlZmluZSAgICBSR19WVENYT19TVEJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxCisjZGVmaW5lICAgIFJHX1ZUQ1hPX1NUQl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAKKworLy9SZWdpc3RlckJ1Y2tLCisKKy8vICgweDBCMCkgQlVDS19LX0NPTjAKKy8vIChSVykKKyNkZWZpbmUgICAgUkdfU01QU19URVNUTU9ERV9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhCMAorI2RlZmluZSAgICBSR19TTVBTX1RFU1RNT0RFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAweDNGCisjZGVmaW5lICAgIFJHX1NNUFNfVEVTVE1PREVfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgIDAKKworLy8gKDB4MEIyKSBCVUNLX0tfQ09OMgorLy8gKFJXKQorI2RlZmluZSAgICBSR19TTVBTX1JTVl9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEIyCisjZGVmaW5lICAgIFJHX1NNUFNfUlNWX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkYKKyNkZWZpbmUgICAgUkdfU01QU19SU1ZfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMAorCisvLyAoMHgwQjMpIEJVQ0tfS19DT04zCisvLyAoUlcpCisjZGVmaW5lICAgIHJnX2F1dG9fa19BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4QjMKKyNkZWZpbmUgICAgcmdfYXV0b19rX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg0MAorI2RlZmluZSAgICByZ19hdXRvX2tfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA2CisKKy8vIChSVykKKyNkZWZpbmUgICAgcmdfa19zdGFydF9tYW51YWxfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgMHhCMworI2RlZmluZSAgICByZ19rX3N0YXJ0X21hbnVhbF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAweDEwCisjZGVmaW5lICAgIHJnX2tfc3RhcnRfbWFudWFsX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgIDQKKworLy8gKFJXKQorI2RlZmluZSAgICByZ19rX21hcF9zZWxfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEIzCisjZGVmaW5lICAgIHJnX2tfbWFwX3NlbF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDIKKyNkZWZpbmUgICAgcmdfa19tYXBfc2VsX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQorCisvLyAoUlcpCisjZGVmaW5lICAgIHJnX2tfcnN0X2RvbmVfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4QjMKKyNkZWZpbmUgICAgcmdfa19yc3RfZG9uZV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMQorI2RlZmluZSAgICByZ19rX3JzdF9kb25lX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwCisKKy8vICgweDBCNCkgQlVDS19LX0NPTjQKKy8vIChSVykKKyNkZWZpbmUgICAgcmdfa19jb250cm9sX3NtcHNfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgMHhCNAorI2RlZmluZSAgICByZ19rX2NvbnRyb2xfc21wc19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAweDNGCisjZGVmaW5lICAgIHJnX2tfY29udHJvbF9zbXBzX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgIDAKKworLy8gKDB4MEI1KSBCVUNLX0tfQ09ONQorLy8gKFJPKQorI2RlZmluZSAgICBrX2NvbnRyb2xfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEI1CisjZGVmaW5lICAgIGtfY29udHJvbF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkMKKyNkZWZpbmUgICAga19jb250cm9sX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMgorCisvLyAoUk8pCisjZGVmaW5lICAgIGtfZG9uZV9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4QjUKKyNkZWZpbmUgICAga19kb25lX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMgorI2RlZmluZSAgICBrX2RvbmVfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCisKKy8vIChSTykKKyNkZWZpbmUgICAga19yZXN1bHRfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhCNQorI2RlZmluZSAgICBrX3Jlc3VsdF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxCisjZGVmaW5lICAgIGtfcmVzdWx0X1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAKKworLy8gKDB4MEI2KSBCVUNLX0tfQ09ONgorLy8gKFJXKQorI2RlZmluZSAgICBlZnVzZV9lbmJfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEI2CisjZGVmaW5lICAgIGVmdXNlX2VuYl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4ODAKKyNkZWZpbmUgICAgZWZ1c2VfZW5iX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNworCisvLyAoUlcpCisjZGVmaW5lICAgIGVmdXNlX3JlYWRfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4QjYKKyNkZWZpbmUgICAgZWZ1c2VfcmVhZF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg0MAorI2RlZmluZSAgICBlZnVzZV9yZWFkX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA2CisKKy8vIChSVykKKyNkZWZpbmUgICAgZWZ1c2VfcHJvZ3JhbV9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhCNgorI2RlZmluZSAgICBlZnVzZV9wcm9ncmFtX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDIwCisjZGVmaW5lICAgIGVmdXNlX3Byb2dyYW1fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUKKworLy8gKFJXKQorI2RlZmluZSAgICBlZnVzZV9hZGRyZXNzX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEI2CisjZGVmaW5lICAgIGVmdXNlX2FkZHJlc3NfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MUYKKyNkZWZpbmUgICAgZWZ1c2VfYWRkcmVzc19TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMAorCisvLyAoMHgwQjcpIEJVQ0tfS19DT043CisvLyAoUlcpCisjZGVmaW5lICAgIGVmdXNlX2FkZHJlc3NfbXNiX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgIDB4QjcKKyNkZWZpbmUgICAgZWZ1c2VfYWRkcmVzc19tc2JfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgMHg4MAorI2RlZmluZSAgICBlZnVzZV9hZGRyZXNzX21zYl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICA3CisKKy8vIChSVykKKyNkZWZpbmUgICAgcmdfc3dfb3NjX3RyaW1fQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhCNworI2RlZmluZSAgICByZ19zd19vc2NfdHJpbV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxCisjZGVmaW5lICAgIHJnX3N3X29zY190cmltX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAKKworLy8gKDB4MEI4KSBCVUNLX0tfQ09OOAorLy8gKFJPKQorI2RlZmluZSAgICBlZnVzZV9kb3V0MF9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEI4CisjZGVmaW5lICAgIGVmdXNlX2RvdXQwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkYKKyNkZWZpbmUgICAgZWZ1c2VfZG91dDBfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMAorCisvLyAoMHgwQjkpIEJVQ0tfS19DT045CisvLyAoUk8pCisjZGVmaW5lICAgIGVmdXNlX2RvdXQxX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4QjkKKyNkZWZpbmUgICAgZWZ1c2VfZG91dDFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhGRgorI2RlZmluZSAgICBlZnVzZV9kb3V0MV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwCisKKy8vICgweDBCQSkgQlVDS19LX0NPTjEwCisvLyAoUk8pCisjZGVmaW5lICAgIGVmdXNlX2RvdXQyX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4QkEKKyNkZWZpbmUgICAgZWZ1c2VfZG91dDJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhGRgorI2RlZmluZSAgICBlZnVzZV9kb3V0Ml9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwCisKKy8vICgweDBCQikgQlVDS19LX0NPTjExCisvLyAoUk8pCisjZGVmaW5lICAgIGVmdXNlX2RvdXQzX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4QkIKKyNkZWZpbmUgICAgZWZ1c2VfZG91dDNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhGRgorI2RlZmluZSAgICBlZnVzZV9kb3V0M19TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwCisKKy8vICgweDBCQykgQlVDS19LX0NPTjEyCisvLyAoUk8pCisjZGVmaW5lICAgIGVmdXNlX2RvdXQ0X0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4QkMKKyNkZWZpbmUgICAgZWZ1c2VfZG91dDRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhGRgorI2RlZmluZSAgICBlZnVzZV9kb3V0NF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwCisKKy8vICgweDBCRCkgQlVDS19LX0NPTjEzCisvLyAoUk8pCisjZGVmaW5lICAgIGVmdXNlX2RvdXQ1X0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4QkQKKyNkZWZpbmUgICAgZWZ1c2VfZG91dDVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhGRgorI2RlZmluZSAgICBlZnVzZV9kb3V0NV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwCisKKy8vICgweDBCRSkgQlVDS19LX0NPTjE0CisvLyAoUk8pCisjZGVmaW5lICAgIGVmdXNlX2RvdXQ2X0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4QkUKKyNkZWZpbmUgICAgZWZ1c2VfZG91dDZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhGRgorI2RlZmluZSAgICBlZnVzZV9kb3V0Nl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwCisKKy8vICgweDBCRikgQlVDS19LX0NPTjE1CisvLyAoUk8pCisjZGVmaW5lICAgIGVmdXNlX2RvdXQ3X0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4QkYKKyNkZWZpbmUgICAgZWZ1c2VfZG91dDdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhGRgorI2RlZmluZSAgICBlZnVzZV9kb3V0N19TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwCisKKy8vUmVnaXN0ZXJQQUQKKworLy8gKDB4MEQwKSBQQURfQ1RSTF9DT04wCisvLyAoUlcpCisjZGVmaW5lICAgIFNDS19QVV9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RDAKKyNkZWZpbmUgICAgU0NLX1BVX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgyMAorI2RlZmluZSAgICBTQ0tfUFVfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1CisKKy8vIChSVykKKyNkZWZpbmUgICAgU0NLX1BEX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhEMAorI2RlZmluZSAgICBTQ0tfUERfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDEwCisjZGVmaW5lICAgIFNDS19QRF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQKKworLy8gKFJXKQorI2RlZmluZSAgICBTQ0tfRTJfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEQwCisjZGVmaW5lICAgIFNDS19FMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDgKKyNkZWZpbmUgICAgU0NLX0UyX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMworCisvLyAoUlcpCisjZGVmaW5lICAgIFNDS19FNF9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RDAKKyNkZWZpbmUgICAgU0NLX0U0X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwNAorI2RlZmluZSAgICBTQ0tfRTRfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyCisKKy8vIChSVykKKyNkZWZpbmUgICAgU0NLX1NNVF9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhEMAorI2RlZmluZSAgICBTQ0tfU01UX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAyCisjZGVmaW5lICAgIFNDS19TTVRfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKKworLy8gKFJXKQorI2RlZmluZSAgICBTQ0tfU1JfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEQwCisjZGVmaW5lICAgIFNDS19TUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEKKyNkZWZpbmUgICAgU0NLX1NSX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMAorCisvLyAoMHgwRDEpIFBBRF9DVFJMX0NPTjEKKy8vIChSVykKKyNkZWZpbmUgICAgU0RBX1BVX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhEMQorI2RlZmluZSAgICBTREFfUFVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDIwCisjZGVmaW5lICAgIFNEQV9QVV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUKKworLy8gKFJXKQorI2RlZmluZSAgICBTREFfUERfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEQxCisjZGVmaW5lICAgIFNEQV9QRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MTAKKyNkZWZpbmUgICAgU0RBX1BEX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNAorCisvLyAoUlcpCisjZGVmaW5lICAgIFNEQV9FMl9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RDEKKyNkZWZpbmUgICAgU0RBX0UyX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwOAorI2RlZmluZSAgICBTREFfRTJfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzCisKKy8vIChSVykKKyNkZWZpbmUgICAgU0RBX0U0X0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhEMQorI2RlZmluZSAgICBTREFfRTRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDA0CisjZGVmaW5lICAgIFNEQV9FNF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIKKworLy8gKFJXKQorI2RlZmluZSAgICBTREFfU01UX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEQxCisjZGVmaW5lICAgIFNEQV9TTVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDIKKyNkZWZpbmUgICAgU0RBX1NNVF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQorCisvLyAoUlcpCisjZGVmaW5lICAgIFNEQV9TUl9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RDEKKyNkZWZpbmUgICAgU0RBX1NSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMQorI2RlZmluZSAgICBTREFfU1JfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwCisKKy8vICgweDBEMikgUEFEX0NUUkxfQ09OMgorLy8gKFJXKQorI2RlZmluZSAgICBTUkNMS0VOX1BVX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEQyCisjZGVmaW5lICAgIFNSQ0xLRU5fUFVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MjAKKyNkZWZpbmUgICAgU1JDTEtFTl9QVV9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNQorCisvLyAoUlcpCisjZGVmaW5lICAgIFNSQ0xLRU5fUERfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RDIKKyNkZWZpbmUgICAgU1JDTEtFTl9QRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxMAorI2RlZmluZSAgICBTUkNMS0VOX1BEX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0CisKKy8vIChSVykKKyNkZWZpbmUgICAgU1JDTEtFTl9FMl9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhEMgorI2RlZmluZSAgICBTUkNMS0VOX0UyX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDA4CisjZGVmaW5lICAgIFNSQ0xLRU5fRTJfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMKKworLy8gKFJXKQorI2RlZmluZSAgICBTUkNMS0VOX0U0X0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEQyCisjZGVmaW5lICAgIFNSQ0xLRU5fRTRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDQKKyNkZWZpbmUgICAgU1JDTEtFTl9FNF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMgorCisvLyAoUlcpCisjZGVmaW5lICAgIFNSQ0xLRU5fU01UX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RDIKKyNkZWZpbmUgICAgU1JDTEtFTl9TTVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMgorI2RlZmluZSAgICBTUkNMS0VOX1NNVF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCisKKy8vIChSVykKKyNkZWZpbmUgICAgU1JDTEtFTl9TUl9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhEMgorI2RlZmluZSAgICBTUkNMS0VOX1NSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxCisjZGVmaW5lICAgIFNSQ0xLRU5fU1JfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAKKworLy8gKDB4MEUwKSBWRVJTSU9OCisvLyAoUk8pCisjZGVmaW5lICAgIFZFUlNJT05fQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RTAKKyNkZWZpbmUgICAgVkVSU0lPTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhGRgorI2RlZmluZSAgICBWRVJTSU9OX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwCisKKy8vICgweDBGMCkgQklTVF9DVFJMX0NPTjAKKy8vIChSVykKKyNkZWZpbmUgICAgUkdfVlRDWE9fQklTVF9FTl9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhGMAorI2RlZmluZSAgICBSR19WVENYT19CSVNUX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAweDA4CisjZGVmaW5lICAgIFJHX1ZUQ1hPX0JJU1RfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgIDMKKworLy8gKFJXKQorI2RlZmluZSAgICBSR19WQTI1X0JJU1RfRU5fQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEYwCisjZGVmaW5lICAgIFJHX1ZBMjVfQklTVF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEKKyNkZWZpbmUgICAgUkdfVkEyNV9CSVNUX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgMAorCisvLyAoMHgwRjEpIEJJU1RfQ1RSTF9DT04xCisvLyAoUlcpCisjZGVmaW5lICAgIFJHX1ZNX0JJU1RfRU5fQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RjEKKyNkZWZpbmUgICAgUkdfVk1fQklTVF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwOAorI2RlZmluZSAgICBSR19WTV9CSVNUX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzCisKKy8vIChSVykKKyNkZWZpbmUgICAgUkdfVk1DX0JJU1RfRU5fQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhGMQorI2RlZmluZSAgICBSR19WTUNfQklTVF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDA0CisjZGVmaW5lICAgIFJHX1ZNQ19CSVNUX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIKKworLy8gKFJXKQorI2RlZmluZSAgICBSR19WSU8xOF9CSVNUX0VOX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAweEYxCisjZGVmaW5lICAgIFJHX1ZJTzE4X0JJU1RfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDIKKyNkZWZpbmUgICAgUkdfVklPMThfQklTVF9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgMQorCisvLyAoUlcpCisjZGVmaW5lICAgIFJHX1ZTSU1fQklTVF9FTl9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RjEKKyNkZWZpbmUgICAgUkdfVlNJTV9CSVNUX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMQorI2RlZmluZSAgICBSR19WU0lNX0JJU1RfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAwCisKKy8vICgweDBGMikgQklTVF9DVFJMX0NPTjIKKy8vIChSVykKKyNkZWZpbmUgICAgUkdfQUJJU1RfTVVYX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhGMgorI2RlZmluZSAgICBSR19BQklTVF9NVVhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDBGCisjZGVmaW5lICAgIFJHX0FCSVNUX01VWF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAKKworLy9SZWdpc3RlciBHcm91cAorCisvL01lbW9yeQorCisjZGVmaW5lIFBNSUNfQkFOSzBfTUFYX1JFR19JRFggICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJHX0FCSVNUX01VWF9BRERSCisjZGVmaW5lIFBNSUNfQkFOSzBfUkVHX05VTSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChQTUlDX0JBTkswX01BWF9SRUdfSURYICsgMSkKKworI2VuZGlmIC8vI2lmIGRlZmluZWQoUE1JQ182MzI3X1JFR19BUEkpCisKKyNlbmRpZiAvLyAjaWZuZGVmIF9fRENMX1BNSUM2MzI3X0hXX0hfU1RSVUNUX18KZGlmZiAtLWdpdCBhL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvZGNsX3BtaWM2MzI3X3N3LmggYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL2RjbF9wbWljNjMyN19zdy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVjNjhhYTYKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL2RjbF9wbWljNjMyN19zdy5oCkBAIC0wLDAgKzEsMTMzIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMDUKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4gCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRmlsZW5hbWU6CisgKiAtLS0tLS0tLS0KKyAqICAgIGRjbF9wbWljNjMyN19zdy5oCisgKgorICogUHJvamVjdDoKKyAqIC0tLS0tLS0tCisgKiAgIE1hdWlfU29mdHdhcmUKKyAqCisgKiBEZXNjcmlwdGlvbjoKKyAqIC0tLS0tLS0tLS0tLQorICogICBUaGlzIGZpbGUgaXMgZm9yIFBNSUMgNjMyNworICoKKyAqIEF1dGhvcjoKKyAqIC0tLS0tLS0KKyAqIC0tLS0tLS0KKyAqCisgKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqICAgICAgICAgICAgIEhJU1RPUlkKKyAqIEJlbG93IHRoaXMgbGluZSwgdGhpcyBwYXJ0IGlzIGNvbnRyb2xsZWQgYnkgUFZDUyBWTS4gRE8gTk9UIE1PRElGWSEhCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIFVwcGVyIHRoaXMgbGluZSwgdGhpcyBwYXJ0IGlzIGNvbnRyb2xsZWQgYnkgUFZDUyBWTS4gRE8gTk9UIE1PRElGWSEhCisgKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisKKworI2lmbmRlZiBfX0RDTF9QTVU2MzI3X1NXX0hfU1RSVUNUX18KKyNkZWZpbmUgX19EQ0xfUE1VNjMyN19TV19IX1NUUlVDVF9fCisKKyNpbmNsdWRlICJkY2xfcG1pY19mZWF0dXJlcy5oIgorCisjaWZkZWYgUE1JQ182MzI3X1JFR19BUEkKKworI2RlZmluZSBQTUlDNjMyN19FQ09fMV9WRVJTSU9OCQkweDAxCisjZGVmaW5lIFBNSUM2MzI3X0VDT18yX1ZFUlNJT04JCTB4MDIKKworLy8gQ29tYmluYXRpb25hbCBmdW5jdGlvbnMKK2V4dGVybiB2b2lkIHBtaWM2MzI3X2N1c3RvbWl6YXRpb25faW5pdCh2b2lkKTsKKy8qCisvLyBUaGUgZm9sbG93aW5nIGFyZSBpbXBsZW1lbnRlZCBpbiBjdXN0b20gZmlsZXMKKy8vIE1vRElTIHBhcnNlciBza2lwIHN0YXJ0CitleHRlcm4gdm9pZCBwbWljNjMyN19jdXN0b21pemF0aW9uX2luaXQodm9pZCk7CitleHRlcm4gdm9pZCBwbWljNjMyN19jdXN0X3ZzcGtfZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4gdm9pZCBwbWljNjMyN19jc3V0X3ZzaW1fZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4gdm9pZCBwbWljNjMyN19jc3V0X3ZzaW1fc2VsKHBtaWNfYWRwdF92c2ltX3ZvbHQgdm9sdCk7CitleHRlcm4gdm9pZCBwbWljNjMyN19jc3V0X3ZzaW0yX2VuYWJsZShrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIHZvaWQgcG1pYzYzMjdfY3N1dF92c2ltMl9zZWwocG1pY19hZHB0X3ZzaW1fdm9sdCBzZWwpOworZXh0ZXJuIHZvaWQgcG1pYzYzMjdfY3N1dF92dXNiX2VuYWJsZShrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIHZvaWQgcG1pYzYzMjdfY3N1dF92Y2FtYV9lbmFibGUoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiB2b2lkIHBtaWM2MzI3X2NzdXRfdmNhbWFfc2VsKHBtaWNfYWRwdF92Y2FtYV92b2x0IHZvbCk7CitleHRlcm4gdm9pZCBwbWljNjMyN19jc3V0X3ZjYW1kX2VuYWJsZShrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIHZvaWQgcG1pYzYzMjdfY3N1dF92Y2FtZF9zZWwocG1pY19hZHB0X3ZjYW1kX3ZvbHQgdm9sdCk7CisvLyBNb0RJUyBwYXJzZXIgc2tpcCBlbmQKKyovCisKK3R5cGVkZWYgZW51bQoreworICAgIFZJTzE4X1NUQVRVUywKKyAgICBWUkYxOF9TVEFUVVMsCisgICAgVlRDWE9fU1RBVFVTLAorICAgIFBNVV9USFJfU1RBVFVTLAorICAgIFJHX1ZSRjE4X0VOLAorICAgIFJHX1ZSRjE4X1ZPU0VMLAorICAgIFJHX1ZSRjE4X09OX0NUUkwsCisgICAgUkdfVlJGMThfTU9ERVNFVCwKKyAgICBSR19WSU8xOF9FTiwKKyAgICBSR19WU0lNX0NBTCwKKyAgICBSR19WU0lNX1ZPU0VMLAorICAgIFJHX1ZTSU1fRU4sCisgICAgUkdfVk1DX0NBTCwKKyAgICBSR19WTUNfVk9TRUwsCisgICAgUkdfVk1DX0VOLAorICAgIFJHX1ZUQ1hPX0NBTCwKKyAgICBWVENYT19PTl9DVFJMLAorICAgIFJHX1ZUQ1hPX0VOLAorfVBNVV9GTEFHU19MSVNUX0VOVU07CisKKyNlbmRpZiAvLyAjaWZkZWYgUE1JQ182MzI3X1JFR19BUEkKKyNlbmRpZiAvLyAjaWZuZGVmIF9fRENMX1BNVTYzMjdfU1dfSF9TVFJVQ1RfXworCmRpZmYgLS1naXQgYS9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL2RjbF9wbWljNjMyOV9ody5oIGIvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9kY2xfcG1pYzYzMjlfaHcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZTNhMjE5Ci0tLSAvZGV2L251bGwKKysrIGIvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9kY2xfcG1pYzYzMjlfaHcuaApAQCAtMCwwICsxLDI5OTggQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxMQorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLiAKKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGaWxlbmFtZToKKyAqIC0tLS0tLS0tLQorICogICAgZGNsX3BtdTYzMjlfaHcuaAorICoKKyAqIFByb2plY3Q6CisgKiAtLS0tLS0tLQorICogICBNYXVpX1NvZnR3YXJlCisgKgorICogRGVzY3JpcHRpb246CisgKiAtLS0tLS0tLS0tLS0KKyAqICAgVGhpcyBmaWxlIGlzIGZvciBQTUlDNjMyOSBIL1cgY29uZmlndXJhdGlvbi4KKyAqCisgKiBBdXRob3I6CisgKiAtLS0tLS0tCisgKiAtLS0tLS0tCisgKgorICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKiAgICAgICAgICAgICBISVNUT1JZCisgKiBCZWxvdyB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiBVcHBlciB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworCisjaWZuZGVmIF9fRENMX1BNSUM2MzI5X0hXX0hfU1RSVUNUX18KKyNkZWZpbmUgX19EQ0xfUE1JQzYzMjlfSFdfSF9TVFJVQ1RfXworCisKKyNpbmNsdWRlICJkY2xfcG1pY19mZWF0dXJlcy5oIgorCisjaWYgZGVmaW5lZChQTUlDXzYzMjlfUkVHX0FQSSkKKworI2RlZmluZSBCSVQwMAkJMHgwMDAwMDAwMQorI2RlZmluZSBCSVQwMQkJMHgwMDAwMDAwMgorI2RlZmluZSBCSVQwMgkJMHgwMDAwMDAwNAorI2RlZmluZSBCSVQwMwkJMHgwMDAwMDAwOAorCisjZGVmaW5lIEJJVDA0CQkweDAwMDAwMDEwCisjZGVmaW5lIEJJVDA1CQkweDAwMDAwMDIwCisjZGVmaW5lIEJJVDA2CQkweDAwMDAwMDQwCisjZGVmaW5lIEJJVDA3CQkweDAwMDAwMDgwCisKKyNkZWZpbmUgQklUMDgJCTB4MDAwMDAxMDAKKyNkZWZpbmUgQklUMDkJCTB4MDAwMDAyMDAKKyNkZWZpbmUgQklUMTAJCTB4MDAwMDA0MDAKKyNkZWZpbmUgQklUMTEJCTB4MDAwMDA4MDAKKworI2RlZmluZSBCSVQxMgkJMHgwMDAwMTAwMAorI2RlZmluZSBCSVQxMwkJMHgwMDAwMjAwMAorI2RlZmluZSBCSVQxNAkJMHgwMDAwNDAwMAorI2RlZmluZSBCSVQxNQkJMHgwMDAwODAwMAorCisjZGVmaW5lIEJJVDE2CQkweDAwMDEwMDAwCisjZGVmaW5lIEJJVDE3CQkweDAwMDIwMDAwCisjZGVmaW5lIEJJVDE4CQkweDAwMDQwMDAwCisjZGVmaW5lIEJJVDE5CQkweDAwMDgwMDAwCisKKyNkZWZpbmUgQklUMjAJCTB4MDAxMDAwMDAKKyNkZWZpbmUgQklUMjEJCTB4MDAyMDAwMDAKKyNkZWZpbmUgQklUMjIJCTB4MDA0MDAwMDAKKyNkZWZpbmUgQklUMjMJCTB4MDA4MDAwMDAKKworI2RlZmluZSBCSVQyNAkJMHgwMTAwMDAwMAorI2RlZmluZSBCSVQyNQkJMHgwMjAwMDAwMAorI2RlZmluZSBCSVQyNgkJMHgwNDAwMDAwMAorI2RlZmluZSBCSVQyNwkJMHgwODAwMDAwMAorCisjZGVmaW5lIEJJVDI4CQkweDEwMDAwMDAwCisjZGVmaW5lIEJJVDI5CQkweDIwMDAwMDAwCisjZGVmaW5lIEJJVDMwCQkweDQwMDAwMDAwCisjZGVmaW5lIEJJVDMxCQkweDgwMDAwMDAwCisKKyNkZWZpbmUgUE1JQzYzMjlfRTFfQ0lEX0NPREUJCQkJMHgyOTAwCisjZGVmaW5lIFBNSUM2MzI5X0UyX0NJRF9DT0RFCQkJCTB4MjkxMAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkKKyNkZWZpbmUgQ0lEXzFfUkVHX0lOREVYCQkJCQkJMHgwCisjZGVmaW5lIENJRF8yX1JFR19JTkRFWAkJCQkJCTB4MQorCisvLyNkZWZpbmUgUE1JQ19NQVhfUkVHX0lEWAkJCQkJMHg5NgorLy8jZGVmaW5lIFBNSUNfUkVHX05VTQkJCQkJCTB4OTcJLy8gIyMjKioqKiogUE1JQ19SRUdfTlVNIG11c3QgZXF1YWwgKFBNSUNfTUFYX1JFR19JRFggKyAxKQorLy8gQW5kZXJzb24gTW9kaWZ5IDIwMTEwMzMxIFN0YXJ0CisjZGVmaW5lIFBNSUNfQkFOSzBfTUFYX1JFR19JRFggICAgICAJCTB4RjcKKyNkZWZpbmUgUE1JQ19CQU5LMF9SRUdfTlVNICAgICAgICAgIAkJKFBNSUNfQkFOSzBfTUFYX1JFR19JRFggKyAxKSAgICAvLyAjIyMqKioqKiBQTUlDX0JBTkswX1JFR19OVU0gbXVzdCBlcXVhbCAoUE1JQ19CQU5LMF9NQVhfUkVHX0lEWCArIDEpCisjZGVmaW5lIFBNSUNfQkFOSzFfTUFYX1JFR19JRFggICAgICAJCTB4QTUKKyNkZWZpbmUgUE1JQ19CQU5LMV9SRUdfTlVNICAgICAgICAgIAkJKFBNSUNfQkFOSzFfTUFYX1JFR19JRFggKyAxKSAgICAvLyAjIyMqKioqKiBQTUlDX0JBTksxX1JFR19OVU0gbXVzdCBlcXVhbCAoUE1JQ19CQU5LMV9NQVhfUkVHX0lEWCArIDEpCisKKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisvKiAgICAgIFBNSUMgNjMyOSBCQU5LIDAgICAgICAqLworLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKy8vICgweDAwKSBDSUQwIChSTykKKyNkZWZpbmUgQ0lEMF9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMAorCisjZGVmaW5lIENJRDBfTUFTSyAgICAgICAgICAgICAgIAkgICAgICAgIDB4RkYKKyNkZWZpbmUgQ0lEMF9NQVNLX1NISUZUICAgICAgICAgICAgICAJICAgIDB4MAorCisvLyAoMHgwMSkgQ0lEMSAoUk8pCisjZGVmaW5lIENJRDFfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEKKworI2RlZmluZSBDSUQxX01BU0sgICAgICAgICAgICAgICAJICAgICAgICAweEZGCisjZGVmaW5lIENJRDAxX01BU0tfU0hJRlQgICAgICAgICAgICAgIAkgICAgMHgwCisKKy8vICgweDAyKSBTVEFUVVMwIChSTykKKyNkZWZpbmUgU1RBVFVTMF9BRERSICAgICAgICAgICAgICAgICAgICAgICAgMHgwMgorCisjZGVmaW5lIFZDT1JFX1NUQVRVU19NQVNLICAgICAgICAgICAgICAgCTB4MQorI2RlZmluZSBWQ09SRV9TVEFUVVNfU0hJRlQgICAgICAgICAgICAgIAkweDcKKyNkZWZpbmUgVlBST0NfU1RBVFVTX01BU0sgICAgICAgICAgICAgICAJMHgxCisjZGVmaW5lIFZQUk9DX1NUQVRVU19TSElGVCAgICAgICAgICAgICAgCTB4NgorI2RlZmluZSBWSU8xOF9TVEFUVVNfTUFTSyAgICAgICAgICAgICAgIAkweDEKKyNkZWZpbmUgVklPMThfU1RBVFVTX1NISUZUICAgICAgICAgICAgICAJMHg1CisjZGVmaW5lIFZSRjE4X1NUQVRVU19NQVNLICAgICAgICAgICAgICAgCTB4MQorI2RlZmluZSBWUkYxOF9TVEFUVVNfU0hJRlQgICAgICAgICAgICAgIAkweDQKKyNkZWZpbmUgVlBBX1NUQVRVU19NQVNLICAgICAgICAgICAgICAgICAJMHgxCisjZGVmaW5lIFZQQV9TVEFUVVNfU0hJRlQgICAgICAgICAgICAgICAgCTB4MworI2RlZmluZSBWUkZfU1RBVFVTX01BU0sgICAgICAgICAgICAgICAgIAkweDEKKyNkZWZpbmUgVlJGX1NUQVRVU19TSElGVCAgICAgICAgICAgICAgICAJMHgyCisjZGVmaW5lIFZUQ1hPX1NUQVRVU19NQVNLICAgICAgICAgICAgICAgCTB4MQorI2RlZmluZSBWVENYT19TVEFUVVNfU0hJRlQgICAgICAgICAgICAgIAkweDEKKyNkZWZpbmUgVkExX1NUQVRVU19NQVNLICAgICAgICAgICAgICAgICAJMHgxCisjZGVmaW5lIFZBMV9TVEFUVVNfU0hJRlQgICAgICAgICAgICAgICAgCTB4MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkKKy8vICgweDAzKSBTVEFUVVMxIChSTykKKyNkZWZpbmUgU1RBVFVTMV9BRERSICAgICAgICAgICAgICAgICAgICAgICAgMHgwMworCisjZGVmaW5lIFZDQU1BX1NUQVRVU19NQVNLICAgICAgICAgICAgICAgCTB4MQorI2RlZmluZSBWQ0FNQV9TVEFUVVNfU0hJRlQgICAgICAgICAgICAgIAkweDcKKyNkZWZpbmUgVk0xMl8xX1NUQVRVU19NQVNLICAgICAgICAgICAgICAJMHgxCisjZGVmaW5lIFZNMTJfMV9TVEFUVVNfU0hJRlQgICAgICAgICAgICAgCTB4NgorI2RlZmluZSBWTTEyX0lOVF9TVEFUVVNfTUFTSyAgICAgICAgICAgIAkweDEKKyNkZWZpbmUgVk0xMl9JTlRfU1RBVFVTX1NISUZUICAgICAgICAgICAJMHg1CisjZGVmaW5lIFZJTzI4X1NUQVRVU19NQVNLICAgICAgICAgICAgICAgCTB4MQorI2RlZmluZSBWSU8yOF9TVEFUVVNfU0hJRlQgICAgICAgICAgICAgIAkweDQKKyNkZWZpbmUgVlNJTTFfU1RBVFVTX01BU0sgICAgICAgICAgICAgICAJMHgxCisjZGVmaW5lIFZTSU0xX1NUQVRVU19TSElGVCAgICAgICAgICAgICAgCTB4MworI2RlZmluZSBWU0lNMl9TVEFUVVNfTUFTSyAgICAgICAgICAgICAgIAkweDEKKyNkZWZpbmUgVlNJTTJfU1RBVFVTX1NISUZUICAgICAgICAgICAgICAJMHgyCisjZGVmaW5lIFZVU0JfU1RBVFVTX01BU0sgICAgICAgICAgICAgICAgCTB4MQorI2RlZmluZSBWVVNCX1NUQVRVU19TSElGVCAgICAgICAgICAgICAgIAkweDEKKyNkZWZpbmUgVkNBTURfU1RBVFVTX01BU0sgICAgICAgICAgICAgICAJMHgxCisjZGVmaW5lIFZDQU1EX1NUQVRVU19TSElGVCAgICAgICAgICAgICAgCTB4MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkKKy8vICgweDA0KSBTVEFUVVMyIChSTykKKyNkZWZpbmUgU1RBVFVTMl9BRERSICAgICAgICAgICAgICAgICAgICAgICAgMHgwNAorCisjZGVmaW5lIFZDQU1fSU9fU1RBVFVTX01BU0sJICAgICAgICAgICAgCTB4MQkKKyNkZWZpbmUgVkNBTV9JT19TVEFUVVNfU0hJRlQJICAgICAgICAJMHg3CisjZGVmaW5lIFZDQU1fQUZfU1RBVFVTX01BU0sJICAgICAgICAgICAgCTB4MQkKKyNkZWZpbmUgVkNBTV9BRl9TVEFUVVNfU0hJRlQJICAgICAgICAJMHg2CisjZGVmaW5lIFZNQ19TVEFUVVNfTUFTSwkgICAgICAgICAgICAgICAgCTB4MQkKKyNkZWZpbmUgVk1DX1NUQVRVU19TSElGVAkgICAgICAgICAgICAJMHg1CisjZGVmaW5lIFZNQ0hfU1RBVFVTX01BU0sJICAgICAgICAgICAgCTB4MQkKKyNkZWZpbmUgVk1DSF9TVEFUVVNfU0hJRlQJICAgICAgICAgICAgCTB4NAorI2RlZmluZSBWR1BfU1RBVFVTX01BU0sJICAgICAgICAgICAgICAgIAkweDEJCisjZGVmaW5lIFZHUF9TVEFUVVNfU0hJRlQJICAgICAgICAgICAgCTB4MworI2RlZmluZSBWR1AyX1NUQVRVU19NQVNLCSAgICAgICAgICAgIAkweDEJCisjZGVmaW5lIFZHUDJfU1RBVFVTX1NISUZUCQkJCQkweDIKKyNkZWZpbmUgVk0xMl8yX1NUQVRVU19NQVNLCQkJCQkweDEJCisjZGVmaW5lIFZNMTJfMl9TVEFUVVNfU0hJRlQJCQkJCTB4MQorI2RlZmluZSBWSUJSX1NUQVRVU19NQVNLCQkJCQkweDEJCisjZGVmaW5lIFZJQlJfU1RBVFVTX1NISUZUCQkJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCisvLyAoMHgwNSkgU1RBVFVTMyAoUk8pCisjZGVmaW5lIFNUQVRVUzNfQUREUiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDUKKworI2RlZmluZSBWQTJfU1RBVFVTX01BU0sJCQkJCQkweDEJCisjZGVmaW5lIFZBMl9TVEFUVVNfU0hJRlQJCQkJCTB4NQorI2RlZmluZSBWUlRDX1NUQVRVU19NQVNLCQkJCQkweDEJCisjZGVmaW5lIFZSVENfU1RBVFVTX1NISUZUCQkJCQkweDQKKyNkZWZpbmUgVlRDWE9fUEdfU1RBVFVTX01BU0sJCQkJMHgxCQorI2RlZmluZSBWVENYT19QR19TVEFUVVNfU0hJRlQJCQkJMHgwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQorLy8gKDB4MDYpIFBHU1RBVFVTMCAoUk8pCisjZGVmaW5lIFBHU1RBVFVTMF9BRERSICAgICAgICAgICAgICAgICAgICAgIDB4MDYKKworI2RlZmluZSBWQ09SRV9QR19TVEFUVVNfTUFTSwkJCQkweDEJCisjZGVmaW5lIFZDT1JFX1BHX1NUQVRVU19TSElGVAkJCQkweDcKKyNkZWZpbmUgVlBST0NfUEdfU1RBVFVTX01BU0sJCQkJMHgxCQorI2RlZmluZSBWUFJPQ19QR19TVEFUVVNfU0hJRlQJCQkJMHg2CisjZGVmaW5lIFZJTzE4X1BHX1NUQVRVU19NQVNLCQkJCTB4MQkKKyNkZWZpbmUgVklPMThfUEdfU1RBVFVTX1NISUZUCQkJCTB4NQorI2RlZmluZSBWSU8yOF9QR19TVEFUVVNfTUFTSwkJCQkweDEJCisjZGVmaW5lIFZJTzI4X1BHX1NUQVRVU19TSElGVAkJCQkweDQKKyNkZWZpbmUgVkExX1BHX1NUQVRVU19NQVNLCQkJCQkweDEJCisjZGVmaW5lIFZBMV9QR19TVEFUVVNfU0hJRlQJCQkJCTB4MworI2RlZmluZSBWTTEyXzFfUEdfU1RBVFVTX01BU0sJCQkJMHgxCQorI2RlZmluZSBWTTEyXzFfUEdfU1RBVFVTX1NISUZUCQkJCTB4MgorI2RlZmluZSBWTTEyXzJfUEdfU1RBVFVTX01BU0sJCQkJMHgxCQorI2RlZmluZSBWTTEyXzJfUEdfU1RBVFVTX1NISUZUCQkJCTB4MQorI2RlZmluZSBWTTEyX0lOVF9QR19TVEFUVVNfTUFTSwkJCQkweDEJCisjZGVmaW5lIFZNMTJfSU5UX1BHX1NUQVRVU19TSElGVAkJCTB4MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkKKy8vICgweDA3KSBSRVNFUlZFUkQgICAgICAgICAgICAgICAgICAgICAJCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQorLy8gKDB4MDgpIFJFU0VSVkVSRCAgICAgICAgICAgICAgICAgICAgIAkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCisvLyAoMHgwOSkgQ0hSU0FUVVMgKFJPKQorI2RlZmluZSBDSFJTVEFUVVNfQUREUgkJCQkJCTB4MDkKKworI2RlZmluZSBDVl9NQVNLCQkJCQkJCQkweDEJCisjZGVmaW5lIENWX1NISUZUCQkJCQkJCTB4NworI2RlZmluZSBST19CQVRPTl9VTkRFVF9NQVNLCQkJCQkweDEJCisjZGVmaW5lIFJPX0JBVE9OX1VOREVUX1NISUZUCQkJCTB4NgorI2RlZmluZSBQQ0hSX0NIUkRFVF9NQVNLCQkJCQkweDEJCisjZGVmaW5lIFBDSFJfQ0hSREVUX1NISUZUCQkJCQkweDUKKyNkZWZpbmUgVkJBVF9PVl9NQVNLCQkJCQkJMHgxCQorI2RlZmluZSBWQkFUX09WX1NISUZUCQkJCQkJMHg0CisjZGVmaW5lIFBXUktFWV9ERUJfTUFTSwkJCQkJCTB4MQkKKyNkZWZpbmUgUFdSS0VZX0RFQl9TSElGVAkJCQkJMHgzCisjZGVmaW5lIFVTQkRMX01BU0sJCQkJCQkJMHgxCQorI2RlZmluZSBVU0JETF9TSElGVAkJCQkJCQkweDIKKyNkZWZpbmUgVEVTVF9NT0RFX1BPUl9NQVNLCQkJCQkweDEJCisjZGVmaW5lIFRFU1RfTU9ERV9QT1JfU0hJRlQJCQkJCTB4MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQkKKy8vICgweDBBKSBPQ1NUQVRVUzAgKFJPKSAgICAgICAgICAgICAgIAorI2RlZmluZSBPQ1NUQVRVUzBfQUREUgkJCQkJCTB4MEEKKworI2RlZmluZSBWQ0FNQV9PQ19TVEFUVVNfTUFTSwkJCQkweDEJCisjZGVmaW5lIFZDQU1BX09DX1NUQVRVU19TSElGVAkJCQkweDcKKyNkZWZpbmUgVk0xMl8xX09DX1NUQVRVU19NQVNLCQkJCTB4MQkKKyNkZWZpbmUgVk0xMl8xX09DX1NUQVRVU19TSElGVAkJCQkweDYKKyNkZWZpbmUgVk0xMl9PQ19TVEFUVVNfTUFTSwkJCQkJMHgxCQorI2RlZmluZSBWTTEyX09DX1NUQVRVU19TSElGVAkJCQkweDUKKyNkZWZpbmUgVklPMjhfT0NfU1RBVFVTX01BU0sJCQkJMHgxCQorI2RlZmluZSBWSU8yOF9PQ19TVEFUVVNfU0hJRlQJCQkJMHg0CisjZGVmaW5lIFZTSU0xX09DX1NUQVRVU19NQVNLCQkJCTB4MQkKKyNkZWZpbmUgVlNJTTFfT0NfU1RBVFVTX1NISUZUCQkJCTB4MworI2RlZmluZSBWU0lNMl9PQ19TVEFUVVNfTUFTSwkJCQkweDEJCisjZGVmaW5lIFZTSU0yX09DX1NUQVRVU19TSElGVAkJCQkweDIKKyNkZWZpbmUgVlVTQl9PQ19TVEFUVVNfTUFTSwkJCQkJMHgxCQorI2RlZmluZSBWVVNCX09DX1NUQVRVU19TSElGVAkJCQkweDEKKyNkZWZpbmUgVkNBTURfT0NfU1RBVFVTX01BU0sJCQkJMHgxCQorI2RlZmluZSBWQ0FNRF9PQ19TVEFUVVNfU0hJRlQJCQkJMHgwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQorLy8gKDB4MEIpIE9DU1RBVFVTMSAoUk8pICAKKyNkZWZpbmUgT0NTVEFUVVMxX0FERFIJCQkJCQkweDBCCisKKyNkZWZpbmUgVkNBTV9JT19PQ19TVEFUVVNfTUFTSwkJCQkweDEJCisjZGVmaW5lIFZDQU1fSU9fT0NfU1RBVFVTX1NISUZUCQkJCTB4NworI2RlZmluZSBWQ0FNX0FGX09DX1NUQVRVU19NQVNLCQkJCTB4MQkKKyNkZWZpbmUgVkNBTV9BRl9PQ19TVEFUVVNfU0hJRlQJCQkJMHg2CisjZGVmaW5lIFZNQ19PQ19TVEFUVVNfTUFTSwkJCQkJMHgxCQorI2RlZmluZSBWTUNfT0NfU1RBVFVTX1NISUZUCQkJCQkweDUKKyNkZWZpbmUgVk1DSF9PQ19TVEFUVVNfTUFTSwkJCQkJMHgxCQorI2RlZmluZSBWTUNIX09DX1NUQVRVU19TSElGVAkJCQkweDQKKyNkZWZpbmUgVkdQX09DX1NUQVRVU19NQVNLCQkJCQkweDEJCisjZGVmaW5lIFZHUF9PQ19TVEFUVVNfU0hJRlQJCQkJCTB4MworI2RlZmluZSBWR1AyX09DX1NUQVRVU19NQVNLCQkJCQkweDEJCisjZGVmaW5lIFZHUDJfT0NfU1RBVFVTX1NISUZUCQkJCTB4MgorI2RlZmluZSBWTTEyXzJfT0NfU1RBVFVTX01BU0sJCQkJMHgxCQorI2RlZmluZSBWTTEyXzJfT0NfU1RBVFVTX1NISUZUCQkJCTB4MQorI2RlZmluZSBWSUJSX09DX1NUQVRVU19NQVNLCQkJCQkweDEJCisjZGVmaW5lIFZJQlJfT0NfU1RBVFVTX1NISUZUCQkJCTB4MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkKKy8vICgweDBDKSBPQ1NUQVRVUzIgKFJPKSAKKyNkZWZpbmUgT0NTVEFUVVMyX0FERFIJCQkJCQkweDBDCisKKyNkZWZpbmUgSE9NRUtFWV9ERUJfTUFTSwkJCQkJMHgxCQorI2RlZmluZSBIT01FS0VZX0RFQl9TSElGVAkJCQkJMHg2CisjZGVmaW5lIEJPT1NUX09DX1NUQVRVU19NQVNLCQkJCTB4MQkKKyNkZWZpbmUgQk9PU1RfT0NfU1RBVFVTX1NISUZUCQkJCTB4NQorI2RlZmluZSBWQTJfT0NfU1RBVFVTX01BU0sJCQkJCTB4MQkKKyNkZWZpbmUgVkEyX09DX1NUQVRVU19TSElGVAkJCQkJMHg0CisjZGVmaW5lIE5JX1NQS19PQ19ERVRfRF9SX01BU0sJCQkJMHgxCQorI2RlZmluZSBOSV9TUEtfT0NfREVUX0RfUl9TSElGVAkJCQkweDMKKyNkZWZpbmUgTklfU1BLX09DX0RFVF9EX0xfTUFTSwkJCQkweDEJCisjZGVmaW5lIE5JX1NQS19PQ19ERVRfRF9MX1NISUZUCQkJCTB4MgorI2RlZmluZSBOSV9TUEtfT0NfREVUX0FCX1JfTUFTSwkJCQkweDEJCisjZGVmaW5lIE5JX1NQS19PQ19ERVRfQUJfUl9TSElGVAkJCTB4MQorI2RlZmluZSBOSV9TUEtfT0NfREVUX0FCX0xfTUFTSwkJCQkweDEJCisjZGVmaW5lIE5JX1NQS19PQ19ERVRfQUJfTF9TSElGVAkJCTB4MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkKKy8vICgweDBEKSBPQ1NUQVRVUzMgKFJPKSAKKyNkZWZpbmUgT0NTVEFUVVMzX0FERFIJCQkJCQkweDBECisKKyNkZWZpbmUgVkNPUkVfT0NfU1RBVFVTX01BU0sJCQkJMHgxCQorI2RlZmluZSBWQ09SRV9PQ19TVEFUVVNfU0hJRlQJCQkJMHg3CisjZGVmaW5lIFZQUk9DX09DX1NUQVRVU19NQVNLCQkJCTB4MQkKKyNkZWZpbmUgVlBST0NfT0NfU1RBVFVTX1NISUZUCQkJCTB4NgorI2RlZmluZSBWSU8xOF9PQ19TVEFUVVNfTUFTSwkJCQkweDEJCisjZGVmaW5lIFZJTzE4X09DX1NUQVRVU19TSElGVAkJCQkweDUKKyNkZWZpbmUgVlJGMThfT0NfU1RBVFVTX01BU0sJCQkJMHgxCQorI2RlZmluZSBWUkYxOF9PQ19TVEFUVVNfU0hJRlQJCQkJMHg0CisjZGVmaW5lIFZQQV9PQ19TVEFUVVNfTUFTSwkJCQkJMHgxCisjZGVmaW5lIFZQQV9PQ19TVEFUVVNfU0hJRlQJCQkJCTB4MworI2RlZmluZSBWUkZfT0NfU1RBVFVTX01BU0sJCQkJCTB4MQkKKyNkZWZpbmUgVlJGX09DX1NUQVRVU19TSElGVAkJCQkJMHgyCisjZGVmaW5lIFZUQ1hPX09DX1NUQVRVU19NQVNLCQkJCTB4MQkKKyNkZWZpbmUgVlRDWE9fT0NfU1RBVFVTX1NISUZUCQkJCTB4MQorI2RlZmluZSBWQTFfT0NfU1RBVFVTX01BU0sJCQkJCTB4MQkKKyNkZWZpbmUgVkExX09DX1NUQVRVU19TSElGVAkJCQkJMHgwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQorLy8gKDB4MEUpIFNUUlVQX0NUUkwxIChSVykgIAorI2RlZmluZSBTVFJVUF9DVFJMMV9BRERSIAkJCQkJMHgwRQorCisjZGVmaW5lIFJHX1RIUkRFVF9TRUxfTUFTSwkgICAgICAgICAgICAJMHgxCQorI2RlZmluZSBSR19USFJERVRfU0VMX1NISUZUCSAgICAgICAgICAgIAkweDYKKyNkZWZpbmUgUkdfVEhSX0hXUEROX0VOX01BU0sJICAgICAgICAJMHgxCQorI2RlZmluZSBSR19USFJfSFdQRE5fRU5fU0hJRlQJICAgICAgICAJMHg1CisjZGVmaW5lIFJHX1NUUlVQX1RIUl9TRUxfTUFTSwkgICAgICAgIAkweDMJCisjZGVmaW5lIFJHX1NUUlVQX1RIUl9TRUxfU0hJRlQJICAgICAgICAJMHgzCisjZGVmaW5lIFJHX1RIUl9UTU9ERV9NQVNLCSAgICAgICAgICAgIAkweDEJCisjZGVmaW5lIFJHX1RIUl9UTU9ERV9TSElGVAkgICAgICAgICAgICAJMHgxCisjZGVmaW5lIFJHX0ZPUkNFX05PTl9USEVSTUFMX01BU0sJICAgIAkweDEJCisjZGVmaW5lIFJHX0ZPUkNFX05PTl9USEVSTUFMX1NISUZUCSAgICAJMHgwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQorLy8gKDB4MEYpIFNUUlVQX0NUUkwyIChSVykgICAKKyNkZWZpbmUgU1RSVVBfQ1RSTDJfQUREUiAJCQkJCTB4MEYKKworI2RlZmluZSBSR19WUkVGX0JHX01BU0sJICAgICAgICAgICAgICAgIAkweDcJCisjZGVmaW5lIFJHX1ZSRUZfQkdfU0hJRlQJICAgICAgICAgICAgCTB4NAorI2RlZmluZSBSR19TVFJVUF9JUkVGX1RSSU1fTUFTSwkgICAgICAgIAkweEYJCisjZGVmaW5lIFJHX1NUUlVQX0lSRUZfVFJJTV9TSElGVAkgICAgCTB4MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkKKy8vICgweDEwKSBTVFJVUF9DVFJMMyAoUlcpICAgICAgICAKKyNkZWZpbmUgU1RSVVBfQ1RSTDNfQUREUiAJCQkJCTB4MTAKKworI2RlZmluZSBSR19CQl9QUk9DX1NFTF9NQVNLCQkJCQkweDEJCisjZGVmaW5lIFJHX0JCX1BST0NfU0VMX1NISUZUCQkJCTB4NworI2RlZmluZSBSR19TVFJVUF9SU1RfRFJWU0VMX01BU0sJCQkweDEJCisjZGVmaW5lIFJHX1NUUlVQX1JTVF9EUlZTRUxfU0hJRlQJCQkweDYKKyNkZWZpbmUgUkdfUE1VX0xFVl9VTkdBVEVfTUFTSwkJCQkweDEJCisjZGVmaW5lIFJHX1BNVV9MRVZfVU5HQVRFX1NISUZUCQkJCTB4MQorI2RlZmluZSBSR19VU0JETF9FTl9NQVNLCQkJCQkweDEJCisjZGVmaW5lIFJHX1VTQkRMX0VOX1NISUZUCQkJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCisvLyAoMHgxMSkgU1RSVVBfUlNWMSAoUlcpICAgICAgICAgCisjZGVmaW5lIFNUUlVQX1JTVjFfQUREUiAJCQkJCTB4MTEKKworI2RlZmluZSBSR19QTVVfUlNWX01BU0sJICAgICAgICAgICAgICAgIAkweEYJCisjZGVmaW5lIFJHX1BNVV9SU1ZfU0hJRlQJICAgICAgICAgICAgCTB4NAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkKKy8vICgweDEyKSBTVFJVUF9UU1RfQ1RMIChSVykgICAgICAKKyNkZWZpbmUgU1RSVVBfVFNUX0NUTF9BRERSIAkJCQkJMHgxMgorCisjZGVmaW5lIFJHX0JJQVNfR0VOX0VOX0ZPUkNFX01BU0sJCQkweDEJCisjZGVmaW5lIFJHX0JJQVNfR0VOX0VOX0ZPUkNFX1NISUZUCQkJMHg1CisjZGVmaW5lIFJHX1NUUlVQX1BXUk9OX0ZPUkNFX01BU0sJCQkweDEJCisjZGVmaW5lIFJHX1NUUlVQX1BXUk9OX0ZPUkNFX1NISUZUCQkJMHg0CisjZGVmaW5lIFJHX1NUUlVQX1RFU1RfTUFTSwkJCQkJMHgxCQorI2RlZmluZSBSR19TVFJVUF9URVNUX1NISUZUCQkJCQkweDMKKyNkZWZpbmUgUkdfU1RSVVBfRlRfQ1RSTF9NQVNLCQkJCTB4MwkKKyNkZWZpbmUgUkdfU1RSVVBfRlRfQ1RSTF9TSElGVAkJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCisvLyAoMHgxMykgU1RSVVBfVEhSX0NUTCAoUk8vUlcpICAgICAgICAgCisjZGVmaW5lIFNUUlVQX1RIUl9DVExfQUREUiAJCQkJCTB4MTMKKworI2RlZmluZSBQTVVfVEhSX1NUQVRVU19NQVNLCSAgIAkJCQkweDcJCisjZGVmaW5lIFBNVV9USFJfU1RBVFVTX1NISUZUCQkJCTB4NAorI2RlZmluZSBSR19USEVSTUFMX1RFU1RfTUFTSwkJCQkweDMJCisjZGVmaW5lIFJHX1RIRVJNQUxfVEVTVF9TSElGVAkJCQkweDIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCisvLyAoMHgxNCkgU1RSVVBfVlBHX0VOMSAoUlcpICAKKyNkZWZpbmUgU1RSVVBfVlBHX0VOMV9BRERSIAkJCQkJMHgxNAorCisjZGVmaW5lIFJHX1ZDT1JFX1BHX0VOQl9NQVNLCQkJCTB4MQkKKyNkZWZpbmUgUkdfVkNPUkVfUEdfRU5CX1NISUZUCQkJCTB4NworI2RlZmluZSBSR19WUFJPQ19QR19FTkJfTUFTSwkJCQkweDEJCisjZGVmaW5lIFJHX1ZQUk9DX1BHX0VOQl9TSElGVAkJCQkweDYKKyNkZWZpbmUgUkdfVklPMThfUEdfRU5CX01BU0sJCQkJMHgxCQorI2RlZmluZSBSR19WSU8xOF9QR19FTkJfU0hJRlQJCQkJMHg1CisjZGVmaW5lIFJHX1ZJTzI4X1BHX0VOQl9NQVNLCQkJCTB4MQkKKyNkZWZpbmUgUkdfVklPMjhfUEdfRU5CX1NISUZUCQkJCTB4NAorI2RlZmluZSBSR19WQTFfUEdfRU5CX01BU0sJICAgIAkJCTB4MQkKKyNkZWZpbmUgUkdfVkExX1BHX0VOQl9TSElGVAkgICAgCQkJMHgzCisjZGVmaW5lIFJHX1ZNMTJfMV9QR19FTkJfTUFTSwkJCQkweDEJCisjZGVmaW5lIFJHX1ZNMTJfMV9QR19FTkJfU0hJRlQJCQkJMHgyCisjZGVmaW5lIFJHX1ZNMTJfMl9QR19FTkJfTUFTSwkJCQkweDEJCisjZGVmaW5lIFJHX1ZNMTJfMl9QR19FTkJfU0hJRlQJCQkJMHgxCisjZGVmaW5lIFJHX1ZNMTJfSU5UX1BHX0VOQl9NQVNLCQkJCTB4MQkKKyNkZWZpbmUgUkdfVk0xMl9JTlRfUEdfRU5CX1NISUZUCQkJMHgwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQorLy8gKDB4MTUpIFNUUlVQX1ZQR19FTjIgKFJXKSAgICAgICAgICAgCisjZGVmaW5lIFNUUlVQX1ZQR19FTjJfQUREUiAJCQkJCTB4MTUKKworI2RlZmluZSBSR19TVFJVUF9ESUdfUlNWX01BU0sJCQkJMHhGCQorI2RlZmluZSBSR19TVFJVUF9ESUdfUlNWX1NISUZUCQkJCTB4NAorI2RlZmluZSBSR19WVENYT19QR19FTkJfTUFTSwkJCQkweDEJCisjZGVmaW5lIFJHX1ZUQ1hPX1BHX0VOQl9TSElGVAkJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCisvLyAoMHgxNikgSU5UX0NPTjAgKFJXKSAgICAgICAgICAgICAgCisjZGVmaW5lIElOVF9DT04wX0FERFIgCQkJCQkJMHgxNiAKKworI2RlZmluZSBSR19PVl9JTlRfRU5fTUFTSwkJCQkJMHgxCQorI2RlZmluZSBSR19PVl9JTlRfRU5fU0hJRlQJCQkJCTB4NworI2RlZmluZSBSR19DSFJERVRfSU5UX0VOX01BU0sJCQkJMHgxCQorI2RlZmluZSBSR19DSFJERVRfSU5UX0VOX1NISUZUCQkJCTB4NgorI2RlZmluZSBSR19CVkFMSURfREVUX0lOVF9FTl9NQVNLCQkJMHgxCisjZGVmaW5lIFJHX0JWQUxJRF9ERVRfSU5UX0VOX1NISUZUCQkJMHg1CisjZGVmaW5lIFJHX1ZCQVRPTl9VTkRFVF9JTlRfRU5fTUFTSwkJCTB4MQkKKyNkZWZpbmUgUkdfVkJBVE9OX1VOREVUX0lOVF9FTl9TSElGVAkJMHg0CisjZGVmaW5lIFJHX1RIUl9IX0lOVF9FTl9NQVNLCQkJCTB4MQkKKyNkZWZpbmUgUkdfVEhSX0hfSU5UX0VOX1NISUZUCQkJCTB4MworI2RlZmluZSBSR19USFJfTF9JTlRfRU5fTUFTSwkJCQkweDEJCisjZGVmaW5lIFJHX1RIUl9MX0lOVF9FTl9TSElGVAkJCQkweDIKKyNkZWZpbmUgUkdfUFdSS0VZX0lOVF9FTl9NQVNLCQkJCTB4MQkKKyNkZWZpbmUgUkdfUFdSS0VZX0lOVF9FTl9TSElGVAkJCQkweDEKKyNkZWZpbmUgUkdfV0FUQ0hET0dfSU5UX0VOX01BU0sJCQkJMHgxCQorI2RlZmluZSBSR19XQVRDSERPR19JTlRfRU5fU0hJRlQJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCisvLyAoMHgxNykgSU5UX0NPTjEgKFJXKSAgICAgCisjZGVmaW5lIElOVF9DT04xX0FERFIgCQkJCQkJMHgxNworCisjZGVmaW5lIFJHX0ZHX0JBVF9IX0lOVF9FTl9NQVNLCQkJCTB4MQkKKyNkZWZpbmUgUkdfRkdfQkFUX0hfSU5UX0VOX1NISUZUCQkJMHg3CisjZGVmaW5lIFJHX0ZHX0JBVF9MX0lOVF9FTl9NQVNLCQkJCTB4MQkKKyNkZWZpbmUgUkdfRkdfQkFUX0xfSU5UX0VOX1NISUZUCQkJMHg2CisjZGVmaW5lIFJHX0hJR0hfQkFUX0lOVF9FTl9NQVNLCQkJCTB4MQkKKyNkZWZpbmUgUkdfSElHSF9CQVRfSU5UX0VOX1NISUZUCQkJMHg1CisjZGVmaW5lIFJHX0xPV19CQVRfSU5UX0VOX01BU0sJCQkJMHgxCQorI2RlZmluZSBSR19MT1dfQkFUX0lOVF9FTl9TSElGVAkJCQkweDQKKyNkZWZpbmUgUkdfU1BLUl9EX09DX0lOVF9FTl9NQVNLCQkJMHgxCisjZGVmaW5lIFJHX1NQS1JfRF9PQ19JTlRfRU5fU0hJRlQJCQkweDMKKyNkZWZpbmUgUkdfU1BLTF9EX09DX0lOVF9FTl9NQVNLCQkJMHgxCQorI2RlZmluZSBSR19TUEtMX0RfT0NfSU5UX0VOX1NISUZUCQkJMHgyCisjZGVmaW5lIFJHX1NQS1JfQUJfT0NfSU5UX0VOX01BU0sJCQkweDEJCisjZGVmaW5lIFJHX1NQS1JfQUJfT0NfSU5UX0VOX1NISUZUCQkJMHgxCisjZGVmaW5lIFJHX1NQS0xfQUJfT0NfSU5UX0VOX01BU0sJCQkweDEJCisjZGVmaW5lIFJHX1NQS0xfQUJfT0NfSU5UX0VOX1NISUZUCQkJMHgwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQorLy8gKDB4MTgpIElOVF9DT04yIChSVykgICAgICAKKyNkZWZpbmUgSU5UX0NPTjJfQUREUiAJCQkJCQkweDE4CisKKyNkZWZpbmUgUkdfSE9NRUtFWV9JTlRfRU5fTUFTSwkJCQkweDEJCisjZGVmaW5lIFJHX0hPTUVLRVlfSU5UX0VOX1NISUZUCQkJCTB4NQorI2RlZmluZSBSR19WUkYxOF9PQ19JTlRfRU5fTUFTSwkJCQkweDEKKyNkZWZpbmUgUkdfVlJGMThfT0NfSU5UX0VOX1NISUZUCQkJMHg0CisjZGVmaW5lIFJHX1ZQQV9PQ19JTlRfRU5fTUFTSwkJCQkweDEJCisjZGVmaW5lIFJHX1ZQQV9PQ19JTlRfRU5fU0hJRlQJCQkJMHgzCisjZGVmaW5lIFJHX0xET19PQ19JTlRfRU5fTUFTSwkJCQkweDEJCisjZGVmaW5lIFJHX0xET19PQ19JTlRfRU5fU0hJRlQJCQkJMHgyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkgICAgCQorLy8gKDB4MTkpIElOVF9TVEFUVVM1IChSTykgICAgCisjZGVmaW5lIElOVF9TVEFUVVM1X0FERFIgCQkJCQkweDE5CisKKyNkZWZpbmUgUkdfT1ZfSU5UX1NUQVRVU19NQVNLCQkJCTB4MQkKKyNkZWZpbmUgUkdfT1ZfSU5UX1NUQVRVU19TSElGVAkJCQkweDcKKyNkZWZpbmUgUkdfQ0hSREVUX0lOVF9TVEFUVVNfTUFTSwkJCTB4MQkKKyNkZWZpbmUgUkdfQ0hSREVUX0lOVF9TVEFUVVNfU0hJRlQJCQkweDYKKyNkZWZpbmUgUkdfQlZBTElEX0RFVF9JTlRfU1RBVFVTX01BU0sJCTB4MQkKKyNkZWZpbmUgUkdfQlZBTElEX0RFVF9JTlRfU1RBVFVTX1NISUZUCQkweDUKKyNkZWZpbmUgUkdfVkJBVE9OX1VOREVUX0lOVF9TVEFUVVNfTUFTSwkJMHgxCQorI2RlZmluZSBSR19WQkFUT05fVU5ERVRfSU5UX1NUQVRVU19TSElGVAkweDQKKyNkZWZpbmUgUkdfVEhSX0hfSU5UX1NUQVRVU19NQVNLCQkJMHgxCQorI2RlZmluZSBSR19USFJfSF9JTlRfU1RBVFVTX1NISUZUCQkJMHgzCisjZGVmaW5lIFJHX1RIUl9MX0lOVF9TVEFUVVNfTUFTSwkJCTB4MQkKKyNkZWZpbmUgUkdfVEhSX0xfSU5UX1NUQVRVU19TSElGVAkJCTB4MgorI2RlZmluZSBSR19QV1JLRVlfSU5UX1NUQVRVU19NQVNLCQkJMHgxCQorI2RlZmluZSBSR19QV1JLRVlfSU5UX1NUQVRVU19TSElGVAkJCTB4MQorI2RlZmluZSBSR19XQVRDSERPR19JTlRfU1RBVFVTX01BU0sJCQkweDEJCisjZGVmaW5lIFJHX1dBVENIRE9HX0lOVF9TVEFUVVNfU0hJRlQJCTB4MAorCisvLyAoMHgxQSkgSU5UX1NUQVRVUzYgKFJPKQorI2RlZmluZSBJTlRfU1RBVFVTNl9BRERSIAkJCQkJMHgxQQorCisjZGVmaW5lIFJHX0ZHX0JBVF9IX0lOVF9TVEFUVVNfTUFTSwkJCTB4MQkKKyNkZWZpbmUgUkdfRkdfQkFUX0hfSU5UX1NUQVRVU19TSElGVAkJMHg3CisjZGVmaW5lIFJHX0ZHX0JBVF9MX0lOVF9TVEFUVVNfTUFTSwkJCTB4MQkKKyNkZWZpbmUgUkdfRkdfQkFUX0xfSU5UX1NUQVRVU19TSElGVAkJMHg2CisjZGVmaW5lIFJHX0hJR0hfQkFUX0lOVF9TVEFUVVNfTUFTSwkJCTB4MQkKKyNkZWZpbmUgUkdfSElHSF9CQVRfSU5UX1NUQVRVU19TSElGVAkJMHg1CisjZGVmaW5lIFJHX0xPV19CQVRfSU5UX1NUQVRVU19NQVNLCQkJMHgxCQorI2RlZmluZSBSR19MT1dfQkFUX0lOVF9TVEFUVVNfU0hJRlQJCQkweDQKKyNkZWZpbmUgUkdfU1BLUl9EX09DX0lOVF9TVEFUVVNfTUFTSwkJMHgxCQorI2RlZmluZSBSR19TUEtSX0RfT0NfSU5UX1NUQVRVU19TSElGVAkJMHgzCisjZGVmaW5lIFJHX1NQS0xfRF9PQ19JTlRfU1RBVFVTX01BU0sJCTB4MQkKKyNkZWZpbmUgUkdfU1BLTF9EX09DX0lOVF9TVEFUVVNfU0hJRlQJCTB4MgorI2RlZmluZSBSR19TUEtSX0FCX09DX0lOVF9TVEFUVVNfTUFTSwkJMHgxCQorI2RlZmluZSBSR19TUEtSX0FCX09DX0lOVF9TVEFUVVNfU0hJRlQJCTB4MQorI2RlZmluZSBSR19TUEtMX0FCX09DX0lOVF9TVEFUVVNfTUFTSwkJMHgxCQorI2RlZmluZSBSR19TUEtMX0FCX09DX0lOVF9TVEFUVVNfU0hJRlQJCTB4MAorCisvLyAoMHgxQikgSU5UX1NUQVRVUzcgKFJPKQorI2RlZmluZSBJTlRfU1RBVFVTN19BRERSIAkJCQkJMHgxQgorCisjZGVmaW5lIFJHX0hPTUVLRVlfSU5UX1NUQVRVU19NQVNLCQkJMHgxCQorI2RlZmluZSBSR19IT01FS0VZX0lOVF9TVEFUVVNfU0hJRlQJCQkweDUKKyNkZWZpbmUgUkdfVlJGMThfT0NfSU5UX1NUQVRVU19NQVNLCQkJMHgxCQorI2RlZmluZSBSR19WUkYxOF9PQ19JTlRfU1RBVFVTX1NISUZUCQkweDQKKyNkZWZpbmUgUkdfVlBBX09DX0lOVF9TVEFUVVNfTUFTSwkJCTB4MQkKKyNkZWZpbmUgUkdfVlBBX09DX0lOVF9TVEFUVVNfU0hJRlQJCQkweDMKKyNkZWZpbmUgUkdfTERPX09DX0lOVF9TVEFUVVNfTUFTSwkJCTB4MQkKKyNkZWZpbmUgUkdfTERPX09DX0lOVF9TVEFUVVNfU0hJRlQJCQkweDIKKworLy8gKDB4MjEpIENIUl9DT04wIChSTy9SVykKKyNkZWZpbmUgQ0hSX0NPTjBfQUREUiAJCQkJCQkweDIxCisKKyNkZWZpbmUgVkNEVF9IVl9ERVRfTUFTSwkJCQkJMHgxCQorI2RlZmluZSBWQ0RUX0hWX0RFVF9TSElGVAkJCQkJMHg3CisjZGVmaW5lIFZDRFRfTFZfREVUX01BU0sJCQkJCTB4MQkKKyNkZWZpbmUgVkNEVF9MVl9ERVRfU0hJRlQJCQkJCTB4NgorI2RlZmluZSBDSFJERVRfTUFTSwkJCQkJCQkweDEJCisjZGVmaW5lIENIUkRFVF9TSElGVAkJCQkJCTB4NQorI2RlZmluZSBDSFJfRU5fTUFTSwkJCQkJCQkweDEJCisjZGVmaW5lIENIUl9FTl9TSElGVAkJCQkJCTB4NAorI2RlZmluZSBDU0RBQ19FTl9NQVNLCQkJCQkJMHgxCQorI2RlZmluZSBDU0RBQ19FTl9TSElGVAkJCQkJCTB4MworI2RlZmluZSBQQ0hSX0FVVE9fTUFTSwkJCQkJCTB4MQkKKyNkZWZpbmUgUENIUl9BVVRPX1NISUZUCQkJCQkJMHgyCisjZGVmaW5lIENIUl9MRE9fREVUX01BU0sJCQkJCTB4MQkKKyNkZWZpbmUgQ0hSX0xET19ERVRfU0hJRlQJCQkJCTB4MQorI2RlZmluZSBWQ0RUX0hWX0VOX01BU0sJCQkJCQkweDEJCisjZGVmaW5lIFZDRFRfSFZfRU5fU0hJRlQJCQkJCTB4MAorCisvLyAoMHgyMikgQ0hSX0NPTjEgKFJXKQorI2RlZmluZSBDSFJfQ09OMV9BRERSIAkJCQkJCTB4MjIKKworI2RlZmluZSBWQ0RUX0hWX1ZUSF9NQVNLCQkJCQkweEYKKyNkZWZpbmUgVkNEVF9IVl9WVEhfU0hJRlQJCQkJCTB4NAorI2RlZmluZSBWQ0RUX0xWX1ZUSF9NQVNLCQkJCQkweEYJCisjZGVmaW5lIFZDRFRfTFZfVlRIX1NISUZUCQkJCQkweDAKKworLy8gKDB4MjMpIENIUl9DT04yIChSTy9SVykKKyNkZWZpbmUgQ0hSX0NPTjJfQUREUiAJCQkJCQkweDIzCisKKyNkZWZpbmUgVkJBVF9DQ19ERVRfTUFTSwkJCQkJMHgxCQorI2RlZmluZSBWQkFUX0NDX0RFVF9TSElGVAkJCQkJMHg3CisjZGVmaW5lIFZCQVRfQ1ZfREVUX01BU0sJCQkJCTB4MQkKKyNkZWZpbmUgVkJBVF9DVl9ERVRfU0hJRlQJCQkJCTB4NgorI2RlZmluZSBDU19ERVRfTUFTSwkJCQkJCQkweDEJCisjZGVmaW5lIENTX0RFVF9TSElGVAkJCQkJCTB4NQorI2RlZmluZSBDU19FTl9NQVNLCQkJCQkJCTB4MQkKKyNkZWZpbmUgQ1NfRU5fU0hJRlQJCQkJCQkJMHgzCisjZGVmaW5lIFZCQVRfQ0NfRU5fTUFTSwkJCQkJCTB4MQkKKyNkZWZpbmUgVkJBVF9DQ19FTl9TSElGVAkJCQkJMHgyCisjZGVmaW5lIFZCQVRfQ1ZfRU5fTUFTSwkJCQkJCTB4MQkKKyNkZWZpbmUgVkJBVF9DVl9FTl9TSElGVAkJCQkJMHgxCisKKy8vICgweDI0KSBDSFJfQ09OMyAoUlcpCisjZGVmaW5lIENIUl9DT04zX0FERFIgCQkJCQkJMHgyNAorCisjZGVmaW5lIFZCQVRfQ0NfVlRIX01BU0sJCQkJCTB4MwkKKyNkZWZpbmUgVkJBVF9DQ19WVEhfU0hJRlQJCQkJCTB4NgorI2RlZmluZSBWQkFUX0NWX1ZUSF9NQVNLCQkJCQkweDFGCQorI2RlZmluZSBWQkFUX0NWX1ZUSF9TSElGVAkJCQkJMHgwCisKKy8vICgweDI1KSBDSFJfQ09ONCAoUlcpCisjZGVmaW5lIENIUl9DT040X0FERFIgCQkJCQkJMHgyNQorCisjZGVmaW5lIENTX1ZUSF9NQVNLCQkJCQkJCTB4RgkKKyNkZWZpbmUgQ1NfVlRIX1NISUZUCQkJCQkJMHgwCisKKy8vICgweDI2KSBDSFJfQ09ONSAoUlcpCisjZGVmaW5lIENIUl9DT041X0FERFIgCQkJCQkJMHgyNgorCisjZGVmaW5lIFRPTFRDX01BU0sJCQkJCQkJMHg3CisjZGVmaW5lIFRPTFRDX1NISUZUCQkJCQkJCTB4NAorI2RlZmluZSBUT0hUQ19NQVNLCQkJCQkJCTB4NworI2RlZmluZSBUT0hUQ19TSElGVAkJCQkJCQkweDAKKworLy8gKDB4MjcpIENIUl9DT042IChSTy9SVykKKyNkZWZpbmUgQ0hSX0NPTjZfQUREUiAJCQkJCQkweDI3CisKKyNkZWZpbmUgVkJBVF9PVl9ERVRfTUFTSwkJCQkJMHgxCisjZGVmaW5lIFZCQVRfT1ZfREVUX1NISUZUCQkJCQkweDYKKyNkZWZpbmUgVkJBVF9PVl9ERUdfTUFTSwkJCQkJMHgxCisjZGVmaW5lIFZCQVRfT1ZfREVHX1NISUZUCQkJCQkweDUKKyNkZWZpbmUgVkJBVF9PVl9WVEhfTUFTSwkJCQkJMHgzCisjZGVmaW5lIFZCQVRfT1ZfVlRIX1NISUZUCQkJCQkweDEKKyNkZWZpbmUgVkJBVF9PVl9FTl9NQVNLCQkJCQkJMHgxCQorI2RlZmluZSBWQkFUX09WX0VOX1NISUZUCQkJCQkweDAKKworLy8gKDB4MjgpIENIUl9DT043IChSTy9SVykKKyNkZWZpbmUgQ0hSX0NPTjdfQUREUiAJCQkJCQkweDI4CisKKyNkZWZpbmUgQkFUT05fVU5ERVRfTUFTSwkJCQkJMHgxCisjZGVmaW5lIEJBVE9OX1VOREVUX1NISUZUCQkJCQkweDcKKyNkZWZpbmUgQkFUT05fSFRfVFJJTV9NQVNLCQkJCQkweDcJCisjZGVmaW5lIEJBVE9OX0hUX1RSSU1fU0hJRlQJCQkJCTB4NAorI2RlZmluZSBCQVRPTl9IVF9FTl9NQVNLCQkJCQkweDEJCisjZGVmaW5lIEJBVE9OX0hUX0VOX1NISUZUCQkJCQkweDIKKyNkZWZpbmUgQkFUT05fRU5fTUFTSwkJCQkJCTB4MQorI2RlZmluZSBCQVRPTl9FTl9TSElGVAkJCQkJCTB4MQorCisvLyAoMHgyOSkgQ0hSX0NPTjggKFJXKQorI2RlZmluZSBDSFJfQ09OOF9BRERSIAkJCQkJCTB4MjkKKworI2RlZmluZSBDU0RBQ19EQVRfSF9NQVNLCQkJCQkweDMKKyNkZWZpbmUgQ1NEQUNfREFUX0hfU0hJRlQJCQkJCTB4MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQkKKy8vICgweDJBKSBDSFJfQ09OOSAoUlcpICAgICAJCisjZGVmaW5lIENIUl9DT045X0FERFIgCQkJCQkJMHgyQQorCisjZGVmaW5lIENTREFDX0RBVF9MX01BU0sJCQkJCTB4RkYJCisjZGVmaW5lIENTREFDX0RBVF9MX1NISUZUCQkJCQkweDAKKworLy8gKDB4MkIpIENIUl9DT05BIChSTy9SVykKKyNkZWZpbmUgQ0hSX0NPTkFfQUREUiAJCQkJCQkweDJCCisKKyNkZWZpbmUgT1RHX0JWQUxJRF9NQVNLCQkJCQkJMHgxCQorI2RlZmluZSBPVEdfQlZBTElEX1NISUZUCQkJCQkweDYKKyNkZWZpbmUgT1RHX0JWQUxJRF9FTl9NQVNLCQkJCQkweDEJCisjZGVmaW5lIE9UR19CVkFMSURfRU5fU0hJRlQJCQkJCTB4NQorI2RlZmluZSBQQ0hSX0ZMQUdfRU5fTUFTSwkJCQkJMHgxCisjZGVmaW5lIFBDSFJfRkxBR19FTl9TSElGVAkJCQkJMHg0CisjZGVmaW5lIFBDSFJfRkxBR19PVVRfTUFTSwkJCQkJMHhGCQorI2RlZmluZSBQQ0hSX0ZMQUdfT1VUX1NISUZUCQkJCQkweDAKKworLy8gKDB4MkMpIENIUl9DT05CIChSVykKKyNkZWZpbmUgQ0hSX0NPTkJfQUREUiAJCQkJCQkweDJDCisKKyNkZWZpbmUgUENIUl9GTEFHX1NFTF9NQVNLCQkJCQkweDNGCQorI2RlZmluZSBQQ0hSX0ZMQUdfU0VMX1NISUZUCQkJCQkweDAKKworLy8gKDB4MkQpIENIUl9DT05DIChSVykKKyNkZWZpbmUgQ0hSX0NPTkNfQUREUiAJCQkJCQkweDJECisKKyNkZWZpbmUgUENIUl9GVF9DVFJMX01BU0sJCQkJCTB4NwkKKyNkZWZpbmUgUENIUl9GVF9DVFJMX1NISUZUCQkJCQkweDQKKyNkZWZpbmUgUENIUl9SU1RfTUFTSwkJCQkJCTB4MQkKKyNkZWZpbmUgUENIUl9SU1RfU0hJRlQJCQkJCQkweDIKKyNkZWZpbmUgQ1NEQUNfVEVTVF9NQVNLCQkJCQkJMHgxCQorI2RlZmluZSBDU0RBQ19URVNUX1NISUZUCQkJCQkweDEKKyNkZWZpbmUgUENIUl9URVNUX01BU0sJCQkJCQkweDEJCisjZGVmaW5lIFBDSFJfVEVTVF9TSElGVAkJCQkJCTB4MAorCisvLyAoMHgyRSkgQ0hSX0NPTkQgKFJXKQorI2RlZmluZSBDSFJfQ09ORF9BRERSIAkJCQkJCTB4MkUKKworI2RlZmluZSBDSFJXRFRfRU5fTUFTSwkJCQkJCTB4MQkKKyNkZWZpbmUgQ0hSV0RUX0VOX1NISUZUCQkJCQkJMHg0CisjZGVmaW5lIENIUldEVF9URF9NQVNLCQkJCQkJMHhGCQorI2RlZmluZSBDSFJXRFRfVERfU0hJRlQJCQkJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgIAkJCQkJCisvLyAoMHgyRikgQ0hSX0NPTkUgKFJXKSAKKyNkZWZpbmUgQ0hSX0NPTkVfQUREUiAJCQkJCQkweDJGCisKKyNkZWZpbmUgUENIUl9SVl9NQVNLCQkJCQkJMHhGRgkKKyNkZWZpbmUgUENIUl9SVl9TSElGVAkJCQkJCTB4MAorCisvLyAoMHgzMCkgQ0hSX0NPTkYgKFJPL1JXKQorI2RlZmluZSBDSFJfQ09ORl9BRERSIAkJCQkJCTB4MzAKKworI2RlZmluZSBDSFJXRFRfT1VUX01BU0sJCQkJCQkweDEJCisjZGVmaW5lIENIUldEVF9PVVRfU0hJRlQJCQkJCTB4MgorI2RlZmluZSBDSFJXRFRfRkxBR19XUl9NQVNLCQkJCQkweDEJCisjZGVmaW5lIENIUldEVF9GTEFHX1dSX1NISUZUCQkJCTB4MQorI2RlZmluZSBDSFJXRFRfSU5UX0VOX01BU0sJCQkJCTB4MQkKKyNkZWZpbmUgQ0hSV0RUX0lOVF9FTl9TSElGVAkJCQkJMHgwCisKKy8vICgweDMxKSBDSFJfQ09OMTEgKFJXKQorI2RlZmluZSBDSFJfQ09OMTFfQUREUiAJCQkJCQkweDMxCisKKyNkZWZpbmUgQURDSU5fVkNIUl9FTl9NQVNLCQkJCQkweDEKKyNkZWZpbmUgQURDSU5fVkNIUl9FTl9TSElGVAkJCQkJMHg2CisjZGVmaW5lIEFEQ0lOX1ZTRU5fRU5fTUFTSwkJCQkJMHgxCisjZGVmaW5lIEFEQ0lOX1ZTRU5fRU5fU0hJRlQJCQkJCTB4NQorI2RlZmluZSBBRENJTl9WQkFUX0VOX01BU0sJCQkJCTB4MQkKKyNkZWZpbmUgQURDSU5fVkJBVF9FTl9TSElGVAkJCQkJMHg0CisjZGVmaW5lIFVTQkRMX1NFVF9NQVNLCQkJCQkJMHgxCisjZGVmaW5lIFVTQkRMX1NFVF9TSElGVAkJCQkJCTB4MworI2RlZmluZSBVU0JETF9SU1RfTUFTSwkJCQkJCTB4MQkKKyNkZWZpbmUgVVNCRExfUlNUX1NISUZUCQkJCQkJMHgyCisjZGVmaW5lIFVWTE9fVlRITF9NQVNLCQkJCQkJMHgzCQorI2RlZmluZSBVVkxPX1ZUSExfU0hJRlQJCQkJCQkweDAKKworLy8gKDB4MzIpIENIUl9DT04xMiAoUlcpCisjZGVmaW5lIENIUl9DT04xMl9BRERSIAkJCQkJCTB4MzIKKworI2RlZmluZSBCR1JfVU5DSE9QX01BU0sJCQkJCQkweDEJCisjZGVmaW5lIEJHUl9VTkNIT1BfU0hJRlQJCQkJCTB4NQorI2RlZmluZSBCR1JfVU5DSE9QX1BIX01BU0sJCQkJCTB4MQkKKyNkZWZpbmUgQkdSX1VOQ0hPUF9QSF9TSElGVAkJCQkJMHg0CisjZGVmaW5lIEJHUl9SU0VMX01BU0sJCQkJCQkweDcJCisjZGVmaW5lIEJHUl9SU0VMX1NISUZUCQkJCQkJMHgwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCQorLy8gKDB4MzMpIENIUl9DT04xMyAoUk8vUlcpIAkJCQkKKyNkZWZpbmUgQkMxMV9DTVBfT1VUX01BU0sJCQkJCTB4MQorI2RlZmluZSBCQzExX0NNUF9PVVRfU0hJRlQJCQkJCTB4NworI2RlZmluZSBSR19CQzExX1ZTUkNfRU5fTUFTSwkJCQkweDMJCisjZGVmaW5lIFJHX0JDMTFfVlNSQ19FTl9TSElGVAkJCQkweDIKKyNkZWZpbmUgQkMxMV9SU1RfTUFTSwkJCQkJCTB4MQorI2RlZmluZSBCQzExX1JTVF9TSElGVAkJCQkJCTB4MQorI2RlZmluZSBCQzExX0JCX0NUUkxfTUFTSwkJCQkJMHgxCisjZGVmaW5lIEJDMTFfQkJfQ1RSTF9TSElGVAkJCQkJMHgwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQorLy8gKDB4MzQpIENIUl9DT04xNCAoUlcpICAgICAgICAJCQkKKyNkZWZpbmUgQkMxMV9CSUFTX0VOX01BU0sJCQkJCTB4MQorI2RlZmluZSBCQzExX0JJQVNfRU5fU0hJRlQJCQkJCTB4NworI2RlZmluZSBCQzExX0lQVV9FTl9NQVNLCQkJCQkweDMJCisjZGVmaW5lIEJDMTFfSVBVX0VOX1NISUZUCQkJCQkweDUKKyNkZWZpbmUgQkMxMV9JUERfRU5fTUFTSwkJCQkJMHgzCisjZGVmaW5lIEJDMTFfSVBEX0VOX1NISUZUCQkJCQkweDMKKyNkZWZpbmUgQkMxMV9DTVBfRU5fTUFTSwkJCQkJMHgzCisjZGVmaW5lIEJDMTFfQ01QX0VOX1NISUZUCQkJCQkweDEKKyNkZWZpbmUgQkMxMV9WUkVGX1ZUSF9NQVNLCQkJCQkweDEJCisjZGVmaW5lIEJDMTFfVlJFRl9WVEhfU0hJRlQJCQkJCTB4MAorCisvLyAoMHgzNSkgQ0hSX0NPTjE1IChSVykKKyNkZWZpbmUgQ1NEQUNfU1RQX0RFQ19NQVNLCQkJCQkweDcJCisjZGVmaW5lIENTREFDX1NUUF9ERUNfU0hJRlQJCQkJCTB4NAorI2RlZmluZSBDU0RBQ19TVFBfSU5DX01BU0sJCQkJCTB4NwkKKyNkZWZpbmUgQ1NEQUNfU1RQX0lOQ19TSElGVAkJCQkJMHgwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCQorLy8gKDB4MzYpIENIUl9DT04xNiAoUlcpICAgIAkJCQkKKyNkZWZpbmUgQ1NEQUNfU1RQX01BU0sJCQkJCQkweDcJCisjZGVmaW5lIENTREFDX1NUUF9TSElGVAkJCQkJCTB4NAorI2RlZmluZSBDU0RBQ19ETFlfTUFTSwkJCQkJCTB4NwkKKyNkZWZpbmUgQ1NEQUNfRExZX1NISUZUCQkJCQkJMHgwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQorLy8gKDB4MzcpIENIUl9DT04xNyAoUlcpICAgICAgICAJCQkKKyNkZWZpbmUgUkdfQ0hSSU5EX0RJTU1JTkdfTUFTSwkJCQkweDEJCisjZGVmaW5lIFJHX0NIUklORF9ESU1NSU5HX1NISUZUCQkJCTB4NworI2RlZmluZSBSR19DSFJJTkRfT05fTUFTSwkJCQkJMHgxCisjZGVmaW5lIFJHX0NIUklORF9PTl9TSElGVAkJCQkJMHg2CisjZGVmaW5lIFJHX0xPV19JQ0hfREJfTUFTSwkJCQkJMHgzRgkKKyNkZWZpbmUgUkdfTE9XX0lDSF9EQl9TSElGVAkJCQkJMHgwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCQorLy8gKDB4MzgpIENIUl9DT04xOCAoUlcpICAgIAkJCQkKKyNkZWZpbmUgUkdfVUxDX0RFVF9FTl9NQVNLCQkJCQkweDEJCisjZGVmaW5lIFJHX1VMQ19ERVRfRU5fU0hJRlQJCQkJCTB4NworI2RlZmluZSBSR19IV0NWX0VOX01BU0sJCQkJCQkweDEJCisjZGVmaW5lIFJHX0hXQ1ZfRU5fU0hJRlQJCQkJCTB4NgorI2RlZmluZSBCQVRPTl9UREVUX0VOX01BU0sJCQkJCTB4MQkKKyNkZWZpbmUgQkFUT05fVERFVF9FTl9TSElGVAkJCQkJMHg1CisjZGVmaW5lIFRSQUNLSU5HX0VOX01BU0sJCQkJCTB4MQkKKyNkZWZpbmUgVFJBQ0tJTkdfRU5fU0hJRlQJCQkJCTB4NAorI2RlZmluZSBDU0RBQ19NT0RFX01BU0sJCQkJCQkweDEKKyNkZWZpbmUgQ1NEQUNfTU9ERV9TSElGVAkJCQkJMHgyCisjZGVmaW5lIFZDRFRfTU9ERV9NQVNLCQkJCQkJMHgxCisjZGVmaW5lIFZDRFRfTU9ERV9TSElGVAkJCQkJCTB4MQorI2RlZmluZSBDVl9NT0RFX01BU0sJCQkJCQkweDEKKyNkZWZpbmUgQ1ZfTU9ERV9TSElGVAkJCQkJCTB4MAorCisvLyAoMHgzOSkgQ0hSX0NPTjE5IChSVykKKyNkZWZpbmUgUkdfSUNIUkdfVFJJTV9NQVNLCQkJCQkweEYJCisjZGVmaW5lIFJHX0lDSFJHX1RSSU1fU0hJRlQJCQkJCTB4NAorI2RlZmluZSBSR19CR1JfVFJJTV9FTl9NQVNLCQkJCQkweDEJCisjZGVmaW5lIFJHX0JHUl9UUklNX0VOX1NISUZUCQkJCTB4MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQkKKy8vICgweDNBKSBDSFJfQ09OMUEgKFJXKSAgICAgICAgCQkJCisjZGVmaW5lIFJHX0JHUl9UUklNX01BU0sJCQkJCTB4MUYKKyNkZWZpbmUgUkdfQkdSX1RSSU1fU0hJRlQJCQkJCTB4MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQkKKy8vICgweDNCKSBDSFJfQ09OMUIgKFJXKSAgICAJCQkJCisjZGVmaW5lIFJHX09WUF9UUklNX01BU0sJCQkJCTB4RgkKKyNkZWZpbmUgUkdfT1ZQX1RSSU1fU0hJRlQJCQkJCTB4MAorCisvLyAoMHgzQykgQ0hSX0NPTjFDIChSVykKKyNkZWZpbmUgQ0hSX1JTVjBfTUFTSwkJCQkJCTB4MQkKKyNkZWZpbmUgQ0hSX1JTVjBfU0hJRlQJCQkJCQkweDcKKyNkZWZpbmUgUkdfQkdSX1RFU1RfUlNUQl9NQVNLCQkJCTB4MQkKKyNkZWZpbmUgUkdfQkdSX1RFU1RfUlNUQl9TSElGVAkJCQkweDYKKyNkZWZpbmUgUkdfQkdSX1RFU1RfRU5fTUFTSwkJCQkJMHgxCisjZGVmaW5lIFJHX0JHUl9URVNUX0VOX1NISUZUCQkJCTB4NQorI2RlZmluZSBSR19DSFJfT1NDX1RSSU1fTUFTSwkJCQkweDFGCisjZGVmaW5lIFJHX0NIUl9PU0NfVFJJTV9TSElGVAkJCQkweDAKKworLy8gKDB4M0QpIENIUl9DT04xRCAoUlcpCisjZGVmaW5lIENIUl9SU1YxX01BU0sJCQkJCQkweDNGCQorI2RlZmluZSBDSFJfUlNWMV9TSElGVAkJCQkJCTB4MgorI2RlZmluZSBSR19EQUNfVVNCRExfTUFYXzlfOF9NQVNLCQkJMHgzCisjZGVmaW5lIFJHX0RBQ19VU0JETF9NQVhfOV84X1NISUZUCQkJMHgwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQorLy8gKDB4M0UpIENIUl9DT04xRSAoUlcpICAgICAgICAgICAgCQkKKyNkZWZpbmUgUkdfREFDX1VTQkRMX01BWF83XzBfTUFTSwkJCTB4RkYKKyNkZWZpbmUgUkdfREFDX1VTQkRMX01BWF83XzBfU0hJRlQJCQkweDAKKworLy8gKDB4M0YpIFZQUk9DX0NPTjAgKFJXKQorI2RlZmluZSBSR19WUFJPQ19DU0xfTUFTSwkJCQkJMHgzCisjZGVmaW5lIFJHX1ZQUk9DX0NTTF9TSElGVAkJCQkJMHg2CisjZGVmaW5lIFJHX1ZQUk9DX0NTUl9NQVNLCQkJCQkweDMJCisjZGVmaW5lIFJHX1ZQUk9DX0NTUl9TSElGVAkJCQkJMHg0CisjZGVmaW5lIFJHX1ZQUk9DX0NDX01BU0sJCQkJCTB4MwkKKyNkZWZpbmUgUkdfVlBST0NfQ0NfU0hJRlQJCQkJCTB4MgorI2RlZmluZSBSR19WUFJPQ19SWlNFTF9NQVNLCQkJCQkweDMJCisjZGVmaW5lIFJHX1ZQUk9DX1JaU0VMX1NISUZUCQkJCTB4MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQkKKy8vICgweDQwKSBWUFJPQ19DT04xIChSVykgICAgICAgCQkJCisjZGVmaW5lIFJHX1ZQUk9DX1NMUF9NQVNLCQkJCQkweDMJCisjZGVmaW5lIFJHX1ZQUk9DX1NMUF9TSElGVAkJCQkJMHg2CisjZGVmaW5lIFJHX1ZQUk9DX1pYX09TX01BU0sJCQkJCTB4MworI2RlZmluZSBSR19WUFJPQ19aWF9PU19TSElGVAkJCQkweDQKKyNkZWZpbmUgUkdfVlBST0NfU0xFV19NQVNLCQkJCQkweDMJCisjZGVmaW5lIFJHX1ZQUk9DX1NMRVdfU0hJRlQJCQkJCTB4MgorI2RlZmluZSBSR19WUFJPQ19TTEVXX05NT1NfTUFTSwkJCQkweDMJCisjZGVmaW5lIFJHX1ZQUk9DX1NMRVdfTk1PU19TSElGVAkJCTB4MAorCisvLyAoMHg0MSkgVlBST0NfQ09OMiAoUlcpCisjZGVmaW5lIFJHX1ZQUk9DX0FWUF9PU19NQVNLCQkJCTB4NwkKKyNkZWZpbmUgUkdfVlBST0NfQVZQX09TX1NISUZUCQkJCTB4NAorI2RlZmluZSBSR19WUFJPQ19BVlBfRU5fTUFTSwkJCQkweDEKKyNkZWZpbmUgUkdfVlBST0NfQVZQX0VOX1NISUZUCQkJCTB4MQorI2RlZmluZSBSR19WUFJPQ19NT0RFU0VUX01BU0sJCQkJMHgxCisjZGVmaW5lIFJHX1ZQUk9DX01PREVTRVRfU0hJRlQJCQkJMHgwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQorLy8gKDB4NDIpIFZQUk9DX0NPTjMgKFJPL1JXKSAgICAJCQkKKyNkZWZpbmUgVlBST0NfQ09OM19BRERSIAkJCQkJMHg0MgorCisjZGVmaW5lIFFJX1ZQUk9DX0VOX01BU0sJCQkJCTB4MQkKKyNkZWZpbmUgUUlfVlBST0NfRU5fU0hJRlQJCQkJCTB4NworI2RlZmluZSBSR19WUFJPQ19FTl9NQVNLCQkJCQkweDEJCisjZGVmaW5lIFJHX1ZQUk9DX0VOX1NISUZUCQkJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCisvLyAoMHg0MykgVlBST0NfQ09ONCAoUlcpICAgICAgIAkJCQorI2RlZmluZSBSR19WUFJPQ19CVVJTVF9NQVNLCQkJCQkweDMJCisjZGVmaW5lIFJHX1ZQUk9DX0JVUlNUX1NISUZUCQkJCTB4NAorI2RlZmluZSBSR19WUFJPQ19WRkJBREpfTUFTSwkJCQkweDcJCisjZGVmaW5lIFJHX1ZQUk9DX1ZGQkFESl9TSElGVAkJCQkweDEKKyNkZWZpbmUgUkdfVlBST0NfTkRJU19FTl9NQVNLCQkJCTB4MQkKKyNkZWZpbmUgUkdfVlBST0NfTkRJU19FTl9TSElGVAkJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCisvLyAoMHg0NCkgVlBST0NfQ09ONSAoUlcpICAgICAKKyNkZWZpbmUgVlBST0NfQ09ONV9BRERSIAkJCQkJMHg0NAorCisjZGVmaW5lIFJHX1ZQUk9DX1ZPU0VMX01BU0sJCQkJCTB4MUYKKyNkZWZpbmUgUkdfVlBST0NfVk9TRUxfU0hJRlQJCQkJMHgwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQorLy8gKDB4NDUpIFZQUk9DX0NPTjYgKFJXKSAgICAgICAgICAgCQkKKyNkZWZpbmUgVlBST0NfVk9TRUxfU1JDTEtFTjBfTUFTSwkJCTB4MUYJCisjZGVmaW5lIFZQUk9DX1ZPU0VMX1NSQ0xLRU4wX1NISUZUCQkJMHgwCisKKy8vICgweDQ2KSBWUFJPQ19DT043IChSVykKKyNkZWZpbmUgVlBST0NfVk9TRUxfU1JDTEtFTjFfTUFTSwkJCTB4MUYKKyNkZWZpbmUgVlBST0NfVk9TRUxfU1JDTEtFTjFfU0hJRlQJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQorLy8gKDB4NDcpIFZQUk9DX0NPTjggKFJXKQorI2RlZmluZSBWUFJPQ19WT1NFTF9EVlMwMF9NQVNLCQkJCTB4MUYJCisjZGVmaW5lIFZQUk9DX1ZPU0VMX0RWUzAwX1NISUZUCQkJCTB4MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQkKKy8vICgweDQ4KSBWUFJPQ19DT045IChSVykgICAgICAgCQkJCisjZGVmaW5lIFZQUk9DX1ZPU0VMX0RWUzAxX01BU0sJCQkJMHgxRgkKKyNkZWZpbmUgVlBST0NfVk9TRUxfRFZTMDFfU0hJRlQJCQkJMHgwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQorLy8gKDB4NDkpIFZQUk9DX0NPTkEgKFJXKSAgICAgICAJCQkKKyNkZWZpbmUgVlBST0NfVk9TRUxfRFZTMTBfTUFTSwkJCQkweDFGCQorI2RlZmluZSBWUFJPQ19WT1NFTF9EVlMxMF9TSElGVAkJCQkweDAKKworLy8gKDB4NEEpIFZQUk9DX0NPTkIgKFJXKQorI2RlZmluZSBWUFJPQ19WT1NFTF9EVlMxMV9NQVNLCQkJCTB4MUYJCisjZGVmaW5lIFZQUk9DX1ZPU0VMX0RWUzExX1NISUZUCQkJCTB4MAorCisvLyAoMHg0QikgVlBST0NfQ09OQyAoUlcpCisjZGVmaW5lIFJHX1ZQUk9DX1JTVl9NQVNLCQkJCQkweEYJCisjZGVmaW5lIFJHX1ZQUk9DX1JTVl9TSElGVAkJCQkJMHg0CisjZGVmaW5lIFJHX1ZQUk9DX1ZPU0VMX1NGQ0hHX0VOX01BU0sJCTB4MQkKKyNkZWZpbmUgUkdfVlBST0NfVk9TRUxfU0ZDSEdfRU5fU0hJRlQJCTB4MgorI2RlZmluZSBSR19WUFJPQ19DVFJMX01BU0sJCQkJCTB4MwkKKyNkZWZpbmUgUkdfVlBST0NfQ1RSTF9TSElGVAkJCQkJMHgwCisKKy8vICgweDRDKSBWUFJPQ19DT05EIChSVykKKyNkZWZpbmUgUkdfU01QU19URVNUTU9ERV9NQVNLCQkJCTB4M0YKKyNkZWZpbmUgUkdfU01QU19URVNUTU9ERV9TSElGVAkJCQkweDAKKworLy8gKDB4NEQpIFZQUk9DX0NPTkUgKFJXKQorI2RlZmluZSBSR19TTVBTX1JTVl9NQVNLCQkJCQkweEZGCQorI2RlZmluZSBSR19TTVBTX1JTVl9TSElGVAkJCQkJMHgwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCQorLy8gKDB4NEUpIFZQUk9DX0NPTkYgKFJPKSAgIAkJCQkKKyNkZWZpbmUgUUlfVlBST0NfVk9TRUxfTUFTSwkJCQkJMHgxRgkKKyNkZWZpbmUgUUlfVlBST0NfVk9TRUxfU0hJRlQJCQkJMHgwCisKKy8vICgweDRGKSBCVUNLX1JTViAoUlcpCisjZGVmaW5lIFJHX0JVQ0tfUlNWX01BU0sJCQkJCTB4RkYJCisjZGVmaW5lIFJHX0JVQ0tfUlNWX1NISUZUCQkJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQkJCisvLyAoMHg1MikgVkNPUkVfQ09OMCAoUlcpICAgCQkJCQorI2RlZmluZSBSR19WQ09SRV9DU0xfTUFTSwkJCQkJMHgzCisjZGVmaW5lIFJHX1ZDT1JFX0NTTF9TSElGVAkJCQkJMHg2CisjZGVmaW5lIFJHX1ZDT1JFX0NTUl9NQVNLCQkJCQkweDMJCisjZGVmaW5lIFJHX1ZDT1JFX0NTUl9TSElGVAkJCQkJMHg0CisjZGVmaW5lIFJHX1ZDT1JFX0NDX01BU0sJCQkJCTB4MwkKKyNkZWZpbmUgUkdfVkNPUkVfQ0NfU0hJRlQJCQkJCTB4MgorI2RlZmluZSBSR19WQ09SRV9SWlNFTF9NQVNLCQkJCQkweDMJCisjZGVmaW5lIFJHX1ZDT1JFX1JaU0VMX1NISUZUCQkJCTB4MAorCisvLyAoMHg1MykgVkNPUkVfQ09OMSAoUlcpCisjZGVmaW5lIFJHX1ZDT1JFX1NMUF9NQVNLCQkJCQkweDMJCisjZGVmaW5lIFJHX1ZDT1JFX1NMUF9TSElGVAkJCQkJMHg2CisjZGVmaW5lIFJHX1ZDT1JFX1pYX09TX01BU0sJCQkJCTB4MwkKKyNkZWZpbmUgUkdfVkNPUkVfWlhfT1NfU0hJRlQJCQkJMHg0CisjZGVmaW5lIFJHX1ZDT1JFX1NMRVdfTUFTSwkJCQkJMHgzCQorI2RlZmluZSBSR19WQ09SRV9TTEVXX1NISUZUCQkJCQkweDIKKyNkZWZpbmUgUkdfVkNPUkVfU0xFV19OTU9TX01BU0sJCQkJMHgzCQorI2RlZmluZSBSR19WQ09SRV9TTEVXX05NT1NfU0hJRlQJCQkweDAKKworLy8gKDB4NTQpIFZDT1JFX0NPTjIgKFJXKQorI2RlZmluZSBSR19WQ09SRV9BVlBfT1NfTUFTSwkJCQkweDcJCisjZGVmaW5lIFJHX1ZDT1JFX0FWUF9PU19TSElGVAkJCQkweDQKKyNkZWZpbmUgUkdfVkNPUkVfQVZQX0VOX01BU0sJCQkJMHgxCQorI2RlZmluZSBSR19WQ09SRV9BVlBfRU5fU0hJRlQJCQkJMHgxCisjZGVmaW5lIFJHX1ZDT1JFX01PREVTRVRfTUFTSwkJCQkweDEJCisjZGVmaW5lIFJHX1ZDT1JFX01PREVTRVRfU0hJRlQJCQkJMHgwCisKKy8vICgweDU1KSBWQ09SRV9DT04zIChSTy9SVykKKyNkZWZpbmUgVkNPUkVfQ09OM19BRERSIAkJCQkJMHg1NQorCisjZGVmaW5lIFFJX1ZDT1JFX0VOX01BU0sJCQkJCTB4MQorI2RlZmluZSBRSV9WQ09SRV9FTl9TSElGVAkJCQkJMHg3CisjZGVmaW5lIFJHX1ZDT1JFX0VOX01BU0sJCQkJCTB4MQorI2RlZmluZSBSR19WQ09SRV9FTl9TSElGVAkJCQkJMHgwCisKKy8vICgweDU2KSBWQ09SRV9DT040IChSVykKKyNkZWZpbmUgUkdfVkNPUkVfQlVSU1RfTUFTSwkJCQkJMHgzCQorI2RlZmluZSBSR19WQ09SRV9CVVJTVF9TSElGVAkJCQkweDQKKyNkZWZpbmUgUkdfVkNPUkVfVkZCQURKX01BU0sJCQkJMHg3CQorI2RlZmluZSBSR19WQ09SRV9WRkJBREpfU0hJRlQJCQkJMHgxCisjZGVmaW5lIFJHX1ZDT1JFX05ESVNfRU5fTUFTSwkJCQkweDEJCisjZGVmaW5lIFJHX1ZDT1JFX05ESVNfRU5fU0hJRlQJCQkJMHgwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQorLy8gKDB4NTcpIFZDT1JFX0NPTjUgKFJXKQorI2RlZmluZSBWQ09SRV9DT041X0FERFIgCQkJCQkweDU3CisKKyNkZWZpbmUgUkdfVkNPUkVfVk9TRUxfTUFTSwkJCQkJMHgxRgkKKyNkZWZpbmUgUkdfVkNPUkVfVk9TRUxfU0hJRlQJCQkJMHgwCisKKy8vICgweDU4KSBWQ09SRV9DT042IChSVykKKyNkZWZpbmUgUkdfVkNPUkVfVk9TRUxfQ09OMV9NQVNLCQkJMHgxRgkKKyNkZWZpbmUgUkdfVkNPUkVfVk9TRUxfQ09OMV9TSElGVAkJCTB4MAorCisvLyAoMHg1OSkgVkNPUkVfQ09ONyAoUlcpCisjZGVmaW5lIFJHX1ZDT1JFX1JTVl9NQVNLCQkJCQkweEYJCisjZGVmaW5lIFJHX1ZDT1JFX1JTVl9TSElGVAkJCQkJMHg0CisjZGVmaW5lIFJHX1ZDT1JFX1ZPU0VMX1NGQ0hHX0VOX01BU0sJCTB4MQkKKyNkZWZpbmUgUkdfVkNPUkVfVk9TRUxfU0ZDSEdfRU5fU0hJRlQJCTB4MgorI2RlZmluZSBSR19WQ09SRV9DVFJMX01BU0sJCQkJCTB4MQkKKyNkZWZpbmUgUkdfVkNPUkVfQ1RSTF9TSElGVAkJCQkJMHgwCisKKy8vICgweDVBKSBWQ09SRV9DT044IChSTykKKyNkZWZpbmUgUUlfVkNPUkVfVk9TRUxfTUFTSwkJCQkJMHgxRgorI2RlZmluZSBRSV9WQ09SRV9WT1NFTF9TSElGVAkJCQkweDAKKworLy8gKDB4NUQpIFZSRjE4X0NPTjAgKFJXKQorI2RlZmluZSBSR19WUkYxOF9DU0xfTUFTSwkJCQkJMHgzCQorI2RlZmluZSBSR19WUkYxOF9DU0xfU0hJRlQJCQkJCTB4NgorI2RlZmluZSBSR19WUkYxOF9DU1JfTUFTSwkJCQkJMHgzCQorI2RlZmluZSBSR19WUkYxOF9DU1JfU0hJRlQJCQkJCTB4NAorI2RlZmluZSBSR19WUkYxOF9DQ19NQVNLCQkJCQkweDMJCisjZGVmaW5lIFJHX1ZSRjE4X0NDX1NISUZUCQkJCQkweDIKKyNkZWZpbmUgUkdfVlJGMThfUlpTRUxfTUFTSwkJCQkJMHgzCQorI2RlZmluZSBSR19WUkYxOF9SWlNFTF9TSElGVAkJCQkweDAKKworLy8gKDB4NUUpIFZSRjE4X0NPTjEgKFJXKQorI2RlZmluZSBSR19WUkYxOF9TTFBfTUFTSwkJCQkJMHgzCQorI2RlZmluZSBSR19WUkYxOF9TTFBfU0hJRlQJCQkJCTB4NgorI2RlZmluZSBSR19WUkYxOF9aWF9PU19NQVNLCQkJCQkweDMJCisjZGVmaW5lIFJHX1ZSRjE4X1pYX09TX1NISUZUCQkJCTB4NAorI2RlZmluZSBSR19WUkYxOF9TTEVXX01BU0sJCQkJCTB4MwkKKyNkZWZpbmUgUkdfVlJGMThfU0xFV19TSElGVAkJCQkJMHgyCisjZGVmaW5lIFJHX1ZSRjE4X1NMRVdfTk1PU19NQVNLCQkJCTB4MwkKKyNkZWZpbmUgUkdfVlJGMThfU0xFV19OTU9TX1NISUZUCQkJMHgwCisKKy8vICgweDVGKSBWUkYxOF9DT04yIChSVykKKyNkZWZpbmUgVlJGMThfQ09OMl9BRERSIAkJCQkJMHg1RgorCisjZGVmaW5lIFJHX1ZSRjE4X0FWUF9FTl9NQVNLCQkJCTB4MQorI2RlZmluZSBSR19WUkYxOF9BVlBfRU5fU0hJRlQJCQkJMHgxCisjZGVmaW5lIFJHX1ZSRjE4X01PREVTRVRfTUFTSwkJCQkweDEJCisjZGVmaW5lIFJHX1ZSRjE4X01PREVTRVRfU0hJRlQJCQkJMHgwCisKKy8vICgweDYwKSBWUkYxOF9DT04zIChSTy9SVykKKyNkZWZpbmUgVlJGMThfQ09OM19BRERSIAkJCQkJMHg2MAorCisjZGVmaW5lIFFJX1ZSRjE4X0VOX01BU0sJCQkJCTB4MQkKKyNkZWZpbmUgUUlfVlJGMThfRU5fU0hJRlQJCQkJCTB4NworI2RlZmluZSBSR19WUkYxOF9PTl9DVFJMX01BU0sJCQkJMHgxCisjZGVmaW5lIFJHX1ZSRjE4X09OX0NUUkxfU0hJRlQJCQkJMHgxCisjZGVmaW5lIFJHX1ZSRjE4X0VOX01BU0sJCQkJCTB4MQkKKyNkZWZpbmUgUkdfVlJGMThfRU5fU0hJRlQJCQkJCTB4MAorCisvLyAoMHg2MSkgVlJGMThfQ09ONCAoUlcpCisjZGVmaW5lIFJHX1ZSRjE4X1NUQlREX01BU0sJCQkJCTB4MwkKKyNkZWZpbmUgUkdfVlJGMThfU1RCVERfU0hJRlQJCQkJMHg2CisjZGVmaW5lIFJHX1ZSRjE4X0JVUlNUX01BU0sJCQkJCTB4MwkKKyNkZWZpbmUgUkdfVlJGMThfQlVSU1RfU0hJRlQJCQkJMHg0CisjZGVmaW5lIFJHX1ZSRjE4X09DRkJfRU5fTUFTSwkJCQkweDEJCisjZGVmaW5lIFJHX1ZSRjE4X09DRkJfRU5fU0hJRlQJCQkJMHgxCisjZGVmaW5lIFJHX1ZSRjE4X05ESVNfRU5fTUFTSwkJCQkweDEKKyNkZWZpbmUgUkdfVlJGMThfTkRJU19FTl9TSElGVAkJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCisvLyAoMHg2MikgVlJGMThfQ09ONSAoUlcpICAgCisjZGVmaW5lIFZSRjE4X0NPTjVfQUREUiAJCQkJCTB4NjIKKyAgICAJCQkKKyNkZWZpbmUgUkdfVlJGMThfVk9TRUxfTUFTSwkJCQkJMHgxRgkKKyNkZWZpbmUgUkdfVlJGMThfVk9TRUxfU0hJRlQJCQkJMHgwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQorLy8gKDB4NjMpIFZSRjE4X0NPTjYgKFJXKSAgICAgICAJCQkKKyNkZWZpbmUgUkdfVlJGMThfUlNWX01BU0sJCQkJCTB4RgkKKyNkZWZpbmUgUkdfVlJGMThfUlNWX1NISUZUCQkJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCisvLyAoMHg2MikgVlJGMThfQ09ONyAoUk8pICAgICAgICAgICAJCQorI2RlZmluZSBST19RSV9WUkYxOF9PQ19TVEFUVVNfTUFTSwkJCTB4MQorI2RlZmluZSBST19RSV9WUkYxOF9PQ19TVEFUVVNfU0hJRlQJCQkweDAKKworLy8gKDB4NjcpIFZNX0NPTjAgKFJXKQorI2RlZmluZSBSR19WSU8xOF9DU0xfTUFTSwkJCQkJMHgzCQorI2RlZmluZSBSR19WSU8xOF9DU0xfU0hJRlQJCQkJCTB4NgorI2RlZmluZSBSR19WSU8xOF9DU1JfTUFTSwkJCQkJMHgzCQorI2RlZmluZSBSR19WSU8xOF9DU1JfU0hJRlQJCQkJCTB4NAorI2RlZmluZSBSR19WSU8xOF9DQ19NQVNLCQkJCQkweDMKKyNkZWZpbmUgUkdfVklPMThfQ0NfU0hJRlQJCQkJCTB4MgorI2RlZmluZSBSR19WSU8xOF9SWlNFTF9NQVNLCQkJCQkweDMJCisjZGVmaW5lIFJHX1ZJTzE4X1JaU0VMX1NISUZUCQkJCTB4MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQkKKy8vICgweDY4KSBWTV9DT04xIChSVykgICAgICAgICAgCQkJCisjZGVmaW5lIFJHX1ZJTzE4X1NMUF9NQVNLCQkJCQkweDMJCisjZGVmaW5lIFJHX1ZJTzE4X1NMUF9TSElGVAkJCQkJMHg2CisjZGVmaW5lIFJHX1ZJTzE4X1pYX09TX01BU0sJCQkJCTB4MworI2RlZmluZSBSR19WSU8xOF9aWF9PU19TSElGVAkJCQkweDQKKyNkZWZpbmUgUkdfVklPMThfU0xFV19NQVNLCQkJCQkweDMKKyNkZWZpbmUgUkdfVklPMThfU0xFV19TSElGVAkJCQkJMHgyCisjZGVmaW5lIFJHX1ZJTzE4X1NFTFdfTk1PU19NQVNLCQkJCTB4MwkKKyNkZWZpbmUgUkdfVklPMThfU0VMV19OTU9TX1NISUZUCQkJMHgwCisKKy8vICgweDY5KSBWTV9DT04yIChSVykKKyNkZWZpbmUgUkdfVklPMThfQVZQX0VOX01BU0sJCQkJMHgxCisjZGVmaW5lIFJHX1ZJTzE4X0FWUF9FTl9TSElGVAkJCQkweDEKKyNkZWZpbmUgUkdfVklPMThfTU9ERVNFVF9NQVNLCQkJCTB4MQorI2RlZmluZSBSR19WSU8xOF9NT0RFU0VUX1NISUZUCQkJCTB4MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQkKKy8vICgweDZBKSBWTV9DT04zIChSTy9SVykgICAgICAgCQkJCisjZGVmaW5lIFZNX0NPTjNfQUREUiAJCQkJCQkweDZBCisKKyNkZWZpbmUgTklfVklPMThfRU5fTUFTSwkJCQkJMHgxCQorI2RlZmluZSBOSV9WSU8xOF9FTl9TSElGVAkJCQkJMHg3CisjZGVmaW5lIFJHX1ZJTzE4X0VOX01BU0sJCQkJCTB4MQorI2RlZmluZSBSR19WSU8xOF9FTl9TSElGVAkJCQkJMHgwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQorLy8gKDB4NkIpIFZNX0NPTjQgKFJXKSAgICAgICAgICAJCQkKKyNkZWZpbmUgUkdfVklPMThfQlVSU1RfTUFTSwkJCQkJMHgzCisjZGVmaW5lIFJHX1ZJTzE4X0JVUlNUX1NISUZUCQkJCTB4NAorI2RlZmluZSBSR19WSU8xOF9ORElTX0VOX01BU0sJCQkJMHgxCQorI2RlZmluZSBSR19WSU8xOF9ORElTX0VOX1NISUZUCQkJCTB4MAorCisvLyAoMHg2QykgVk1fQ09ONSAoUlcpCisjZGVmaW5lIFZNX0NPTjVfQUREUiAJCQkJCQkweDZDCisKKyNkZWZpbmUgUkdfVklPMThfVk9TRUxfTUFTSwkJCQkJMHgxRgkKKyNkZWZpbmUgUkdfVklPMThfVk9TRUxfU0hJRlQJCQkJMHgwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQorLy8gKDB4NkQpIFZNX0NPTjYgKFJXKSAgICAgICAgICAJCQkKKyNkZWZpbmUgUkdfVklPMThfUlNWX01BU0sJCQkJCTB4RgkKKyNkZWZpbmUgUkdfVklPMThfUlNWX1NISUZUCQkJCQkweDQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCisvLyAoMHg3MCkgVlBBX0NPTjAgKFJXKSAgICAgICAgIAkJCQorI2RlZmluZSBSR19WUEFfQ1NMX01BU0sJCQkJCQkweDMJCisjZGVmaW5lIFJHX1ZQQV9DU0xfU0hJRlQJCQkJCTB4NgorI2RlZmluZSBSR19WUEFfQ1NSX01BU0sJCQkJCQkweDMJCisjZGVmaW5lIFJHX1ZQQV9DU1JfU0hJRlQJCQkJCTB4NAorI2RlZmluZSBSR19WUEFfQ0NfTUFTSwkJCQkJCTB4MwkKKyNkZWZpbmUgUkdfVlBBX0NDX1NISUZUCQkJCQkJMHgyCisjZGVmaW5lIFJHX1ZQQV9SWlNFTF9NQVNLCQkJCQkweDMJCisjZGVmaW5lIFJHX1ZQQV9SWlNFTF9TSElGVAkJCQkJMHgwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQorLy8gKDB4NzEpIFZQQV9DT04xIChSVykgICAgICAgICAJCQkKKyNkZWZpbmUgUkdfVlBBX1NMUF9NQVNLCQkJCQkJMHgzCQorI2RlZmluZSBSR19WUEFfU0xQX1NISUZUCQkJCQkweDYKKyNkZWZpbmUgUkdfVlBBX1pYX09TX01BU0sJCQkJCTB4MwkKKyNkZWZpbmUgUkdfVlBBX1pYX09TX1NISUZUCQkJCQkweDQKKyNkZWZpbmUgUkdfVlBBX1NMRVdfTUFTSwkJCQkJMHgzCQorI2RlZmluZSBSR19WUEFfU0xFV19TSElGVAkJCQkJMHgyCisjZGVmaW5lIFJHX1ZQQV9TTEVXX05NT1NfTUFTSwkJCQkweDMKKyNkZWZpbmUgUkdfVlBBX1NMRVdfTk1PU19TSElGVAkJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCisvLyAoMHg3MikgVlBBX0NPTjIgKFJXKSAgICAgICAgIAkJCQorI2RlZmluZSBSR19WUEFfQVZQX0VOX01BU0sJCQkJCTB4MSAJCQkKKyNkZWZpbmUgUkdfVlBBX0FWUF9FTl9TSElGVAkJCQkJMHgxIAkJCQorI2RlZmluZSBSR19WUEFfTU9ERVNFVF9NQVNLCQkJCQkweDEJCQkJCisjZGVmaW5lIFJHX1ZQQV9NT0RFU0VUX1NISUZUCQkJCTB4MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQkgICAgCQkJCisvLyAoMHg3MykgVlBBX0NPTjMgKFJXKSAgICAgCQkJCSAgICAJCisjZGVmaW5lIFZQQV9DT04zX0FERFIgCQkJCQkJMHg3MworCQkKKyNkZWZpbmUgUkdfVlBBX0VOX01BU0sJCQkJCQkweDEgCQkJCSAgICAJCQkKKyNkZWZpbmUgUkdfVlBBX0VOX1NISUZUCQkJCQkJMHgwIAkJCQkgICAgCQkJCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCSAgICAJCQkKKy8vICgweDc0KSBWUEFfQ09ONCAoUlcpICAgICAJCQkJICAgIAkJCQorI2RlZmluZSBSR19WUEFfQlVSU1RfTUFTSwkJCQkJMHgzCQkJCQorI2RlZmluZSBSR19WUEFfQlVSU1RfU0hJRlQJCQkJCTB4NCAJCQkKKyNkZWZpbmUgUkdfVlBBX05ESVNfRU5fTUFTSwkJCQkJMHgxCQkJCQorI2RlZmluZSBSR19WUEFfTkRJU19FTl9TSElGVAkJCQkweDAKKworLy8gKDB4NzUpIFZQQV9DT041IChSVykgICAgICAgICAgICAgICAgICAgIAorI2RlZmluZSBWUEFfQ09ONV9BRERSIAkJCQkJCTB4NzUKKworI2RlZmluZSBSR19WUEFfVk9TRUxfTUFTSwkJCQkJMHgxRgkKKyNkZWZpbmUgUkdfVlBBX1ZPU0VMX1NISUZUCQkJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQkJICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCQorLy8gKDB4NzYpIFZQQV9DT042IChSVykgICAgIAkJCQorI2RlZmluZSBWUEFfQ09ONl9BRERSIAkJCQkJCTB4NzYKKwkKKyNkZWZpbmUgUkdfUEFTRUxfU0VUMF9NQVNLCQkJCQkweDFGCisjZGVmaW5lIFJHX1BBU0VMX1NFVDBfU0hJRlQJCQkJCTB4MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQkKKy8vICgweDc3KSBWUEFfQ09ONyAoUlcpICAgICAKKyNkZWZpbmUgVlBBX0NPTjdfQUREUiAJCQkJCQkweDc3CisJCQkJCisjZGVmaW5lIFJHX1BBU0VMX1NFVDFfTUFTSwkJCQkJMHgxRgorI2RlZmluZSBSR19QQVNFTF9TRVQxX1NISUZUCQkJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQkJCisvLyAoMHg3OCkgVlBBX0NPTjggKFJXKSAgICAgCQorI2RlZmluZSBWUEFfQ09OOF9BRERSIAkJCQkJCTB4NzgKKwkJCQorI2RlZmluZSBSR19QQVNFTF9TRVQyX01BU0sJCQkJCTB4MUYKKyNkZWZpbmUgUkdfUEFTRUxfU0VUMl9TSElGVAkJCQkJMHgwCisKKy8vICgweDc5KSBWUEFfQ09OOSAoUlcpCisjZGVmaW5lIFZQQV9DT045X0FERFIgCQkJCQkJMHg3OQorCisjZGVmaW5lIFJHX1BBU0VMX1NFVDNfTUFTSwkJCQkJMHgxRgkKKyNkZWZpbmUgUkdfUEFTRUxfU0VUM19TSElGVAkJCQkJMHgwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCQorLy8gKDB4N0EpIFZQQV9DT05BIChSVykgICAgIAkJCisjZGVmaW5lIFZQQV9DT05BX0FERFIgCQkJCQkJMHg3QQorCQkKKyNkZWZpbmUgUkdfUEFTRUxfU0VUNF9NQVNLCQkJCQkweDFGCisjZGVmaW5lIFJHX1BBU0VMX1NFVDRfU0hJRlQJCQkJCTB4MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQkKKy8vICgweDdCKSBWUEFfQ09OQiAoUlcpICAgICAJCisjZGVmaW5lIFZQQV9DT05CX0FERFIgCQkJCQkJMHg3QgorCQkJCisjZGVmaW5lIFJHX1BBU0VMX1NFVDVfTUFTSwkJCQkJMHgxRgorI2RlZmluZSBSR19QQVNFTF9TRVQ1X1NISUZUCQkJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQkJCisvLyAoMHg3QykgVlBBX0NPTkMgKFJXKSAgICAgCisjZGVmaW5lIFZQQV9DT05DX0FERFIgCQkJCQkJMHg3QworCQkJCQorI2RlZmluZSBSR19QQVNFTF9TRVQ2X01BU0sJCQkJCTB4MUYKKyNkZWZpbmUgUkdfUEFTRUxfU0VUNl9TSElGVAkJCQkJMHgwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCQorLy8gKDB4N0QpIFZQQV9DT05EIChSVykKKyNkZWZpbmUgVlBBX0NPTkRfQUREUiAJCQkJCQkweDdECisKKyNkZWZpbmUgUkdfUEFTRUxfU0VUN19NQVNLCQkJCQkweDFGCisjZGVmaW5lIFJHX1BBU0VMX1NFVDdfU0hJRlQJCQkJCTB4MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQkKKy8vICgweDdFKSBWUEFfQ09ORSAoUlcpICAgICAJCQorI2RlZmluZSBWUEFfQ09ORV9BRERSIAkJCQkJCTB4N0UKKwkJCisjZGVmaW5lIFJHX1ZQQV9SU1ZfTUFTSwkJCQkJCTB4RgorI2RlZmluZSBSR19WUEFfUlNWX1NISUZUCQkJCQkweDQKKyNkZWZpbmUgUkdfVlBBX0NUUkxfTUFTSwkJCQkJMHgxCisjZGVmaW5lIFJHX1ZQQV9DVFJMX1NISUZUCQkJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQkJCisvLyAoMHg3RikgVlBBX0NPTkYgKFJPKSAgICAgCQkJCQorI2RlZmluZSBRSV9WUEFfVk9TRUxfTUFTSwkJCQkJMHgxRgorI2RlZmluZSBRSV9WUEFfVk9TRUxfU0hJRlQJCQkJCTB4MAorCisvLyAoMHg4MikgRElHTERPX0NPTjAgKFJXKQorI2RlZmluZSBESUdMRE9fQ09OMF9BRERSIAkJCQkJMHg4MgorCisjZGVmaW5lIFJHX1ZNMTJfMV9DQUxfTUFTSwkJCQkJMHhGCQorI2RlZmluZSBSR19WTTEyXzFfQ0FMX1NISUZUCQkJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQkJCisvLyAoMHg4MykgRElHTERPX0NPTjEgKFJPL1JXKQorI2RlZmluZSBESUdMRE9fQ09OMV9BRERSIAkJCQkJMHg4MworCisjZGVmaW5lIFFJX1ZNMTJfMV9FTl9NQVNLCQkJCQkweDEJCisjZGVmaW5lIFFJX1ZNMTJfMV9FTl9TSElGVAkJCQkJMHg3CisjZGVmaW5lIFZNMTJfMV9FTl9NQVNLCQkJCQkJMHgxCQorI2RlZmluZSBWTTEyXzFfRU5fU0hJRlQJCQkJCQkweDAKKworLy8gKDB4ODQpIERJR0xET19DT04yIChSVykKKyNkZWZpbmUgUkdfVk0xMl8xX1NUQlREX01BU0sJCQkJMHgzCisjZGVmaW5lIFJHX1ZNMTJfMV9TVEJURF9TSElGVAkJCQkweDQKKyNkZWZpbmUgUkdfVk0xMl8xX09DRkJfRU5fTUFTSwkJCQkweDEKKyNkZWZpbmUgUkdfVk0xMl8xX09DRkJfRU5fU0hJRlQJCQkJMHgxCisjZGVmaW5lIFJHX1ZNMTJfMV9ORElTX0VOX01BU0sJCQkJMHgxCisjZGVmaW5lIFJHX1ZNMTJfMV9ORElTX0VOX1NISUZUCQkJCTB4MAorCisvLyAoMHg4NSkgRElHTERPX0NPTjMgKFJPL1JXKQorI2RlZmluZSBRSV9WTTEyXzFfTU9ERV9NQVNLCQkJCQkweDEKKyNkZWZpbmUgUUlfVk0xMl8xX01PREVfU0hJRlQJCQkJMHg3CisjZGVmaW5lIFZNMTJfMV9MUF9TRVRfTUFTSwkJCQkJMHgxCisjZGVmaW5lIFZNMTJfMV9MUF9TRVRfU0hJRlQJCQkJCTB4MQorI2RlZmluZSBWTTEyXzFfTFBfU0VMX01BU0sJCQkJCTB4MQkKKyNkZWZpbmUgVk0xMl8xX0xQX1NFTF9TSElGVAkJCQkJMHgwCisKKy8vICgweDg2KSBESUdMRE9fQ09ONCAoUlcpCisjZGVmaW5lIERJR0xET19DT040X0FERFIgCQkJCQkweDg2CisKKyNkZWZpbmUgUkdfVk0xMl8yX0NBTF9NQVNLCQkJCQkweEYKKyNkZWZpbmUgUkdfVk0xMl8yX0NBTF9TSElGVAkJCQkJMHgwCisKKy8vICgweDg3KSBESUdMRE9fQ09ONSAoUk8vUlcpCisjZGVmaW5lIERJR0xET19DT041X0FERFIgCQkJCQkweDg3CisKKyNkZWZpbmUgUUlfVk0xMl8yX0VOX01BU0sJCQkJCTB4MQkKKyNkZWZpbmUgUUlfVk0xMl8yX0VOX1NISUZUCQkJCQkweDcKKyNkZWZpbmUgVk0xMl8yX0VOX01BU0sJCQkJCQkweDEJCisjZGVmaW5lIFZNMTJfMl9FTl9TSElGVAkJCQkJCTB4MAorCisvLyAoMHg4OCkgRElHTERPX0NPTjYgKFJXKQorI2RlZmluZSBSR19WTTEyXzJfU1RCVERfTUFTSwkJCQkweDMKKyNkZWZpbmUgUkdfVk0xMl8yX1NUQlREX1NISUZUCQkJCTB4NAorI2RlZmluZSBSR19WTTEyXzJfT0NGQl9FTl9NQVNLCQkJCTB4MQorI2RlZmluZSBSR19WTTEyXzJfT0NGQl9FTl9TSElGVAkJCQkweDEKKyNkZWZpbmUgUkdfVk0xMl8yX05ESVNfRU5fTUFTSwkJCQkweDEKKyNkZWZpbmUgUkdfVk0xMl8yX05ESVNfRU5fU0hJRlQJCQkJMHgwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQorLy8gKDB4ODkpIERJR0xET19DT043IChSTy9SVykgICAJCQkKKyNkZWZpbmUgUUlfVk0xMl8yX01PREVfTUFTSwkJCQkJMHgxIAkJCQorI2RlZmluZSBRSV9WTTEyXzJfTU9ERV9TSElGVAkJCQkweDcKKyNkZWZpbmUgVk0xMl8yX0xQX1NFVF9NQVNLCQkJCQkweDEKKyNkZWZpbmUgVk0xMl8yX0xQX1NFVF9TSElGVAkJCQkJMHgxCisjZGVmaW5lIFZNMTJfMl9MUF9TRUxfTUFTSwkJCQkJMHgxCQorI2RlZmluZSBWTTEyXzJfTFBfU0VMX1NISUZUCQkJCQkweDAKKworLy8gKDB4OEEpIERJR0xET19DT044IChSVykKKyNkZWZpbmUgRElHTERPX0NPTjhfQUREUiAJCQkJCTB4OEEKKworI2RlZmluZSBSR19WTTEyX0lOVF9DQUxfTUFTSwkJCQkweDFGCisjZGVmaW5lIFJHX1ZNMTJfSU5UX0NBTF9TSElGVAkJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCisvLyAoMHg4QikgRElHTERPX0NPTjkgKFJXKSAgICAgIAkJCQorI2RlZmluZSBWTTEyX0lOVF9TTEVFUF9NQVNLCQkJCQkweDFGCisjZGVmaW5lIFZNMTJfSU5UX1NMRUVQX1NISUZUCQkJCTB4MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQkKKy8vICgweDhDKSBESUdMRE9fQ09OQSAoUlcpICAgICAgCQkJCisjZGVmaW5lIFZNMTJfSU5UX0xPV19CT1VORF9NQVNLCQkJCTB4MUYJCisjZGVmaW5lIFZNMTJfSU5UX0xPV19CT1VORF9TSElGVAkJCTB4MAorCisvLyAoMHg4RCkgRElHTERPX0NPTkIgKFJPL1JXKQorI2RlZmluZSBESUdMRE9fQ09OQl9BRERSIAkJCQkJMHg4RAorCisjZGVmaW5lIFFJX1ZNMTJfSU5UX0VOX01BU0sJCQkJCTB4MQkKKyNkZWZpbmUgUUlfVk0xMl9JTlRfRU5fU0hJRlQJCQkJMHg3CisjZGVmaW5lIFZNMTJfSU5UX0VOX01BU0sJCQkJCTB4MQorI2RlZmluZSBWTTEyX0lOVF9FTl9TSElGVAkJCQkJMHgwCisKKy8vICgweDhFKSBESUdMRE9fQ09OQyAoUlcpCisjZGVmaW5lIFJHX1ZNMTJfSU5UX1NUQlREX01BU0sJCQkJMHgzCisjZGVmaW5lIFJHX1ZNMTJfSU5UX1NUQlREX1NISUZUCQkJCTB4NAorI2RlZmluZSBSR19WTTEyX0lOVF9PQ0ZCX0VOX01BU0sJCQkweDEKKyNkZWZpbmUgUkdfVk0xMl9JTlRfT0NGQl9FTl9TSElGVAkJCTB4MQorI2RlZmluZSBSR19WTTEyX0lOVF9ORElTX0VOX01BU0sJCQkweDEKKyNkZWZpbmUgUkdfVk0xMl9JTlRfTkRJU19FTl9TSElGVAkJCTB4MAorCisvLyAoMHg4RikgRElHTERPX0NPTkQgKFJXKQorI2RlZmluZSBWTTEyX0lOVF9DVFJMX1NFTF9NQVNLCQkJCTB4MQorI2RlZmluZSBWTTEyX0lOVF9DVFJMX1NFTF9TSElGVAkJCQkweDQKKyNkZWZpbmUgUkdfVk0xMl9JTlRfVFJJTV9NQVNLCQkJCTB4NwkKKyNkZWZpbmUgUkdfVk0xMl9JTlRfVFJJTV9TSElGVAkJCQkweDEKKyNkZWZpbmUgUkdfVk0xMl9JTlRfQ0FMX1NGQ0hHX0VOX01BU0sJCTB4MQorI2RlZmluZSBSR19WTTEyX0lOVF9DQUxfU0ZDSEdfRU5fU0hJRlQJCTB4MAorCisvLyAoMHg5MCkgRElHTERPX0NPTkUgKFJPL1JXKQorI2RlZmluZSBRSV9WTTEyX0lOVF9NT0RFX01BU0sJCQkJMHgxCisjZGVmaW5lIFFJX1ZNMTJfSU5UX01PREVfU0hJRlQJCQkJMHg3CisjZGVmaW5lIFZNMTJfSU5UX0xQX1NFVF9NQVNLCQkJCTB4MQkKKyNkZWZpbmUgVk0xMl9JTlRfTFBfU0VUX1NISUZUCQkJCTB4MQorI2RlZmluZSBWTTEyX0lOVF9MUF9TRUxfTUFTSwkJCQkweDEJCisjZGVmaW5lIFZNMTJfSU5UX0xQX1NFTF9TSElGVAkJCQkweDAKKworLy8gKDB4OTEpIERJR0xET19DT05GIChSVykKKyNkZWZpbmUgRElHTERPX0NPTkZfQUREUiAJCQkJCTB4OTEKKworI2RlZmluZSBSR19WSU8yOF9DQUxfTUFTSwkJCQkJMHhGCQorI2RlZmluZSBSR19WSU8yOF9DQUxfU0hJRlQJCQkJCTB4MAorCisvLyAoMHg5MikgRElHTERPX0NPTjEwIChSTy9SVykKKyNkZWZpbmUgRElHTERPX0NPTjEwX0FERFIgCQkJCQkweDkyCisKKyNkZWZpbmUgUUlfVklPMjhfRU5fTUFTSwkJCQkJMHgxCQorI2RlZmluZSBRSV9WSU8yOF9FTl9TSElGVAkJCQkJMHg3CisjZGVmaW5lIFZJTzI4X0VOX01BU0sJCQkJCQkweDEKKyNkZWZpbmUgVklPMjhfRU5fU0hJRlQJCQkJCQkweDAKKworLy8gKDB4OTMpIERJR0xET19DT04xMSAoUlcpCisjZGVmaW5lIFJHX1ZJTzI4X1NUQlREX01BU0sJCQkJCTB4MworI2RlZmluZSBSR19WSU8yOF9TVEJURF9TSElGVAkJCQkweDQKKyNkZWZpbmUgUkdfVklPMjhfT0NGQl9FTl9NQVNLCQkJCTB4MQorI2RlZmluZSBSR19WSU8yOF9PQ0ZCX0VOX1NISUZUCQkJCTB4MQorI2RlZmluZSBSR19WSU8yOF9ORElTX0VOX01BU0sJCQkJMHgxCQorI2RlZmluZSBSR19WSU8yOF9ORElTX0VOX1NISUZUCQkJCTB4MAorCisvLyAoMHg5NCkgRElHTERPX0NPTjEyIChSVykKKyNkZWZpbmUgRElHTERPX0NPTjEyX0FERFIgCQkJCQkweDk0CisKKyNkZWZpbmUgUkdfVlNJTV9DQUxfTUFTSwkJCQkJMHhGCisjZGVmaW5lIFJHX1ZTSU1fQ0FMX1NISUZUCQkJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCisvLyAoMHg5NSkgRElHTERPX0NPTjEzIChSVykgICAgIAkJCQorI2RlZmluZSBESUdMRE9fQ09OMTNfQUREUiAJCQkJCTB4OTUKKworI2RlZmluZSBSR19WU0lNX1ZPU0VMX01BU0sJCQkJCTB4MQkKKyNkZWZpbmUgUkdfVlNJTV9WT1NFTF9TSElGVAkJCQkJMHg0CisjZGVmaW5lIFJHX1ZTSU1fRU5fTUFTSwkJCQkJCTB4MQkKKyNkZWZpbmUgUkdfVlNJTV9FTl9TSElGVAkJCQkJMHgwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQorLy8gKDB4OTYpIERJR0xET19DT04xNCAoUlcpICAgICAJCQkKKyNkZWZpbmUgUkdfVlNJTV9TVEJURF9NQVNLCQkJCQkweDMJCisjZGVmaW5lIFJHX1ZTSU1fU1RCVERfU0hJRlQJCQkJCTB4NAorI2RlZmluZSBSR19WU0lNX09DRkJfRU5fTUFTSwkJCQkweDEKKyNkZWZpbmUgUkdfVlNJTV9PQ0ZCX0VOX1NISUZUCQkJCTB4MQorI2RlZmluZSBSR19WU0lNX05ESVNfRU5fTUFTSwkJCQkweDEKKyNkZWZpbmUgUkdfVlNJTV9ORElTX0VOX1NISUZUCQkJCTB4MAorCisvLyAoMHg5NykgRElHTERPX0NPTjE1IChSVykKKyNkZWZpbmUgRElHTERPX0NPTjE1X0FERFIgCQkJCQkweDk3CisKKyNkZWZpbmUgUkdfVlNJTTJfQ0FMX01BU0sJCQkJCTB4RgkKKyNkZWZpbmUgUkdfVlNJTTJfQ0FMX1NISUZUCQkJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQkJCisvLyAoMHg5OCkgRElHTERPX0NPTjE2IChSVykgCQorI2RlZmluZSBESUdMRE9fQ09OMTZfQUREUiAJCQkJCTB4OTgKKwkJCQorI2RlZmluZSBSR19WU0lNMl9WT1NFTF9NQVNLCQkJCQkweDcJCisjZGVmaW5lIFJHX1ZTSU0yX1ZPU0VMX1NISUZUCQkJCTB4NAorI2RlZmluZSBSR19WU0lNMl9FTl9NQVNLCQkJCQkweDEJCisjZGVmaW5lIFJHX1ZTSU0yX0VOX1NISUZUCQkJCQkweDAKKworLy8gKDB4OTkpIERJR0xET19DT04xNyAoUlcpCisjZGVmaW5lIFJHX1ZTSU0yX1NUQlREX01BU0sJCQkJCTB4MwkKKyNkZWZpbmUgUkdfVlNJTTJfU1RCVERfU0hJRlQJCQkJMHg0CisjZGVmaW5lIFJHX1ZTSU0yX09DRkJfRU5fTUFTSwkJCQkweDEJCisjZGVmaW5lIFJHX1ZTSU0yX09DRkJfRU5fU0hJRlQJCQkJMHgxCisjZGVmaW5lIFJHX1ZTSU0yX05ESVNfRU5fTUFTSwkJCQkweDEKKyNkZWZpbmUgUkdfVlNJTTJfTkRJU19FTl9TSElGVAkJCQkweDAKKworLy8gKDB4OUEpIERJR0xET19DT04xOCAoUlcpCisjZGVmaW5lIERJR0xET19DT04xOF9BRERSIAkJCQkJMHg5QQorCisjZGVmaW5lIFJHX1ZVU0JfQ0FMX01BU0sJCQkJCTB4RgorI2RlZmluZSBSR19WVVNCX0NBTF9TSElGVAkJCQkJMHgwCisKKy8vICgweDlCKSBESUdMRE9fQ09OMTkgKFJPL1JXKQorI2RlZmluZSBESUdMRE9fQ09OMTlfQUREUiAJCQkJCTB4OUIKKworI2RlZmluZSBRSV9WVVNCX0VOX01BU0sJCQkJCQkweDEKKyNkZWZpbmUgUUlfVlVTQl9FTl9TSElGVAkJCQkJMHg3CisjZGVmaW5lIFJHX1ZVU0JfRU5fTUFTSwkJCQkJCTB4MQkKKyNkZWZpbmUgUkdfVlVTQl9FTl9TSElGVAkJCQkJMHgwCisKKy8vICgweDlDKSBESUdMRE9fQ09OMUEgKFJXKQorI2RlZmluZSBSR19WVVNCX1NUQlREX01BU0sJCQkJCTB4MworI2RlZmluZSBSR19WVVNCX1NUQlREX1NISUZUCQkJCQkweDQKKyNkZWZpbmUgUkdfVlVTQl9PQ0ZCX0VOX01BU0sJCQkJMHgxCisjZGVmaW5lIFJHX1ZVU0JfT0NGQl9FTl9TSElGVAkJCQkweDEKKyNkZWZpbmUgUkdfVlVTQl9ORElTX0VOX01BU0sJCQkJMHgxCisjZGVmaW5lIFJHX1ZVU0JfTkRJU19FTl9TSElGVAkJCQkweDAKKworLy8gKDB4OUQpIERJR0xET19DT04xQiAoUlcpCisjZGVmaW5lIERJR0xET19DT04xQl9BRERSIAkJCQkJMHg5RAorCisjZGVmaW5lIFJHX1ZDQU1EX0NBTF9NQVNLCQkJCQkweEYJCisjZGVmaW5lIFJHX1ZDQU1EX0NBTF9TSElGVAkJCQkJMHgwCisKKy8vICgweDlFKSBESUdMRE9fQ09OMUMgKFJXKQorI2RlZmluZSBESUdMRE9fQ09OMUNfQUREUiAJCQkJCTB4OUUKKworI2RlZmluZSBSR19WQ0FNRF9WT1NFTF9NQVNLCQkJCQkweDcKKyNkZWZpbmUgUkdfVkNBTURfVk9TRUxfU0hJRlQJCQkJMHg0CisjZGVmaW5lIFJHX1ZDQU1EX0VOX01BU0sJCQkJCTB4MQkKKyNkZWZpbmUgUkdfVkNBTURfRU5fU0hJRlQJCQkJCTB4MAorCisvLyAoMHg5RikgRElHTERPX0NPTjFEIChSVykKKyNkZWZpbmUgUkdfVkNBTURfU1RCVERfTUFTSwkJCQkJMHgzCQorI2RlZmluZSBSR19WQ0FNRF9TVEJURF9TSElGVAkJCQkweDQKKyNkZWZpbmUgUkdfVkNBTURfT0NGQl9FTl9NQVNLCQkJCTB4MQkKKyNkZWZpbmUgUkdfVkNBTURfT0NGQl9FTl9TSElGVAkJCQkweDEKKyNkZWZpbmUgUkdfVkNBTURfTkRJU19FTl9NQVNLCQkJCTB4MQorI2RlZmluZSBSR19WQ0FNRF9ORElTX0VOX1NISUZUCQkJCTB4MAorCisvLyAoMHhBMCkgRElHTERPX0NPTjFFIChSVykKKyNkZWZpbmUgRElHTERPX0NPTjFFX0FERFIgCQkJCQkweEEwCisKKyNkZWZpbmUgUkdfVkNBTV9JT19DQUxfTUFTSwkJCQkJMHhGCisjZGVmaW5lIFJHX1ZDQU1fSU9fQ0FMX1NISUZUCQkJCTB4MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQkKKy8vICgweEExKSBESUdMRE9fQ09OMUYgKFJXKSAgCisjZGVmaW5lIERJR0xET19DT04xRl9BRERSIAkJCQkJMHhBMQorICAgCQkJCisjZGVmaW5lIFJHX1ZDQU1fSU9fVk9TRUxfTUFTSwkJCQkweDcJCisjZGVmaW5lIFJHX1ZDQU1fSU9fVk9TRUxfU0hJRlQJCQkJMHg0CisjZGVmaW5lIFJHX1ZDQU1fSU9fRU5fTUFTSwkJCQkJMHgxCQorI2RlZmluZSBSR19WQ0FNX0lPX0VOX1NISUZUCQkJCQkweDAKKworLy8gKDB4QTIpIERJR0xET19DT04yMCAoUlcpCisjZGVmaW5lIFJHX1ZDQU1fSU9fU1RCVERfTUFTSwkJCQkweDMJCisjZGVmaW5lIFJHX1ZDQU1fSU9fU1RCVERfU0hJRlQJCQkJMHg0CisjZGVmaW5lIFJHX1ZDQU1fSU9fT0NGQl9FTl9NQVNLCQkJCTB4MQorI2RlZmluZSBSR19WQ0FNX0lPX09DRkJfRU5fU0hJRlQJCQkweDEKKyNkZWZpbmUgUkdfVkNBTV9JT19ORElTX0VOX01BU0sJCQkJMHgxCisjZGVmaW5lIFJHX1ZDQU1fSU9fTkRJU19FTl9TSElGVAkJCTB4MAorCisvLyAoMHhBMykgRElHTERPX0NPTjIxIChSVykKKyNkZWZpbmUgRElHTERPX0NPTjIxX0FERFIgCQkJCQkweEEzCisKKyNkZWZpbmUgUkdfVkNBTV9BRl9DQUxfTUFTSwkJCQkJMHhGCQorI2RlZmluZSBSR19WQ0FNX0FGX0NBTF9TSElGVAkJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCisvLyAoMHhBNCkgRElHTERPX0NPTjIyIChSVykgICAgCisjZGVmaW5lIERJR0xET19DT04yMl9BRERSIAkJCQkJMHhBNAorIAkJCQorI2RlZmluZSBSR19WQ0FNX0FGX1ZPU0VMX01BU0sJCQkJMHg3CisjZGVmaW5lIFJHX1ZDQU1fQUZfVk9TRUxfU0hJRlQJCQkJMHg0CisjZGVmaW5lIFJHX1ZDQU1fQUZfRU5fTUFTSwkJCQkJMHgxCQorI2RlZmluZSBSR19WQ0FNX0FGX0VOX1NISUZUCQkJCQkweDAKKworLy8gKDB4QTUpIERJR0xET19DT04yMyAoUlcpCisjZGVmaW5lIFJHX1ZDQU1fQUZfU1RCVERfTUFTSwkJCQkweDMJCisjZGVmaW5lIFJHX1ZDQU1fQUZfU1RCVERfU0hJRlQJCQkJMHg0CisjZGVmaW5lIFJHX1ZDQU1fQUZfT0NGQl9FTl9NQVNLCQkJCTB4MQkKKyNkZWZpbmUgUkdfVkNBTV9BRl9PQ0ZCX0VOX1NISUZUCQkJMHgxCisjZGVmaW5lIFJHX1ZDQU1fQUZfTkRJU19FTl9NQVNLCQkJCTB4MQkKKyNkZWZpbmUgUkdfVkNBTV9BRl9ORElTX0VOX1NISUZUCQkJMHgwCisKKy8vICgweEE2KSBESUdMRE9fQ09OMjQgKFJXKQorI2RlZmluZSBESUdMRE9fQ09OMjRfQUREUiAJCQkJCTB4QTYKKworI2RlZmluZSBSR19WTUNfQ0FMX01BU0sJCQkJCQkweEYJCisjZGVmaW5lIFJHX1ZNQ19DQUxfU0hJRlQJCQkJCTB4MAorCisvLyAoMHhBNykgRElHTERPX0NPTjI1IChSTy9SVykKKyNkZWZpbmUgRElHTERPX0NPTjI1X0FERFIgCQkJCQkweEE3CisKKyNkZWZpbmUgUUlfVk1DX0VOX01BU0sJCQkJCQkweDEJCisjZGVmaW5lIFFJX1ZNQ19FTl9TSElGVAkJCQkJCTB4NworI2RlZmluZSBSR19WTUNfVk9TRUxfTUFTSwkJCQkJMHg3CisjZGVmaW5lIFJHX1ZNQ19WT1NFTF9TSElGVAkJCQkJMHg0CisjZGVmaW5lIFJHX1ZNQ19FTl9NQVNLCQkJCQkJMHgxCQorI2RlZmluZSBSR19WTUNfRU5fU0hJRlQJCQkJCQkweDAKKworLy8gKDB4QTgpIERJR0xET19DT04yNiAoUlcpCisjZGVmaW5lIFJHX1ZNQ19TVEJURF9NQVNLCQkJCQkweDMJCisjZGVmaW5lIFJHX1ZNQ19TVEJURF9TSElGVAkJCQkJMHg0CisjZGVmaW5lIFJHX1ZNQ19PQ0ZCX0VOX01BU0sJCQkJCTB4MQorI2RlZmluZSBSR19WTUNfT0NGQl9FTl9TSElGVAkJCQkweDEKKyNkZWZpbmUgUkdfVk1DX05ESVNfRU5fTUFTSwkJCQkJMHgxCQorI2RlZmluZSBSR19WTUNfTkRJU19FTl9TSElGVAkJCQkweDAKKworLy8gKDB4QTkpIERJR0xET19DT04yNyAoUk8vUlcpCisjZGVmaW5lIFFJX1ZNQ19NT0RFX01BU0sJCQkJCTB4MQkKKyNkZWZpbmUgUUlfVk1DX01PREVfU0hJRlQJCQkJCTB4NworI2RlZmluZSBWTUNfTFBfTU9ERV9TRVRfTUFTSwkJCQkweDEJCisjZGVmaW5lIFZNQ19MUF9NT0RFX1NFVF9TSElGVAkJCQkweDEKKyNkZWZpbmUgVk1DX0xQX1NFTF9NQVNLCQkJCQkJMHgxCQorI2RlZmluZSBWTUNfTFBfU0VMX1NISUZUCQkJCQkweDAKKworLy8gKDB4QUEpIERJR0xET19DT04yOCAoUlcpCisjZGVmaW5lIERJR0xET19DT04yOF9BRERSIAkJCQkJMHhBQQorCisjZGVmaW5lIFJHX1ZNQ0hfQ0FMX01BU0sJCQkJCTB4RgkKKyNkZWZpbmUgUkdfVk1DSF9DQUxfU0hJRlQJCQkJCTB4MAorCisvLyAoMHhBQikgRElHTERPX0NPTjI5IChSTy9SVykKKyNkZWZpbmUgRElHTERPX0NPTjI5X0FERFIgCQkJCQkweEFCCisKKyNkZWZpbmUgUUlfVk1DSF9FTl9NQVNLCQkJCQkJMHgxCisjZGVmaW5lIFFJX1ZNQ0hfRU5fU0hJRlQJCQkJCTB4NworI2RlZmluZSBSR19WTUNIX1ZPU0VMX01BU0sJCQkJCTB4NwkKKyNkZWZpbmUgUkdfVk1DSF9WT1NFTF9TSElGVAkJCQkJMHg0CisjZGVmaW5lIFJHX1ZNQ0hfRU5fTUFTSwkJCQkJCTB4MQkKKyNkZWZpbmUgUkdfVk1DSF9FTl9TSElGVAkJCQkJMHgwCisKKy8vICgweEFDKSBESUdMRE9fQ09OMkEgKFJXKQorI2RlZmluZSBSR19WTUNIX1NUQlREX01BU0sJCQkJCTB4MwkKKyNkZWZpbmUgUkdfVk1DSF9TVEJURF9TSElGVAkJCQkJMHg0CisjZGVmaW5lIFJHX1ZNQ0hfT0NGQl9FTl9NQVNLCQkJCTB4MQorI2RlZmluZSBSR19WTUNIX09DRkJfRU5fU0hJRlQJCQkJMHgxCisjZGVmaW5lIFJHX1ZNQ0hfTkRJU19FTl9NQVNLCQkJCTB4MQkKKyNkZWZpbmUgUkdfVk1DSF9ORElTX0VOX1NISUZUCQkJCTB4MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQkKKy8vICgweEFEKSBESUdMRE9fQ09OMkIgKFJPL1JXKSAgCQkJCisjZGVmaW5lIFFJX1ZNQ0hfTU9ERV9NQVNLCQkJCQkweDEJCisjZGVmaW5lIFFJX1ZNQ0hfTU9ERV9TSElGVAkJCQkJMHg3CisjZGVmaW5lIFZNQ0hfTFBfTU9ERV9TRVRfTUFTSwkJCQkweDEJCisjZGVmaW5lIFZNQ0hfTFBfTU9ERV9TRVRfU0hJRlQJCQkJMHgxCisjZGVmaW5lIFZNQ0hfTFBfU0VMX01BU0sJCQkJCTB4MQorI2RlZmluZSBWTUNIX0xQX1NFTF9TSElGVAkJCQkJMHgwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCQorLy8gKDB4QUUpIERJR0xET19DT04yQyAoUlcpIAkJCisjZGVmaW5lIERJR0xET19DT04yQ19BRERSIAkJCQkJMHhBRQorCQkKKyNkZWZpbmUgUkdfVkdQX0NBTF9NQVNLCQkJCQkJMHhGCQorI2RlZmluZSBSR19WR1BfQ0FMX1NISUZUCQkJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQkJCisvLyAoMHhBRikgRElHTERPX0NPTjJEIChSVykKKyNkZWZpbmUgRElHTERPX0NPTjJEX0FERFIgCQkJCQkweEFGCisgCQkJCQorI2RlZmluZSBSR19WR1BfVk9TRUxfTUFTSwkJCQkJMHg3CQorI2RlZmluZSBSR19WR1BfVk9TRUxfU0hJRlQJCQkJCTB4NAorI2RlZmluZSBSR19WR1BfRU5fTUFTSwkJCQkJCTB4MQkKKyNkZWZpbmUgUkdfVkdQX0VOX1NISUZUCQkJCQkJMHgwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCQorLy8gKDB4QjApIERJR0xET19DT04yRSAoUlcpIAkJCQkKKyNkZWZpbmUgUkdfVkdQX1NUQlREX01BU0sJCQkJCTB4MworI2RlZmluZSBSR19WR1BfU1RCVERfU0hJRlQJCQkJCTB4NAorI2RlZmluZSBSR19WR1BfT0NGQl9FTl9NQVNLCQkJCQkweDEKKyNkZWZpbmUgUkdfVkdQX09DRkJfRU5fU0hJRlQJCQkJMHgxCisjZGVmaW5lIFJHX1ZHUF9ORElTX0VOX01BU0sJCQkJCTB4MQorI2RlZmluZSBSR19WR1BfTkRJU19FTl9TSElGVAkJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCisvLyAoMHhCMSkgRElHTERPX0NPTjJGIChSVykgICAgCisjZGVmaW5lIERJR0xET19DT04yRl9BRERSIAkJCQkJMHhCMQorIAkJCQorI2RlZmluZSBSR19WR1AyX0NBTF9NQVNLCQkJCQkweEYKKyNkZWZpbmUgUkdfVkdQMl9DQUxfU0hJRlQJCQkJCTB4MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQkKKy8vICgweEIyKSBESUdMRE9fQ09OMzAgKFJXKSAgICAgCQkJCisjZGVmaW5lIERJR0xET19DT04zMF9BRERSIAkJCQkJMHhCMgorCisjZGVmaW5lIFJHX1ZHUDJfVk9TRUxfTUFTSwkJCQkJMHg3CQorI2RlZmluZSBSR19WR1AyX1ZPU0VMX1NISUZUCQkJCQkweDQKKyNkZWZpbmUgUkdfVkdQMl9FTl9NQVNLCQkJCQkJMHgxCQkKKyNkZWZpbmUgUkdfVkdQMl9FTl9TSElGVAkJCQkJMHgwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQorLy8gKDB4QjMpIERJR0xET19DT04zMSAoUlcpICAgICAJCQkKKyNkZWZpbmUgUkdfVkdQMl9TVEJURF9NQVNLCQkJCQkweDMKKyNkZWZpbmUgUkdfVkdQMl9TVEJURF9TSElGVAkJCQkJMHg0CisjZGVmaW5lIFJHX1ZHUDJfT0NGQl9FTl9NQVNLCQkJCTB4MQkKKyNkZWZpbmUgUkdfVkdQMl9PQ0ZCX0VOX1NISUZUCQkJCTB4MQorI2RlZmluZSBSR19WR1AyX05ESVNfRU5fTUFTSwkJCQkweDEKKyNkZWZpbmUgUkdfVkdQMl9ORElTX0VOX1NISUZUCQkJCTB4MAorCisvLyAoMHhCNCkgRElHTERPX0NPTjMyIChSVykKKyNkZWZpbmUgRElHTERPX0NPTjMyX0FERFIgCQkJCQkweEI0CisKKyNkZWZpbmUgUkdfVklCUl9DQUxfTUFTSwkJCQkJMHhGCisjZGVmaW5lIFJHX1ZJQlJfQ0FMX1NISUZUCQkJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQkJCisvLyAoMHhCNSkgRElHTERPX0NPTjMzIChSVykgCisjZGVmaW5lIERJR0xET19DT04zM19BRERSIAkJCQkJMHhCNQorCQkJCQorI2RlZmluZSBSR19WSUJSX1ZPU0VMX01BU0sJCQkJCTB4NwkKKyNkZWZpbmUgUkdfVklCUl9WT1NFTF9TSElGVAkJCQkJMHg0CisjZGVmaW5lIFJHX1ZJQlJfRU5fTUFTSwkJCQkJCTB4MQkKKyNkZWZpbmUgUkdfVklCUl9FTl9TSElGVAkJCQkJMHgwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCQorLy8gKDB4QjYpIERJR0xET19DT04zNCAoUlcpIAkJCQkKKyNkZWZpbmUgUkdfVklCUl9TVEJURF9NQVNLCQkJCQkweDMKKyNkZWZpbmUgUkdfVklCUl9TVEJURF9TSElGVAkJCQkJMHg0CisjZGVmaW5lIFJHX1ZJQlJfVEhSX1NIRE5fRU5fTUFTSwkJCTB4MQorI2RlZmluZSBSR19WSUJSX1RIUl9TSEROX0VOX1NISUZUCQkJMHgzCisjZGVmaW5lIFJHX1ZJQlJfU1RCX1NFTF9NQVNLCQkJCTB4MQkKKyNkZWZpbmUgUkdfVklCUl9TVEJfU0VMX1NISUZUCQkJCTB4MgorI2RlZmluZSBSR19WSUJSX09DRkJfRU5fTUFTSwkJCQkweDEJCisjZGVmaW5lIFJHX1ZJQlJfT0NGQl9FTl9TSElGVAkJCQkweDEKKyNkZWZpbmUgUkdfVklCUl9ORElTX0VOX01BU0sJCQkJMHgxCQorI2RlZmluZSBSR19WSUJSX05ESVNfRU5fU0hJRlQJCQkJMHgwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQorLy8gKDB4QjcpIERJR0xET19DT04zNSAoUk8pICAgICAgICAgCQkKKyNkZWZpbmUgUk9fUUlfVlVTQl9PQ19TVEFUVVNfTUFTSwkJCTB4MQkKKyNkZWZpbmUgUk9fUUlfVlVTQl9PQ19TVEFUVVNfU0hJRlQJCQkweDYKKyNkZWZpbmUgUk9fUUlfVlNJTTJfT0NfU1RBVFVTX01BU0sJCQkweDEJCisjZGVmaW5lIFJPX1FJX1ZTSU0yX09DX1NUQVRVU19TSElGVAkJCTB4NQorI2RlZmluZSBST19RSV9WU0lNX09DX1NUQVRVU19NQVNLCQkJMHgxCQorI2RlZmluZSBST19RSV9WU0lNX09DX1NUQVRVU19TSElGVAkJCTB4NAorI2RlZmluZSBST19RSV9WSU8yOF9PQ19TVEFUVVNfTUFTSwkJCTB4MQorI2RlZmluZSBST19RSV9WSU8yOF9PQ19TVEFUVVNfU0hJRlQJCQkweDMKKyNkZWZpbmUgUk9fUUlfVk0xMl9JTlRfT0NfU1RBVFVTX01BU0sJCTB4MQorI2RlZmluZSBST19RSV9WTTEyX0lOVF9PQ19TVEFUVVNfU0hJRlQJCTB4MgorI2RlZmluZSBST19RSV9WTTEyXzJfT0NfU1RBVFVTX01BU0sJCQkweDEJCisjZGVmaW5lIFJPX1FJX1ZNMTJfMl9PQ19TVEFUVVNfU0hJRlQJCTB4MQorI2RlZmluZSBST19RSV9WTTEyXzFfT0NfU1RBVFVTX01BU0sJCQkweDEJCisjZGVmaW5lIFJPX1FJX1ZNMTJfMV9PQ19TVEFUVVNfU0hJRlQJCTB4MAorCisvLyAoMHhCOCkgRElHTERPX0NPTjM2IChSTykKKyNkZWZpbmUgUk9fUUlfVklCUl9PQ19TVEFUVVNfTUFTSwkJCTB4MQkKKyNkZWZpbmUgUk9fUUlfVklCUl9PQ19TVEFUVVNfU0hJRlQJCQkweDcKKyNkZWZpbmUgUk9fUUlfVkdQMl9PQ19TVEFUVVNfTUFTSwkJCTB4MQkKKyNkZWZpbmUgUk9fUUlfVkdQMl9PQ19TVEFUVVNfU0hJRlQJCQkweDYKKyNkZWZpbmUgUk9fUUlfVkdQX09DX1NUQVRVU19NQVNLCQkJMHgxCisjZGVmaW5lIFJPX1FJX1ZHUF9PQ19TVEFUVVNfU0hJRlQJCQkweDUKKyNkZWZpbmUgUk9fUUlfVk1DSF9PQ19TVEFUVVNfTUFTSwkJCTB4MQkKKyNkZWZpbmUgUk9fUUlfVk1DSF9PQ19TVEFUVVNfU0hJRlQJCQkweDQKKyNkZWZpbmUgUk9fUUlfVk1DX09DX1NUQVRVU19NQVNLCQkJMHgxCQorI2RlZmluZSBST19RSV9WTUNfT0NfU1RBVFVTX1NISUZUCQkJMHgzCisjZGVmaW5lIFJPX1FJX1ZDQU1fQUZfT0NfU1RBVFVTX01BU0sJCTB4MQorI2RlZmluZSBST19RSV9WQ0FNX0FGX09DX1NUQVRVU19TSElGVAkJMHgyCisjZGVmaW5lIFJPX1FJX1ZDQU1fSU9fT0NfU1RBVFVTX01BU0sJCTB4MQkKKyNkZWZpbmUgUk9fUUlfVkNBTV9JT19PQ19TVEFUVVNfU0hJRlQJCTB4MQorI2RlZmluZSBST19RSV9WQ0FNRF9PQ19TVEFUVVNfTUFTSwkJCTB4MQkKKyNkZWZpbmUgUk9fUUlfVkNBTURfT0NfU1RBVFVTX1NISUZUCQkJMHgwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCisvLyAoMHhCOSkgRElHTERPX0NPTjM3IChSTykgICAgICAgICAgICAJCisjZGVmaW5lIFFJX1ZNMTJfSU5UX0NBTF9NQVNLCQkJCTB4MUYJCisjZGVmaW5lIFFJX1ZNMTJfSU5UX0NBTF9TSElGVAkJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkKKy8vICgweEJBKSBESUdMRE9fUlNWIChSVykKKyNkZWZpbmUgUkdfRElHTERPX1JTVl9NQVNLCQkJCQkweEYJCisjZGVmaW5lIFJHX0RJR0xET19SU1ZfU0hJRlQJCQkJCTB4MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQkKKy8vICgweEJEKSBBTkFMRE9fQ09OMCAoUlcpIAorI2RlZmluZSBBTkFMRE9fQ09OMF9BRERSIAkJCQkJMHhCRAorIAkJCQkKKyNkZWZpbmUgUkdfVlJGX0NBTF9NQVNLCQkJCQkJMHhGCQorI2RlZmluZSBSR19WUkZfQ0FMX1NISUZUCQkJCQkweDAKKworLy8gKDB4QkUpIEFOQUxET19DT04xIChSTy9SVykKKyNkZWZpbmUgQU5BTERPX0NPTjFfQUREUiAJCQkJCTB4QkUKKworI2RlZmluZSBRSV9WUkZfRU5fTUFTSwkJCQkJCTB4MQkKKyNkZWZpbmUgUUlfVlJGX0VOX1NISUZUCQkJCQkJMHg3CisjZGVmaW5lIFZSRl9PTl9DVFJMX01BU0sJCQkJCTB4MQkKKyNkZWZpbmUgVlJGX09OX0NUUkxfU0hJRlQJCQkJCTB4MQorI2RlZmluZSBSR19WUkZfRU5fTUFTSwkJCQkJCTB4MQkKKyNkZWZpbmUgUkdfVlJGX0VOX1NISUZUCQkJCQkJMHgwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAJCisvLyAoMHhCRikgQU5BTERPX0NPTjIgKFJXKSAJCisjZGVmaW5lIFJHX1ZSRl9TVEJURF9NQVNLCQkJCQkweDMKKyNkZWZpbmUgUkdfVlJGX1NUQlREX1NISUZUCQkJCQkweDQKKyNkZWZpbmUgUkdfVlJGX09DRkJfRU5fTUFTSwkJCQkJMHgxCisjZGVmaW5lIFJHX1ZSRl9PQ0ZCX0VOX1NISUZUCQkJCTB4MQorI2RlZmluZSBSR19WUkZfTkRJU19FTl9NQVNLCQkJCQkweDEJCisjZGVmaW5lIFJHX1ZSRl9ORElTX0VOX1NISUZUCQkJCTB4MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQkKKy8vICgweEMwKSBBTkFMRE9fQ09OMyAoUlcpICAgICAgCQkKKyNkZWZpbmUgQU5BTERPX0NPTjNfQUREUiAJCQkJCTB4QzAKKwkKKyNkZWZpbmUgUkdfVlRDWE9fQ0FMX01BU0sJCQkJCTB4RgkKKyNkZWZpbmUgUkdfVlRDWE9fQ0FMX1NISUZUCQkJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCisvLyAoMHhDMSkgQU5BTERPX0NPTjQgKFJPL1JXKQorI2RlZmluZSBBTkFMRE9fQ09ONF9BRERSIAkJCQkJMHhDMSAgIAkJCQorCisjZGVmaW5lIFFJX1ZUQ1hPX0VOX01BU0sJCQkJCTB4MQkKKyNkZWZpbmUgUUlfVlRDWE9fRU5fU0hJRlQJCQkJCTB4NworI2RlZmluZSBWVENYT19PTl9DVFJMX01BU0sJCQkJCTB4MQkKKyNkZWZpbmUgVlRDWE9fT05fQ1RSTF9TSElGVAkJCQkJMHgxCisjZGVmaW5lIFJHX1ZUQ1hPX0VOX01BU0sJCQkJCTB4MQkKKyNkZWZpbmUgUkdfVlRDWE9fRU5fU0hJRlQJCQkJCTB4MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQkKKy8vICgweEMyKSBBTkFMRE9fQ09ONSAoUlcpICAgICAgCQkJCisjZGVmaW5lIFJHX1ZUQ1hPX1NUQlREX01BU0sJCQkJCTB4MworI2RlZmluZSBSR19WVENYT19TVEJURF9TSElGVAkJCQkweDQKKyNkZWZpbmUgUkdfVlRDWE9fT0NGQl9FTl9NQVNLCQkJCTB4MQkKKyNkZWZpbmUgUkdfVlRDWE9fT0NGQl9FTl9TSElGVAkJCQkweDEKKyNkZWZpbmUgUkdfVlRDWE9fTkRJU19FTl9NQVNLCQkJCTB4MQkKKyNkZWZpbmUgUkdfVlRDWE9fTkRJU19FTl9TSElGVAkJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCisvLyAoMHhDMykgQU5BTERPX0NPTjYgKFJXKQorI2RlZmluZSBBTkFMRE9fQ09ONl9BRERSIAkJCQkJMHhDMyAgICAgCisgCQkJCisjZGVmaW5lIFJHX1ZBMV9DQUxfTUFTSwkJCQkJCTB4RgorI2RlZmluZSBSR19WQTFfQ0FMX1NISUZUCQkJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCisvLyAoMHhDNCkgQU5BTERPX0NPTjcgKFJPL1JXKSAgIAkKKyNkZWZpbmUgQU5BTERPX0NPTjdfQUREUiAJCQkJCTB4QzQJCQorCisjZGVmaW5lIFFJX1ZBMV9FTl9NQVNLCQkJCQkJMHgxCQorI2RlZmluZSBRSV9WQTFfRU5fU0hJRlQJCQkJCQkweDcKKyNkZWZpbmUgUkdfVkExX1ZPU0VMX01BU0sJCQkJCTB4MwkKKyNkZWZpbmUgUkdfVkExX1ZPU0VMX1NISUZUCQkJCQkweDQKKyNkZWZpbmUgUkdfVkExX0VOX01BU0sJCQkJCQkweDEKKyNkZWZpbmUgUkdfVkExX0VOX1NISUZUCQkJCQkJMHgwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQorLy8gKDB4QzUpIEFOQUxET19DT044IChSVykgICAgICAJCQkKKyNkZWZpbmUgUkdfVkExX1NUQlREX01BU0sJCQkJCTB4MwkKKyNkZWZpbmUgUkdfVkExX1NUQlREX1NISUZUCQkJCQkweDQKKyNkZWZpbmUgUkdfVkExX09DRkJfRU5fTUFTSwkJCQkJMHgxCisjZGVmaW5lIFJHX1ZBMV9PQ0ZCX0VOX1NISUZUCQkJCTB4MQorI2RlZmluZSBSR19WQTFfTkRJU19FTl9NQVNLCQkJCQkweDEJCisjZGVmaW5lIFJHX1ZBMV9ORElTX0VOX1NISUZUCQkJCTB4MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQkKKy8vICgweEM2KSBBTkFMRE9fQ09OOSAoUk8vUlcpCisjZGVmaW5lIFFJX1ZBMV9NT0RFX01BU0sJCQkJCTB4MQorI2RlZmluZSBRSV9WQTFfTU9ERV9TSElGVAkJCQkJMHg3CisjZGVmaW5lIFZBMV9MUF9TRVRfTUFTSwkJCQkJCTB4MQkKKyNkZWZpbmUgVkExX0xQX1NFVF9TSElGVAkJCQkJMHgxCisjZGVmaW5lIFZBMV9MUF9TRUxfTUFTSwkJCQkJCTB4MQkKKyNkZWZpbmUgVkExX0xQX1NFTF9TSElGVAkJCQkJMHgwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCQorLy8gKDB4QzcpIEFOQUxET19DT05BIChSVykgCisjZGVmaW5lIEFOQUxET19DT05BX0FERFIgCQkJCQkweEM3CisgCQkJCQorI2RlZmluZSBSR19WQTJfQ0FMX01BU0sJCQkJCQkweEYJCisjZGVmaW5lIFJHX1ZBMl9DQUxfU0hJRlQJCQkJCTB4MAorCisvLyAoMHhDOCkgQU5BTERPX0NPTkIgKFJPL1JXKQorI2RlZmluZSBBTkFMRE9fQ09OQl9BRERSIAkJCQkJMHhDOAorCisjZGVmaW5lIFFJX1ZBMl9FTl9NQVNLCQkJCQkJMHgxCQorI2RlZmluZSBRSV9WQTJfRU5fU0hJRlQJCQkJCQkweDcKKyNkZWZpbmUgUkdfVkEyX1ZPU0VMX01BU0sJCQkJCTB4MQorI2RlZmluZSBSR19WQTJfVk9TRUxfU0hJRlQJCQkJCTB4NAorI2RlZmluZSBSR19WQTJfRU5fTUFTSwkJCQkJCTB4MQorI2RlZmluZSBSR19WQTJfRU5fU0hJRlQJCQkJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIAkKKy8vICgweEM5KSBBTkFMRE9fQ09OQyAoUlcpCisjZGVmaW5lIFJHX1ZBMl9TVEJURF9NQVNLCQkJCQkweDMJCisjZGVmaW5lIFJHX1ZBMl9TVEJURF9TSElGVAkJCQkJMHg0CisjZGVmaW5lIFJHX1ZBMl9PQ0ZCX0VOX01BU0sJCQkJCTB4MQkKKyNkZWZpbmUgUkdfVkEyX09DRkJfRU5fU0hJRlQJCQkJMHgxCisjZGVmaW5lIFJHX1ZBMl9ORElTX0VOX01BU0sJCQkJCTB4MQkKKyNkZWZpbmUgUkdfVkEyX05ESVNfRU5fU0hJRlQJCQkJMHgwCisKKy8vICgweENBKSBBTkFMRE9fQ09ORCAoUlcpCisjZGVmaW5lIEFOQUxET19DT05EX0FERFIgCQkJCQkweENBCisKKyNkZWZpbmUgUkdfVkNBTUFfQ0FMX01BU0sJCQkJCTB4RgkKKyNkZWZpbmUgUkdfVkNBTUFfQ0FMX1NISUZUCQkJCQkweDAKKworLy8gKDB4Q0IpIEFOQUxET19DT05FIChSVykKKyNkZWZpbmUgQU5BTERPX0NPTkVfQUREUiAJCQkJCTB4Q0IKKworI2RlZmluZSBSR19WQ0FNQV9WT1NFTF9NQVNLCQkJCQkweDMJCisjZGVmaW5lIFJHX1ZDQU1BX1ZPU0VMX1NISUZUCQkJCTB4NAorI2RlZmluZSBSR19WQ0FNQV9FTl9NQVNLCQkJCQkweDEKKyNkZWZpbmUgUkdfVkNBTUFfRU5fU0hJRlQJCQkJCTB4MAorCisvLyAoMHhDQykgQU5BTERPX0NPTkYgKFJXKQorI2RlZmluZSBSR19WQ0FNQV9TVEJURF9NQVNLCQkJCQkweDMJCisjZGVmaW5lIFJHX1ZDQU1BX1NUQlREX1NISUZUCQkJCTB4NAorI2RlZmluZSBSR19WQ0FNQV9PQ0ZCX0VOX01BU0sJCQkJMHgxCQorI2RlZmluZSBSR19WQ0FNQV9PQ0ZCX0VOX1NISUZUCQkJCTB4MQorI2RlZmluZSBSR19WQ0FNQV9ORElTX0VOX01BU0sJCQkJMHgxCQorI2RlZmluZSBSR19WQ0FNQV9ORElTX0VOX1NISUZUCQkJCTB4MAorCisvLyAoMHhDRCkgQU5BTERPX0NPTjEwIChSVykKKyNkZWZpbmUgUkdfVkNBTUFfRkJTRUxfTUFTSwkJCQkJMHgzCQorI2RlZmluZSBSR19WQ0FNQV9GQlNFTF9TSElGVAkJCQkweDAKKworLy8gKDB4Q0UpIEFOQUxET19DT04xMSAoUlcpCisjZGVmaW5lIEFOQUxET19DT04xMV9BRERSIAkJCQkJMHhDRQorCisjZGVmaW5lIFJHX1ZSVENfVk9TRUxfTUFTSwkJCQkJMHgzCQorI2RlZmluZSBSR19WUlRDX1ZPU0VMX1NISUZUCQkJCQkweDAKKworLy8gKDB4Q0YpIEFOQUxET19DT04xMiAoUk8vUlcpCisjZGVmaW5lIEFOQUxET19DT04xMl9BRERSIAkJCQkJMHhDRgorCisjZGVmaW5lIFFJX1ZSVENfRU5fTUFTSwkJCQkJCTB4MQkKKyNkZWZpbmUgUUlfVlJUQ19FTl9TSElGVAkJCQkJMHg3CisjZGVmaW5lIFZSVENfRU5fTUFTSwkJCQkJCTB4MQkKKyNkZWZpbmUgVlJUQ19FTl9TSElGVAkJCQkJCTB4MAorCisvLyAoMHhEMCkgQU5BTERPX0NPTjEzIChSTykKKyNkZWZpbmUgUk9fUUlfVlJGX09DX1NUQVRVU19NQVNLCQkJMHgxCQorI2RlZmluZSBST19RSV9WUkZfT0NfU1RBVFVTX1NISUZUCQkJMHgwCisjZGVmaW5lIFJPX1FJX1ZUQ1hPX09DX1NUQVRVU19NQVNLCQkJMHgxCQorI2RlZmluZSBST19RSV9WVENYT19PQ19TVEFUVVNfU0hJRlQJCQkweDEKKyNkZWZpbmUgUk9fUUlfVkExX09DX1NUQVRVU19NQVNLCQkJMHgxCQorI2RlZmluZSBST19RSV9WQTFfT0NfU1RBVFVTX1NISUZUCQkJMHgyCisjZGVmaW5lIFJPX1FJX1ZBMl9PQ19TVEFUVVNfTUFTSwkJCTB4MQorI2RlZmluZSBST19RSV9WQTJfT0NfU1RBVFVTX1NISUZUCQkJMHgzCisjZGVmaW5lIFJPX1FJX1ZDQU1BX09DX1NUQVRVU19NQVNLCQkJMHgxCisjZGVmaW5lIFJPX1FJX1ZDQU1BX09DX1NUQVRVU19TSElGVAkJCTB4NAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkKKy8vICgweEQxKSBBTkFMRE9fUlNWIChSVykKKyNkZWZpbmUgUkdfQU5BTERPX1JTVl9NQVNLCQkJCQkweEYKKyNkZWZpbmUgUkdfQU5BTERPX1JTVl9TSElGVAkJCQkJMHgwCisKKy8vICgweEQ1KSBCVUNLX0tfQ09OMCAoUlcpCisjZGVmaW5lIFJHX0FVVE9fS19NQVNLCQkJCQkJMHgxCQorI2RlZmluZSBSR19BVVRPX0tfU0hJRlQJCQkJCQkweDYKKyNkZWZpbmUgUkdfS19TUkNfU0VMX01BU0sJCQkJCTB4MQkKKyNkZWZpbmUgUkdfS19TUkNfU0VMX1NISUZUCQkJCQkweDUKKyNkZWZpbmUgUkdfS19TVEFSVF9NQU5VQUxfTUFTSwkJCQkweDEKKyNkZWZpbmUgUkdfS19TVEFSVF9NQU5VQUxfU0hJRlQJCQkJMHg0CisjZGVmaW5lIFJHX0tfT05DRV9NQVNLCQkJCQkJMHgxCQorI2RlZmluZSBSR19LX09OQ0VfU0hJRlQJCQkJCQkweDMKKyNkZWZpbmUgUkdfS19PTkNFX0VOX01BU0sJCQkJCTB4MQorI2RlZmluZSBSR19LX09OQ0VfRU5fU0hJRlQJCQkJCTB4MgorI2RlZmluZSBSR19LX01BUF9TRUxfTUFTSwkJCQkJMHgxCQorI2RlZmluZSBSR19LX01BUF9TRUxfU0hJRlQJCQkJCTB4MQorI2RlZmluZSBSR19LX1JTVF9ET05FX01BU0sJCQkJCTB4MQorI2RlZmluZSBSR19LX1JTVF9ET05FX1NISUZUCQkJCQkweDAKKworLy8gKDB4RDYpIEJVQ0tfS19DT04xIChSVykKKyNkZWZpbmUgUkdfS19DT05UUk9MX1NNUFNfTUFTSwkJCQkweEYKKyNkZWZpbmUgUkdfS19DT05UUk9MX1NNUFNfU0hJRlQJCQkJMHgwCisKKy8vICgweEQ3KSBCVUNLX0tfQ09OMiAoUk8pCisjZGVmaW5lIEtfQ09OVFJPTF9NQVNLCQkJCQkJMHgxRgkKKyNkZWZpbmUgS19DT05UUk9MX1NISUZUCQkJCQkJMHgzCisjZGVmaW5lIEtfRE9ORV9NQVNLCQkJCQkJCTB4MQkKKyNkZWZpbmUgS19ET05FX1NISUZUCQkJCQkJMHgxCisjZGVmaW5lIEtfUkVTVUxUX01BU0sJCQkJCQkweDEJCisjZGVmaW5lIEtfUkVTVUxUX1NISUZUCQkJCQkJMHgwCisKKy8vICgweERBKSBBVVhBRENfQ09OMCAoUk8pCisjZGVmaW5lIFJHX0FEQ19PVVRfQzBfN18wX01BU0sJCQkJMHhGRgkKKyNkZWZpbmUgUkdfQURDX09VVF9DMF83XzBfU0hJRlQJCQkJMHgwCisKKy8vICgweERCKSBBVVhBRENfQ09OMSAoUk8pCisjZGVmaW5lIFJHX0FEQ19SRFlfQzBfTUFTSwkJCQkJMHgxCQorI2RlZmluZSBSR19BRENfUkRZX0MwX1NISUZUCQkJCQkweDcKKyNkZWZpbmUgUkdfQURDX09VVF9DMF85XzhfTUFTSwkJCQkweDMKKyNkZWZpbmUgUkdfQURDX09VVF9DMF85XzhfU0hJRlQJCQkJMHgwCisKKy8vICgweERDKSBBVVhBRENfQ09OMiAoUk8pCisjZGVmaW5lIFJHX0FEQ19PVVRfQzFfN18wX01BU0sJCQkJMHhGRgkKKyNkZWZpbmUgUkdfQURDX09VVF9DMV83XzBfU0hJRlQJCQkJMHgwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQorLy8gKDB4REQpIEFVWEFEQ19DT04zIChSTykKKyNkZWZpbmUgUkdfQURDX1JEWV9DMV9NQVNLCQkJCQkweDEJCisjZGVmaW5lIFJHX0FEQ19SRFlfQzFfU0hJRlQJCQkJCTB4NworI2RlZmluZSBSR19BRENfT1VUX0MxXzlfOF9NQVNLCQkJCTB4MworI2RlZmluZSBSR19BRENfT1VUX0MxXzlfOF9TSElGVAkJCQkweDAKKworLy8gKDB4REUpIEFVWEFEQ19DT040IChSTykKKyNkZWZpbmUgUkdfQURDX09VVF9DMl83XzBfTUFTSwkJCQkweEZGCQorI2RlZmluZSBSR19BRENfT1VUX0MyXzdfMF9TSElGVAkJCQkweDAKKworLy8gKDB4REYpIEFVWEFEQ19DT041IChSTykKKyNkZWZpbmUgUkdfQURDX1JEWV9DMl9NQVNLCQkJCQkweDEKKyNkZWZpbmUgUkdfQURDX1JEWV9DMl9TSElGVAkJCQkJMHg3CisjZGVmaW5lIFJHX0FEQ19PVVRfQzJfOV84X01BU0sJCQkJMHgzCQorI2RlZmluZSBSR19BRENfT1VUX0MyXzlfOF9TSElGVAkJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQorLy8gKDB4RTApIEFVWEFEQ19DT042IChSTykgICAgIAkKKyNkZWZpbmUgUkdfQURDX09VVF9DM183XzBfTUFTSwkJCQkweEZGCisjZGVmaW5lIFJHX0FEQ19PVVRfQzNfN18wX1NISUZUCQkJCTB4MAorCisvLyAoMHhFMSkgQVVYQURDX0NPTjcgKFJPKQorI2RlZmluZSBSR19BRENfUkRZX0MzX01BU0sJCQkJCTB4MQkKKyNkZWZpbmUgUkdfQURDX1JEWV9DM19TSElGVAkJCQkJMHg3CisjZGVmaW5lIFJHX0FEQ19PVVRfQzNfOV84X01BU0sJCQkJMHgzCisjZGVmaW5lIFJHX0FEQ19PVVRfQzNfOV84X1NISUZUCQkJCTB4MAorCisvLyAoMHhFMikgQVVYQURDX0NPTjggKFJPKQorI2RlZmluZSBSR19BRENfT1VUX1dBS0VVUF83XzBfTUFTSwkJCTB4RkYKKyNkZWZpbmUgUkdfQURDX09VVF9XQUtFVVBfN18wX1NISUZUCQkJMHgwCisKKy8vICgweEUzKSBBVVhBRENfQ09OOSAoUk8pCisjZGVmaW5lIFJHX0FEQ19SRFlfV0FLRVVQX01BU0sJCQkJMHgxCQorI2RlZmluZSBSR19BRENfUkRZX1dBS0VVUF9TSElGVAkJCQkweDcKKyNkZWZpbmUgUkdfQURDX09VVF9XQUtFVVBfOV84X01BU0sJCQkweDMKKyNkZWZpbmUgUkdfQURDX09VVF9XQUtFVVBfOV84X1NISUZUCQkJMHgwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQorLy8gKDB4RTQpIEFVWEFEQ19DT04xMCAoUk8pICAgICAgICAgCQkKKyNkZWZpbmUgUkdfQURDX09VVF9MQkFUXzdfMF9NQVNLCQkJMHhGRgkKKyNkZWZpbmUgUkdfQURDX09VVF9MQkFUXzdfMF9TSElGVAkJCTB4MAorCisvLyAoMHhFNSkgQVVYQURDX0NPTjExIChSTykKKyNkZWZpbmUgUkdfQURDX1JEWV9MQkFUX01BU0sJCQkJMHgxCisjZGVmaW5lIFJHX0FEQ19SRFlfTEJBVF9TSElGVAkJCQkweDcKKyNkZWZpbmUgUkdfQURDX09VVF9MQkFUXzlfOF9NQVNLCQkJMHgzCisjZGVmaW5lIFJHX0FEQ19PVVRfTEJBVF85XzhfU0hJRlQJCQkweDAKKworLy8gKDB4RTYpIEFVWEFEQ19DT04xMiAoUk8pCisjZGVmaW5lIFJHX0FEQ19PVVRfVFJJTV83XzBfTUFTSwkJCTB4RkYJCisjZGVmaW5lIFJHX0FEQ19PVVRfVFJJTV83XzBfU0hJRlQJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCisvLyAoMHhFNykgQVVYQURDX0NPTjEzIChSTykgICAgICAgICAJCQorI2RlZmluZSBSR19BRENfUkRZX1RSSU1fTUFTSwkJCQkweDEJCisjZGVmaW5lIFJHX0FEQ19SRFlfVFJJTV9TSElGVAkJCQkweDcKKyNkZWZpbmUgUkdfQURDX09VVF9UUklNXzlfOF9NQVNLCQkJMHgzCisjZGVmaW5lIFJHX0FEQ19PVVRfVFJJTV85XzhfU0hJRlQJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCisvLyAoMHhFOCkgQVVYQURDX0NPTjE0IChSVykgICAgICAgICAJCQorI2RlZmluZSBSR19BVVhBRENfQ0hTRUxfTUFTSwkJCQkweEYJCisjZGVmaW5lIFJHX0FVWEFEQ19DSFNFTF9TSElGVAkJCQkweDQKKyNkZWZpbmUgUkdfQURDX1RSSU1fQ09NUF9NQVNLCQkJCTB4MQkKKyNkZWZpbmUgUkdfQURDX1RSSU1fQ09NUF9TSElGVAkJCQkweDIKKyNkZWZpbmUgUkdfQVVYQURDX0JJU1RfRU5CX01BU0sJCQkJMHgxCQorI2RlZmluZSBSR19BVVhBRENfQklTVF9FTkJfU0hJRlQJCQkweDEKKyNkZWZpbmUgUkdfQVVYQURDX1NUQVJUX01BU0sJCQkJMHgxCQorI2RlZmluZSBSR19BVVhBRENfU1RBUlRfU0hJRlQJCQkJMHgwCisKKy8vICgweEU5KSBBVVhBRENfQ09OMTUgKFJXKQorI2RlZmluZSBSR19TUExfTlVNX01BU0sJCQkJCQkweEYJCisjZGVmaW5lIFJHX1NQTF9OVU1fU0hJRlQJCQkJCTB4NAorI2RlZmluZSBSR19BVkdfTlVNX01BU0sJCQkJCQkweDMJCisjZGVmaW5lIFJHX0FWR19OVU1fU0hJRlQJCQkJCTB4MgorI2RlZmluZSBSR19CVUZfUFdEX0JfTUFTSwkJCQkJMHgxCQorI2RlZmluZSBSR19CVUZfUFdEX0JfU0hJRlQJCQkJCTB4MQorI2RlZmluZSBSR19BRENfUFdEX0JfTUFTSwkJCQkJMHgxCQorI2RlZmluZSBSR19BRENfUFdEX0JfU0hJRlQJCQkJCTB4MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQkKKy8vICgweEVBKSBBVVhBRENfQ09OMTYgKFJXKSAgICAgCQkJCisjZGVmaW5lIFJHX0xCQVRfREVCVF9NQVhfTUFTSwkJCQkweEZGCQorI2RlZmluZSBSR19MQkFUX0RFQlRfTUFYX1NISUZUCQkJCTB4MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQkKKy8vICgweEVCKSBBVVhBRENfQ09OMTcgKFJXKSAgICAgCQkJCisjZGVmaW5lIFJHX0xCQVRfREVCVF9NSU5fTUFTSwkJCQkweEZGCisjZGVmaW5lIFJHX0xCQVRfREVCVF9NSU5fU0hJRlQJCQkJMHgwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQorLy8gKDB4RUMpIEFVWEFEQ19DT04xOCAoUlcpICAgICAgICAgCQkKKyNkZWZpbmUgUkdfTEJBVF9ERVRfUFJEXzdfMF9NQVNLCQkJMHhGRgorI2RlZmluZSBSR19MQkFUX0RFVF9QUkRfN18wX1NISUZUCQkJMHgwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQorLy8gKDB4RUQpIEFVWEFEQ19DT04xOSAoUlcpICAgICAgICAgCQkKKyNkZWZpbmUgUkdfTEJBVF9ERVRfUFJEXzE1XzhfTUFTSwkJCTB4RkYJCisjZGVmaW5lIFJHX0xCQVRfREVUX1BSRF8xNV84X1NISUZUCQkJMHgwCisKKy8vICgweEVFKSBBVVhBRENfQ09OMjAgKFJXKQorI2RlZmluZSBSR19MQkFUX0RFVF9QUkRfMTlfMTZfTUFTSwkJCTB4RgorI2RlZmluZSBSR19MQkFUX0RFVF9QUkRfMTlfMTZfU0hJRlQJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCisvLyAoMHhFRikgQVVYQURDX0NPTjIxIChSVykgICAgICAgICAJCQorI2RlZmluZSBSR19MQkFUX1ZPTFRfTUFYXzdfMF9NQVNLCQkJMHhGRgkKKyNkZWZpbmUgUkdfTEJBVF9WT0xUX01BWF83XzBfU0hJRlQJCQkweDAKKworLy8gKDB4RjApIEFVWEFEQ19DT04yMiAoUlcpCisjZGVmaW5lIFJHX0xCQVRfRU5fTUFYX01BU0sJCQkJCTB4MQkKKyNkZWZpbmUgUkdfTEJBVF9FTl9NQVhfU0hJRlQJCQkJMHg3CisjZGVmaW5lIFJHX0xCQVRfSVJRX0VOX01BWF9NQVNLCQkJCTB4MQorI2RlZmluZSBSR19MQkFUX0lSUV9FTl9NQVhfU0hJRlQJCQkweDQKKyNkZWZpbmUgUkdfTEJBVF9WT0xUX01BWF85XzhfTUFTSwkJCTB4MworI2RlZmluZSBSR19MQkFUX1ZPTFRfTUFYXzlfOF9TSElGVAkJCTB4MAorCisvLyAoMHhGMSkgQVVYQURDX0NPTjIzIChSVykKKyNkZWZpbmUgUkdfTEJBVF9WT0xUX01JTl83XzBfTUFTSwkJCTB4RkYKKyNkZWZpbmUgUkdfTEJBVF9WT0xUX01JTl83XzBfU0hJRlQJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCisvLyAoMHhGMikgQVVYQURDX0NPTjI0IChSVykgICAgICAgICAJCQorI2RlZmluZSBSR19MQkFUX0VOX01JTl9NQVNLCQkJCQkweDEJCisjZGVmaW5lIFJHX0xCQVRfRU5fTUlOX1NISUZUCQkJCTB4NworI2RlZmluZSBSR19MQkFUX0lSUV9FTl9NSU5fTUFTSwkJCQkweDEKKyNkZWZpbmUgUkdfTEJBVF9JUlFfRU5fTUlOX1NISUZUCQkJMHg0CisjZGVmaW5lIFJHX0xCQVRfVk9MVF9NSU5fOV84X01BU0sJCQkweDMKKyNkZWZpbmUgUkdfTEJBVF9WT0xUX01JTl85XzhfU0hJRlQJCQkweDAKKworLy8gKDB4RjMpIEFVWEFEQ19DT04yNSAoUk8pCisjZGVmaW5lIFJHX0xCQVRfTUFYX0lSUV9CX01BU0sJCQkJMHgxCQorI2RlZmluZSBSR19MQkFUX01BWF9JUlFfQl9TSElGVAkJCQkweDcKKyNkZWZpbmUgUkdfTEJBVF9NSU5fSVJRX0JfTUFTSwkJCQkweDEJCisjZGVmaW5lIFJHX0xCQVRfTUlOX0lSUV9CX1NISUZUCQkJCTB4NgorCisvLyAoMHhGNCkgQVVYQURDX0NPTjI2IChSVykKKyNkZWZpbmUgUkdfREFfREFDXzdfMF9NQVNLCQkJCQkweEZGCQorI2RlZmluZSBSR19EQV9EQUNfN18wX1NISUZUCQkJCQkweDAKKworLy8gKDB4RjUpIEFVWEFEQ19DT04yNyAoUk8vUlcpCisjZGVmaW5lIFJHX05JX0NPTVBfTUFTSwkJCQkJCTB4MQkKKyNkZWZpbmUgUkdfTklfQ09NUF9TSElGVAkJCQkJMHg3CisjZGVmaW5lIFJHX0RBX0RBQ185XzhfTUFTSwkJCQkJMHgzCQorI2RlZmluZSBSR19EQV9EQUNfOV84X1NISUZUCQkJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQkJCisvLyAoMHhGNikgQVVYQURDX0NPTjI4IChSVykgCQkJCQorI2RlZmluZSBSR19BVVhBRENfUlNWX01BU0sJCQkJCTB4NworI2RlZmluZSBSR19BVVhBRENfUlNWX1NISUZUCQkJCQkweDUKKyNkZWZpbmUgUkdfREFfREFDX1NFTF9NQVNLCQkJCQkweDEJCisjZGVmaW5lIFJHX0RBX0RBQ19TRUxfU0hJRlQJCQkJCTB4NAorI2RlZmluZSBSR19BVVhfT1VUX1NFTF9NQVNLCQkJCQkweDEJCisjZGVmaW5lIFJHX0FVWF9PVVRfU0VMX1NISUZUCQkJCTB4MworI2RlZmluZSBSR19BUkJfUFJJT18yX01BU0sJCQkJCTB4MQkKKyNkZWZpbmUgUkdfQVJCX1BSSU9fMl9TSElGVAkJCQkJMHgyCisjZGVmaW5lIFJHX0FSQl9QUklPXzFfTUFTSwkJCQkJMHgxCQorI2RlZmluZSBSR19BUkJfUFJJT18xX1NISUZUCQkJCQkweDEKKyNkZWZpbmUgUkdfQVJCX1BSSU9fMF9NQVNLCQkJCQkweDEJCisjZGVmaW5lIFJHX0FSQl9QUklPXzBfU0hJRlQJCQkJCTB4MAorCisvLyAoMHhGNykgQVVYQURDX0NPTjI5IChSVykKKyNkZWZpbmUgUkdfQVVYQURDX0NBTElfTUFTSwkJCQkJMHgzCisjZGVmaW5lIFJHX0FVWEFEQ19DQUxJX1NISUZUCQkJCTB4NAorI2RlZmluZSBSR19CVUZfQ0FMSV9NQVNLCQkJCQkweDMJCisjZGVmaW5lIFJHX0JVRl9DQUxJX1NISUZUCQkJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworLyogICAgICBQTUlDIDYzMjkgQkFOSyAxICAgICAgKi8KKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisvLyAoMHgwMCkgVEVTVF9DT04wIChSVykKKyNkZWZpbmUgUkdfTU9OX0dSUF9TRUxfTUFTSwkJCQkJMHhGCQorI2RlZmluZSBSR19NT05fR1JQX1NFTF9TSElGVAkJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCisvLyAoMHgwMSkgVEVTVF9DT04xIChSVykgICAgICAgIAkJCQorI2RlZmluZSBSR19NT05fRkxBR19TRUxfTUFTSwkJCQkweEZGCisjZGVmaW5lIFJHX01PTl9GTEFHX1NFTF9TSElGVAkJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCisvLyAoMHgwMikgVEVTVF9DT04yIChSVykgICAgICAgIAkJCQorI2RlZmluZSBSR19JT19QQVNFTDBfU0VMX01BU0sJCQkJMHhGCQorI2RlZmluZSBSR19JT19QQVNFTDBfU0VMX1NISUZUCQkJCTB4NAorI2RlZmluZSBSR19JT19QQVNFTDFfU0VMX01BU0sJCQkJMHhGCisjZGVmaW5lIFJHX0lPX1BBU0VMMV9TRUxfU0hJRlQJCQkJMHgwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQorLy8gKDB4MDMpIFRFU1RfQ09OMyAoUlcpICAgICAgICAJCQkKKyNkZWZpbmUgUkdfSU9fUEFTRUwyX1NFTF9NQVNLCQkJCTB4RgkKKyNkZWZpbmUgUkdfSU9fUEFTRUwyX1NFTF9TSElGVAkJCQkweDQKKyNkZWZpbmUgUkdfSU9fSU5UX1NFTF9NQVNLCQkJCQkweEYKKyNkZWZpbmUgUkdfSU9fSU5UX1NFTF9TSElGVAkJCQkJMHgwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCQorLy8gKDB4MDQpIFRFU1RfQ09ONCAoUlcpICAgIAkJCQkKKyNkZWZpbmUgUkdfRElPX1NNVF9NQVNLCQkJCQkJMHgxCQkJCQkKKyNkZWZpbmUgUkdfRElPX1NNVF9TSElGVAkJCQkJMHg1CisjZGVmaW5lIFJHX0RJT19FMl9NQVNLCQkJCQkJMHgxCQorI2RlZmluZSBSR19ESU9fRTJfU0hJRlQJCQkJCQkweDQKKyNkZWZpbmUgUkdfRElPX0U0X01BU0sJCQkJCQkweDEJCisjZGVmaW5lIFJHX0RJT19FNF9TSElGVAkJCQkJCTB4MworI2RlZmluZSBSR19ESU9fU1JfTUFTSwkJCQkJCTB4MQkKKyNkZWZpbmUgUkdfRElPX1NSX1NISUZUCQkJCQkJMHgyCisjZGVmaW5lIFJHX1NDS19QVV9NQVNLCQkJCQkJMHgxCQorI2RlZmluZSBSR19TQ0tfUFVfU0hJRlQJCQkJCQkweDEKKyNkZWZpbmUgUkdfU0NLX1BEX01BU0sJCQkJCQkweDEJCisjZGVmaW5lIFJHX1NDS19QRF9TSElGVAkJCQkJCTB4MAorICAgICAgICAgICAgICAgICAgICAgICAgCQkJCQkKKy8vICgweDA1KSBURVNUX0NPTjUgKFJXKQkJCQkJCisjZGVmaW5lIFJHX1NEQV9FMl9NQVNLCQkJCQkJMHgxCQorI2RlZmluZSBSR19TREFfRTJfU0hJRlQJCQkJCQkweDcKKyNkZWZpbmUgUkdfU0RBX0U0X01BU0sJCQkJCQkweDEJCisjZGVmaW5lIFJHX1NEQV9FNF9TSElGVAkJCQkJCTB4NgorI2RlZmluZSBSR19TREFfUFVfTUFTSwkJCQkJCTB4MQkKKyNkZWZpbmUgUkdfU0RBX1BVX1NISUZUCQkJCQkJMHg1CisjZGVmaW5lIFJHX1NEQV9QRF9NQVNLCQkJCQkJMHgxCQorI2RlZmluZSBSR19TREFfUERfU0hJRlQJCQkJCQkweDQKKyNkZWZpbmUgUkdfSU5UX0UyX01BU0sJCQkJCQkweDEJCisjZGVmaW5lIFJHX0lOVF9FMl9TSElGVAkJCQkJCTB4MworI2RlZmluZSBSR19JTlRfRTRfTUFTSwkJCQkJCTB4MQorI2RlZmluZSBSR19JTlRfRTRfU0hJRlQJCQkJCQkweDIKKyNkZWZpbmUgUkdfSU5UX1BVX01BU0sJCQkJCQkweDEJCisjZGVmaW5lIFJHX0lOVF9QVV9TSElGVAkJCQkJCTB4MQorI2RlZmluZSBSR19JTlRfUERfTUFTSwkJCQkJCTB4MQorI2RlZmluZSBSR19JTlRfUERfU0hJRlQJCQkJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgIAkJCQkJCisvLyAoMHgwNikgVEVTVF9DT042IChSVykJCQkJCQorI2RlZmluZSBSR19EVlNfUFVfTUFTSwkJCQkJCTB4MQkKKyNkZWZpbmUgUkdfRFZTX1BVX1NISUZUCQkJCQkJMHg1CisjZGVmaW5lIFJHX0RWU19QRF9NQVNLCQkJCQkJMHgxCisjZGVmaW5lIFJHX0RWU19QRF9TSElGVAkJCQkJCTB4NAorI2RlZmluZSBSR19QQVNFTF9QVV9NQVNLCQkJCQkweDEKKyNkZWZpbmUgUkdfUEFTRUxfUFVfU0hJRlQJCQkJCTB4MworI2RlZmluZSBSR19QQVNFTF9QRF9NQVNLCQkJCQkweDEKKyNkZWZpbmUgUkdfUEFTRUxfUERfU0hJRlQJCQkJCTB4MgorI2RlZmluZSBSR19TWVNSU1RCX1BVX01BU0sJCQkJCTB4MQorI2RlZmluZSBSR19TWVNSU1RCX1BVX1NISUZUCQkJCQkweDEKKyNkZWZpbmUgUkdfU1lTUlNUQl9QRF9NQVNLCQkJCQkweDEJCisjZGVmaW5lIFJHX1NZU1JTVEJfUERfU0hJRlQJCQkJCTB4MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQkKKy8vICgweDA3KSBURVNUX0NPTjcgKFJXKSAgICAJCQkJCisjZGVmaW5lIFJHX1NSQ0xLRU5fUFVfTUFTSwkJCQkJMHgxCisjZGVmaW5lIFJHX1NSQ0xLRU5fUFVfU0hJRlQJCQkJCTB4MworI2RlZmluZSBSR19TUkNMS0VOX1BEX01BU0sJCQkJCTB4MQorI2RlZmluZSBSR19TUkNMS0VOX1BEX1NISUZUCQkJCQkweDIKKyNkZWZpbmUgUkdfQkxfUFdNX1BVX01BU0sJCQkJCTB4MQkKKyNkZWZpbmUgUkdfQkxfUFdNX1BVX1NISUZUCQkJCQkweDEKKyNkZWZpbmUgUkdfQkxfUFdNX1BEX01BU0sJCQkJCTB4MQorI2RlZmluZSBSR19CTF9QV01fUERfU0hJRlQJCQkJCTB4MAorCisvLyAoMHgwOCkgVEVTVF9DT044IChSVykKKyNkZWZpbmUgUkdfU0RBX0lPX0NPTkZJR19NQVNLCQkJCTB4MQkKKyNkZWZpbmUgUkdfU0RBX0lPX0NPTkZJR19TSElGVAkJCQkweDMKKyNkZWZpbmUgUkdfVEVTVF9TVFJVUF9NQVNLCQkJCQkweDEKKyNkZWZpbmUgUkdfVEVTVF9TVFJVUF9TSElGVAkJCQkJMHgyCisjZGVmaW5lIFJHX09UUF9XX01PREVfTUFTSwkJCQkJMHgxCQorI2RlZmluZSBSR19PVFBfV19NT0RFX1NISUZUCQkJCQkweDEKKyNkZWZpbmUgUkdfTkFORFRSRUVfTU9ERV9NQVNLCQkJCTB4MQorI2RlZmluZSBSR19OQU5EVFJFRV9NT0RFX1NISUZUCQkJCTB4MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQkKKy8vICgweDA5KSBURVNUX0NPTjkgKFJXKSAgICAgICAgCQkJCisjZGVmaW5lIFJHX1RFU1RfQVVYQURDX01BU0sJCQkJCTB4MSAJCQkKKyNkZWZpbmUgUkdfVEVTVF9BVVhBRENfU0hJRlQJCQkJMHg3CisjZGVmaW5lIFJHX1RFU1RfRkdQTExfTUFTSwkJCQkJMHgxCisjZGVmaW5lIFJHX1RFU1RfRkdQTExfU0hJRlQJCQkJCTB4NgorI2RlZmluZSBSR19URVNUX0ZHMV9NQVNLCQkJCQkweDEKKyNkZWZpbmUgUkdfVEVTVF9GRzFfU0hJRlQJCQkJCTB4NQorI2RlZmluZSBSR19URVNUX0ZHMl9NQVNLCQkJCQkweDEKKyNkZWZpbmUgUkdfVEVTVF9GRzJfU0hJRlQJCQkJCTB4NAorI2RlZmluZSBSR19URVNUX0lPX0ZHX1NFTF9NQVNLCQkJCTB4MQkKKyNkZWZpbmUgUkdfVEVTVF9JT19GR19TRUxfU0hJRlQJCQkJMHgzCisjZGVmaW5lIFJHX1RFU1RfQ0xBU1NEX01BU0sJCQkJCTB4MQkKKyNkZWZpbmUgUkdfVEVTVF9DTEFTU0RfU0hJRlQJCQkJMHgyCisjZGVmaW5lIFJHX1RFU1RfRFJJVkVSX01BU0sJCQkJCTB4MQkKKyNkZWZpbmUgUkdfVEVTVF9EUklWRVJfU0hJRlQJCQkJMHgxCisjZGVmaW5lIFJHX1RFU1RfQk9PU1RfTUFTSwkJCQkJMHgxCQorI2RlZmluZSBSR19URVNUX0JPT1NUX1NISUZUCQkJCQkweDAKKworLy8gKDB4MEEpIFRFU1RfQ09OMTAgKFJPKQorI2RlZmluZSBST19NT05fTUFTSwkJCQkJCQkweEZGCQorI2RlZmluZSBST19NT05fU0hJRlQJCQkJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQkJCisvLyAoMHgwQikgVEVTVF9DT04xMSAoUk8pICAgCQkJCQorI2RlZmluZSBST19EVlMxX0lOX01BU0sJCQkJCQkweDEJCisjZGVmaW5lIFJPX0RWUzFfSU5fU0hJRlQJCQkJCTB4NworI2RlZmluZSBST19EVlMyX0lOX01BU0sJCQkJCQkweDEKKyNkZWZpbmUgUk9fRFZTMl9JTl9TSElGVAkJCQkJMHg2CisjZGVmaW5lIFJPX1BBU0VMMF9JTl9NQVNLCQkJCQkweDEJCisjZGVmaW5lIFJPX1BBU0VMMF9JTl9TSElGVAkJCQkJMHg1CisjZGVmaW5lIFJPX1BBU0VMMV9JTl9NQVNLCQkJCQkweDEJCisjZGVmaW5lIFJPX1BBU0VMMV9JTl9TSElGVAkJCQkJMHg0CisjZGVmaW5lIFJPX1BBU0VMMl9JTl9NQVNLCQkJCQkweDEJCisjZGVmaW5lIFJPX1BBU0VMMl9JTl9TSElGVAkJCQkJMHgzCisjZGVmaW5lIFJPX1NZU1JTVEJfSU5fTUFTSwkJCQkJMHgxCQorI2RlZmluZSBST19TWVNSU1RCX0lOX1NISUZUCQkJCQkweDIKKyNkZWZpbmUgUk9fU1JDTEtFTl9JTl9NQVNLCQkJCQkweDEJCisjZGVmaW5lIFJPX1NSQ0xLRU5fSU5fU0hJRlQJCQkJCTB4MQorI2RlZmluZSBST19CTFBXTV9JTl9NQVNLCQkJCQkweDEJCisjZGVmaW5lIFJPX0JMUFdNX0lOX1NISUZUCQkJCQkweDAKKworLy8gKDB4MEMpIFJTVF9DT04wIChSVykKKyNkZWZpbmUgUkdfUFdSS0VZX1JTVF9FTl9NQVNLCQkJCTB4MQorI2RlZmluZSBSR19QV1JLRVlfUlNUX0VOX1NISUZUCQkJCTB4NAorI2RlZmluZSBSR19IT01FS0VZX1JTVF9FTl9NQVNLCQkJCTB4MQkKKyNkZWZpbmUgUkdfSE9NRUtFWV9SU1RfRU5fU0hJRlQJCQkJMHgzCisjZGVmaW5lIFJHX1BXUktFWV9SU1RfVERfTUFTSwkJCQkweDMJCisjZGVmaW5lIFJHX1BXUktFWV9SU1RfVERfU0hJRlQJCQkJMHgxCisjZGVmaW5lIFJHX1BXUlJTVF9UTVJfRElTX01BU0sJCQkJMHgxCQorI2RlZmluZSBSR19QV1JSU1RfVE1SX0RJU19TSElGVAkJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCisvLyAoMHgwRCkgUlNUX0NPTjEgKFJXKSAgICAgICAgIAkJCQorI2RlZmluZSBSR19SU1RfUEFSVF9TRUxfTUFTSwkJCQkweDEKKyNkZWZpbmUgUkdfUlNUX1BBUlRfU0VMX1NISUZUCQkJCTB4NworI2RlZmluZSBSR19PVFBfTUFOX1JTVF9NQVNLCQkJCQkweDEKKyNkZWZpbmUgUkdfT1RQX01BTl9SU1RfU0hJRlQJCQkJMHg1CisjZGVmaW5lIFJHX1BDSFJfTUFOX1JTVF9FTl9NQVNLCQkJCTB4MQorI2RlZmluZSBSR19QQ0hSX01BTl9SU1RfRU5fU0hJRlQJCQkweDQKKyNkZWZpbmUgUkdfUENIUl9NQU5fUlNUX01BU0sJCQkJMHgxCisjZGVmaW5lIFJHX1BDSFJfTUFOX1JTVF9TSElGVAkJCQkweDMKKyNkZWZpbmUgUkdfU1RSVVBfTUFOX1JTVF9FTl9NQVNLCQkJMHgxCisjZGVmaW5lIFJHX1NUUlVQX01BTl9SU1RfRU5fU0hJRlQJCQkweDIKKyNkZWZpbmUgUkdfU0lGX1RTVF9DS19ESVNfTUFTSwkJCQkweDEKKyNkZWZpbmUgUkdfU0lGX1RTVF9DS19ESVNfU0hJRlQJCQkJMHgxCisjZGVmaW5lIFJHX1NZU1JTVEJfRU5fTUFTSwkJCQkJMHgxCQorI2RlZmluZSBSR19TWVNSU1RCX0VOX1NISUZUCQkJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQorLy8gKDB4MTQpIFRPUDJfQ09OMCAoUlcpCisjZGVmaW5lIFJHXzc1S19FWFRfU0VMX01BU0sJCQkJCTB4MQkKKyNkZWZpbmUgUkdfNzVLX0VYVF9TRUxfU0hJRlQJCQkJMHg3CisjZGVmaW5lIFJHX0ZHX1RTVF9DS19TRUxfTUFTSwkJCQkweDEJCisjZGVmaW5lIFJHX0ZHX1RTVF9DS19TRUxfU0hJRlQJCQkJMHg2CisjZGVmaW5lIFJHX0NIUjFNX1RTVF9DS19TRUxfTUFTSwkJCTB4MQorI2RlZmluZSBSR19DSFIxTV9UU1RfQ0tfU0VMX1NISUZUCQkJMHg1CisjZGVmaW5lIFJHX0NMS19UU1RfTUFTSwkJCQkJCTB4MQkKKyNkZWZpbmUgUkdfQ0xLX1RTVF9TSElGVAkJCQkJMHg0CisjZGVmaW5lIFJHX0FVWEFEQ19DS19SU1RfTUFTSwkJCQkweDEJCisjZGVmaW5lIFJHX0FVWEFEQ19DS19SU1RfU0hJRlQJCQkJMHgzCisjZGVmaW5lIFJHX0FVWEFEQ19DS19TRUxfTUFTSwkJCQkweDcKKyNkZWZpbmUgUkdfQVVYQURDX0NLX1NFTF9TSElGVAkJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCisvLyAoMHgxNSkgVE9QMl9DT04xIChSVykgICAgICAgICAgICAJCQorI2RlZmluZSBSR18xME1fQ0tfRElWX1JTVF9NQVNLCQkJCTB4MQorI2RlZmluZSBSR18xME1fQ0tfRElWX1JTVF9TSElGVAkJCQkweDUKKyNkZWZpbmUgUkdfRkdBRENfQ0tfUEROX01BU0sJCQkJMHgxCisjZGVmaW5lIFJHX0ZHQURDX0NLX1BETl9TSElGVAkJCQkweDQKKyNkZWZpbmUgUkdfT1RQQ19DS19QRE5fTUFTSwkJCQkJMHgxIAkKKyNkZWZpbmUgUkdfT1RQQ19DS19QRE5fU0hJRlQJCQkJMHgzCisjZGVmaW5lIFJHX0JTVF9EUlZfQ0tfUEROX01BU0sJCQkJMHgxCisjZGVmaW5lIFJHX0JTVF9EUlZfQ0tfUEROX1NISUZUCQkJCTB4MgorI2RlZmluZSBSR19TUEtfQ0tfUEROX01BU0sJCQkJCTB4MQorI2RlZmluZSBSR19TUEtfQ0tfUEROX1NISUZUCQkJCQkweDEKKyNkZWZpbmUgUkdfUFdNT0NfQ0tfUEROX01BU0sJCQkJMHgxCisjZGVmaW5lIFJHX1BXTU9DX0NLX1BETl9TSElGVAkJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCisvLyAoMHgxNikgQ0NfQ1RMMSAoUlcpICAgICAgICAgICAgICAJCQorI2RlZmluZSBPQ19HRUFSX0JWQUxJRF9ERVRfTUFTSwkJCQkweDMJCisjZGVmaW5lIE9DX0dFQVJfQlZBTElEX0RFVF9TSElGVAkJCTB4NgorI2RlZmluZSBPQ19HRUFSX1ZCQVRPTl9VTkRFVF9NQVNLCQkJMHgzCisjZGVmaW5lIE9DX0dFQVJfVkJBVE9OX1VOREVUX1NISUZUCQkJMHg0CisjZGVmaW5lIE9DX0dFQVJfTERPX01BU0sJCQkJCTB4MworI2RlZmluZSBPQ19HRUFSX0xET19TSElGVAkJCQkJMHgwCisKKy8vICgweDE3KSBJTlQyX1JTViAoUlcpCisjZGVmaW5lIFJHX0lOVF9SU1ZfTUFTSwkJCQkJCTB4MUYJCisjZGVmaW5lIFJHX0lOVF9SU1ZfU0hJRlQJCQkJCTB4MworI2RlZmluZSBQT0xBUklUWV9CVkFMSURfREVUX01BU0sJCQkweDEKKyNkZWZpbmUgUE9MQVJJVFlfQlZBTElEX0RFVF9TSElGVAkJCTB4MgorI2RlZmluZSBQT0xBUklUWV9WQkFUT05fVU5ERVRfTUFTSwkJCTB4MQorI2RlZmluZSBQT0xBUklUWV9WQkFUT05fVU5ERVRfU0hJRlQJCQkweDEKKyNkZWZpbmUgUE9MQVJJVFlfTUFTSwkJCQkJCTB4MQkKKyNkZWZpbmUgUE9MQVJJVFlfU0hJRlQJCQkJCQkweDAKKworLy8gKDB4MTgpIE9DX1BXTUNUTDEgKFJXKQorI2RlZmluZSBWUEFfT0NfV05EX01BU0sJCQkJCQkweDMJCisjZGVmaW5lIFZQQV9PQ19XTkRfU0hJRlQJCQkJCTB4NgorI2RlZmluZSBWUEFfT0NfVEhEX01BU0sJCQkJCQkweDMJCisjZGVmaW5lIFZQQV9PQ19USERfU0hJRlQJCQkJCTB4NAorI2RlZmluZSBWUkYxOF9PQ19XTkRfTUFTSwkJCQkJMHgzCQorI2RlZmluZSBWUkYxOF9PQ19XTkRfU0hJRlQJCQkJCTB4MgorI2RlZmluZSBWUkYxOF9PQ19USERfTUFTSwkJCQkJMHgzCQorI2RlZmluZSBWUkYxOF9PQ19USERfU0hJRlQJCQkJCTB4MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQkKKy8vICgweDIyKSBGTEFTSF9DT04wIChSVykgICAJCQkJCisjZGVmaW5lIEZMQVNIX1JTVjBfTUFTSwkJCQkJCTB4NwkKKyNkZWZpbmUgRkxBU0hfUlNWMF9TSElGVAkJCQkJMHg1CisjZGVmaW5lIEZMQVNIX0RJTV9EVVRZX01BU0sJCQkJCTB4MUYJCisjZGVmaW5lIEZMQVNIX0RJTV9EVVRZX1NISUZUCQkJCTB4MAorCisvLyAoMHgyMykgRkxBU0hfQ09OMSAoUlcpCisjZGVmaW5lIEZMQVNIX1RIRVJfU0hETl9FTl9NQVNLCQkJCTB4MQkKKyNkZWZpbmUgRkxBU0hfVEhFUl9TSEROX0VOX1NISUZUCQkJMHgxCisjZGVmaW5lIEZMQVNIX0VOX01BU0sJCQkJCQkweDEKKyNkZWZpbmUgRkxBU0hfRU5fU0hJRlQJCQkJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCisvLyAoMHgyNCkgRkxBU0hfQ09OMiAoUlcpICAgICAgICAgICAJCQorI2RlZmluZSBGTEFTSF9ESU1fRElWX01BU0sJCQkJCTB4RkYJCisjZGVmaW5lIEZMQVNIX0RJTV9ESVZfU0hJRlQJCQkJCTB4MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQkKKy8vICgweDI1KSBGTEFTSF9DT04zIChSVykgICAJCQkJCisjZGVmaW5lIEZMQVNIX1JTVjFfTUFTSwkJCQkJCTB4MUYJCQkKKyNkZWZpbmUgRkxBU0hfUlNWMV9TSElGVAkJCQkJMHgzCisjZGVmaW5lIEZMQVNIX1NFTF9NQVNLCQkJCQkJMHg3CQorI2RlZmluZSBGTEFTSF9TRUxfU0hJRlQJCQkJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCisvLyAoMHgyNikgRkxBU0hfQ09ONCAoUlcpICAgICAgICAgICAJCQorI2RlZmluZSBGTEFTSF9TRlNUUkVOX01BU0sJCQkJCTB4MQkKKyNkZWZpbmUgRkxBU0hfU0ZTVFJFTl9TSElGVAkJCQkJMHg3CisjZGVmaW5lIEZMQVNIX1NGU1RSX01BU0sJCQkJCTB4MwkKKyNkZWZpbmUgRkxBU0hfU0ZTVFJfU0hJRlQJCQkJCTB4NAorI2RlZmluZSBGTEFTSF9NT0RFX01BU0sJCQkJCQkweDEgCQkKKyNkZWZpbmUgRkxBU0hfTU9ERV9TSElGVAkJCQkJMHgwCisKKy8vICgweDI3KSBLUExFRF9DT04wIChSVykKKyNkZWZpbmUgS1BMRURfUlNWMF9NQVNLCQkJCQkJMHg3CQorI2RlZmluZSBLUExFRF9SU1YwX1NISUZUCQkJCQkweDUKKyNkZWZpbmUgS1BMRURfRElNX0RVVFlfTUFTSwkJCQkJMHgxRgorI2RlZmluZSBLUExFRF9ESU1fRFVUWV9TSElGVAkJCQkweDAKKworLy8gKDB4MjgpIEtQTEVEX0NPTjEgKFJXKQorI2RlZmluZSBLUExFRF9USEVSX1NIRE5fRU5fTUFTSwkJCQkweDEJCisjZGVmaW5lIEtQTEVEX1RIRVJfU0hETl9FTl9TSElGVAkJCTB4MQorI2RlZmluZSBLUExFRF9FTl9NQVNLCQkJCQkJMHgxCQorI2RlZmluZSBLUExFRF9FTl9TSElGVAkJCQkJCTB4MAorCisvLyAoMHgyOSkgS1BMRURfQ09OMiAoUlcpCisjZGVmaW5lIEtQTEVEX0RJTV9ESVZfTUFTSwkJCQkJMHhGRgkKKyNkZWZpbmUgS1BMRURfRElNX0RJVl9TSElGVAkJCQkJMHgwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCQorLy8gKDB4MkEpIEtQTEVEX0NPTjMgKFJXKSAgIAkJCQkKKyNkZWZpbmUgS1BMRURfUlNWMV9NQVNLCQkJCQkJMHgxRgkKKyNkZWZpbmUgS1BMRURfUlNWMV9TSElGVAkJCQkJMHgzCisjZGVmaW5lIEtQTEVEX1NFTF9NQVNLCQkJCQkJMHg3CQorI2RlZmluZSBLUExFRF9TRUxfU0hJRlQJCQkJCQkweDAKKworLy8gKDB4MkIpIEtQTEVEX0NPTjQgKFJXKQorI2RlZmluZSBLUExFRF9TRlNUUkVOX01BU0sJCQkJCTB4MQkKKyNkZWZpbmUgS1BMRURfU0ZTVFJFTl9TSElGVAkJCQkJMHg3CisjZGVmaW5lIEtQTEVEX1NGU1RSX01BU0sJCQkJCTB4MwkKKyNkZWZpbmUgS1BMRURfU0ZTVFJfU0hJRlQJCQkJCTB4NAorI2RlZmluZSBLUExFRF9NT0RFX01BU0sJCQkJCQkweDEJCisjZGVmaW5lIEtQTEVEX01PREVfU0hJRlQJCQkJCTB4MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQkKKy8vICgweDJDKSBJU0lOS1NfQ09OMCAoUlcpCisjZGVmaW5lIElTSU5LX1JTVjBfTUFTSwkJCQkJCTB4NworI2RlZmluZSBJU0lOS19SU1YwX1NISUZUCQkJCQkweDUKKyNkZWZpbmUgSVNJTktfRElNMF9EVVRZX01BU0sJCQkJMHhGCQorI2RlZmluZSBJU0lOS19ESU0wX0RVVFlfU0hJRlQJCQkJMHgwCisKKy8vICgweDJEKSBJU0lOS1NfQ09OMSAoUlcpCisjZGVmaW5lIElTSU5LX0RJTTBfRlNFTF9NQVNLCQkJCTB4MUYKKyNkZWZpbmUgSVNJTktfRElNMF9GU0VMX1NISUZUCQkJCTB4MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQkKKy8vICgweDJFKSBJU0lOS1NfQ09OMiAoUlcpICAgICAgCQkJCisjZGVmaW5lIElTSU5LX1JTVjFfTUFTSwkJCQkJCTB4NwkKKyNkZWZpbmUgSVNJTktfUlNWMV9TSElGVAkJCQkJMHg1CisjZGVmaW5lIElTSU5LX0RJTTFfRFVUWV9NQVNLCQkJCTB4MUYKKyNkZWZpbmUgSVNJTktfRElNMV9EVVRZX1NISUZUCQkJCTB4MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQkKKy8vICgweDJGKSBJU0lOS1NfQ09OMyAoUlcpICAgICAgCQkJCisjZGVmaW5lIElTSU5LX0RJTTFfRlNFTF9NQVNLCQkJCTB4MUYKKyNkZWZpbmUgSVNJTktfRElNMV9GU0VMX1NISUZUCQkJCTB4MAorCisvLyAoMHgzMCkgSVNJTktTX0NPTjQgKFJXKQorI2RlZmluZSBJU0lOS19SU1YyX01BU0sJCQkJCQkweDcJCisjZGVmaW5lIElTSU5LX1JTVjJfU0hJRlQJCQkJCTB4NQorI2RlZmluZSBJU0lOS19ESU0yX0RVVFlfTUFTSwkJCQkweDFGCQorI2RlZmluZSBJU0lOS19ESU0yX0RVVFlfU0hJRlQJCQkJMHgwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQorLy8gKDB4MzEpIElTSU5LU19DT041IChSVykgICAgICAJCQkKKyNkZWZpbmUgSVNJTktfRElNMl9GU0VMX01BU0sJCQkJMHgxRgorI2RlZmluZSBJU0lOS19ESU0yX0ZTRUxfU0hJRlQJCQkJMHgwCisKKy8vICgweDMyKSBJU0lOS1NfQ09ONiAoUlcpCisjZGVmaW5lIElTSU5LX1JTVjNfTUFTSwkJCQkJCTB4MwkKKyNkZWZpbmUgSVNJTktfUlNWM19TSElGVAkJCQkJMHg2CisjZGVmaW5lIElTSU5LU19DSDVfRU5fTUFTSwkJCQkJMHgxCQorI2RlZmluZSBJU0lOS1NfQ0g1X0VOX1NISUZUCQkJCQkweDUKKyNkZWZpbmUgSVNJTktTX0NINF9FTl9NQVNLCQkJCQkweDEJCisjZGVmaW5lIElTSU5LU19DSDRfRU5fU0hJRlQJCQkJCTB4NAorI2RlZmluZSBJU0lOS1NfQ0gzX0VOX01BU0sJCQkJCTB4MQkKKyNkZWZpbmUgSVNJTktTX0NIM19FTl9TSElGVAkJCQkJMHgzCisjZGVmaW5lIElTSU5LU19DSDJfRU5fTUFTSwkJCQkJMHgxCQorI2RlZmluZSBJU0lOS1NfQ0gyX0VOX1NISUZUCQkJCQkweDIKKyNkZWZpbmUgSVNJTktTX0NIMV9FTl9NQVNLCQkJCQkweDEJCisjZGVmaW5lIElTSU5LU19DSDFfRU5fU0hJRlQJCQkJCTB4MQorI2RlZmluZSBJU0lOS1NfQ0gwX0VOX01BU0sJCQkJCTB4MQorI2RlZmluZSBJU0lOS1NfQ0gwX0VOX1NISUZUCQkJCQkweDAKKworLy8gKDB4MzMpIElTSU5LU19DT043IChSVykKKyNkZWZpbmUgSVNJTktfUlNWNF9NQVNLCQkJCQkJMHgzCQorI2RlZmluZSBJU0lOS19SU1Y0X1NISUZUCQkJCQkweDYKKyNkZWZpbmUgSVNJTktTX0NINV9DQUJDX0VOX01BU0sJCQkJMHgxCQorI2RlZmluZSBJU0lOS1NfQ0g1X0NBQkNfRU5fU0hJRlQJCQkweDUKKyNkZWZpbmUgSVNJTktTX0NINF9DQUJDX0VOX01BU0sJCQkJMHgxIAorI2RlZmluZSBJU0lOS1NfQ0g0X0NBQkNfRU5fU0hJRlQJCQkweDQKKyNkZWZpbmUgSVNJTktTX0NIM19DQUJDX0VOX01BU0sJCQkJMHgxCQorI2RlZmluZSBJU0lOS1NfQ0gzX0NBQkNfRU5fU0hJRlQJCQkweDMKKyNkZWZpbmUgSVNJTktTX0NIMl9DQUJDX0VOX01BU0sJCQkJMHgxCQorI2RlZmluZSBJU0lOS1NfQ0gyX0NBQkNfRU5fU0hJRlQJCQkweDIKKyNkZWZpbmUgSVNJTktTX0NIMV9DQUJDX0VOX01BU0sJCQkJMHgxCQorI2RlZmluZSBJU0lOS1NfQ0gxX0NBQkNfRU5fU0hJRlQJCQkweDEKKyNkZWZpbmUgSVNJTktTX0NIMF9DQUJDX0VOX01BU0sJCQkJMHgxCQorI2RlZmluZSBJU0lOS1NfQ0gwX0NBQkNfRU5fU0hJRlQJCQkweDAKKworLy8gKDB4MzQpIElTSU5LU19DT044IChSVykKKyNkZWZpbmUgSVNJTktTX0NIMF9TVEVQX01BU0sJCQkJMHg3CQorI2RlZmluZSBJU0lOS1NfQ0gwX1NURVBfU0hJRlQJCQkJMHg0CisjZGVmaW5lIElTSU5LU19DSDBfTU9ERV9NQVNLCQkJCTB4MwkKKyNkZWZpbmUgSVNJTktTX0NIMF9NT0RFX1NISUZUCQkJCTB4MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQkKKy8vICgweDM1KSBJU0lOS1NfQ09OOSAoUlcpICAgICAgCQkJCisjZGVmaW5lIElTSU5LU19DSDFfU1RFUF9NQVNLCQkJCTB4NworI2RlZmluZSBJU0lOS1NfQ0gxX1NURVBfU0hJRlQJCQkJMHg0CisjZGVmaW5lIElTSU5LU19DSDFfTU9ERV9NQVNLCQkJCTB4MwkKKyNkZWZpbmUgSVNJTktTX0NIMV9NT0RFX1NISUZUCQkJCTB4MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQkKKy8vICgweDM2KSBJU0lOS1NfQ09OMTAgKFJXKSAgICAgCQkJCisjZGVmaW5lIElTSU5LU19DSDJfU1RFUF9NQVNLCQkJCTB4NwkKKyNkZWZpbmUgSVNJTktTX0NIMl9TVEVQX1NISUZUCQkJCTB4NAorI2RlZmluZSBJU0lOS1NfQ0gyX01PREVfTUFTSwkJCQkweDMJCisjZGVmaW5lIElTSU5LU19DSDJfTU9ERV9TSElGVAkJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCisvLyAoMHgzNykgSVNJTktTX0NPTjExIChSVykgICAgIAkJCQorI2RlZmluZSBJU0lOS1NfQ0gzX1NURVBfTUFTSwkJCQkweDcKKyNkZWZpbmUgSVNJTktTX0NIM19TVEVQX1NISUZUCQkJCTB4NAorI2RlZmluZSBJU0lOS1NfQ0gzX01PREVfTUFTSwkJCQkweDMJCisjZGVmaW5lIElTSU5LU19DSDNfTU9ERV9TSElGVAkJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCisvLyAoMHgzOCkgSVNJTktTX0NPTjEyIChSVykgICAgIAkJCQorI2RlZmluZSBJU0lOS1NfQ0g0X1NURVBfTUFTSwkJCQkweDcKKyNkZWZpbmUgSVNJTktTX0NINF9TVEVQX1NISUZUCQkJCTB4NAorI2RlZmluZSBJU0lOS1NfQ0g0X01PREVfTUFTSwkJCQkweDMJCisjZGVmaW5lIElTSU5LU19DSDRfTU9ERV9TSElGVAkJCQkweDAKKworLy8gKDB4MzkpIElTSU5LU19DT04xMyAoUlcpCisjZGVmaW5lIElTSU5LU19DSDVfU1RFUF9NQVNLCQkJCTB4NworI2RlZmluZSBJU0lOS1NfQ0g1X1NURVBfU0hJRlQJCQkJMHg0CisjZGVmaW5lIElTSU5LU19DSDVfTU9ERV9NQVNLCQkJCTB4MwkKKyNkZWZpbmUgSVNJTktTX0NINV9NT0RFX1NISUZUCQkJCTB4MAorCisvLyAoMHgzQSkgSVNJTktTX0NPTjE0IChSVykKKyNkZWZpbmUgSUJJQVNfVFJJTV9FTl9NQVNLCQkJCQkweDEKKyNkZWZpbmUgSUJJQVNfVFJJTV9FTl9TSElGVAkJCQkJMHg2CisjZGVmaW5lIElTSU5LU19WUkVGX0NBTF9NQVNLCQkJCTB4MUYKKyNkZWZpbmUgSVNJTktTX1ZSRUZfQ0FMX1NISUZUCQkJCTB4MAorCisvLyAoMHgzQikgSVNJTktTX0NPTjE1IChSVykKKyNkZWZpbmUgSVNJTktfUlNWNV9NQVNLCQkJCQkJMHhGCQorI2RlZmluZSBJU0lOS19SU1Y1X1NISUZUCQkJCQkweDQKKyNkZWZpbmUgSVNJTktTX1JTVl9NQVNLCQkJCQkJMHhGCQorI2RlZmluZSBJU0lOS1NfUlNWX1NISUZUCQkJCQkweDAKKworLy8gKDB4M0MpIElTSU5LU19DT04xNiAoUlcpCisjZGVmaW5lIERSVl9SU1YwX01BU0sJCQkJCQkweEZGCQorI2RlZmluZSBEUlZfUlNWMF9TSElGVAkJCQkJCTB4MAorCisvLyAoMHgzRikgQk9PU1RfQ09OMCAoUlcpCisjZGVmaW5lIEJPT1NUX0lTSU5LX0hXX1NFTF9NQVNLCQkJCTB4MQkKKyNkZWZpbmUgQk9PU1RfSVNJTktfSFdfU0VMX1NISUZUCQkJMHg3CisjZGVmaW5lIEJPT1NUX01PREVfTUFTSwkJCQkJCTB4MwkKKyNkZWZpbmUgQk9PU1RfTU9ERV9TSElGVAkJCQkJMHg0CisjZGVmaW5lIEJPT1NUX0NBQkNfRU5fTUFTSwkJCQkJMHgxCQorI2RlZmluZSBCT09TVF9DQUJDX0VOX1NISUZUCQkJCQkweDIKKyNkZWZpbmUgQk9PU1RfRU5fTUFTSwkJCQkJCTB4MQkKKyNkZWZpbmUgQk9PU1RfRU5fU0hJRlQJCQkJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQkJCisvLyAoMHg0MCkgQk9PU1RfQ09OMSAoUlcpICAgCQkJCQorI2RlZmluZSBCT09TVF9TUl9OTU9TX01BU0sJCQkJCTB4MwkKKyNkZWZpbmUgQk9PU1RfU1JfTk1PU19TSElGVAkJCQkJMHg2CisjZGVmaW5lIEJPT1NUX1ZSU0VMX01BU0sJCQkJCTB4RgkKKyNkZWZpbmUgQk9PU1RfVlJTRUxfU0hJRlQJCQkJCTB4MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQkKKy8vICgweDQxKSBCT09TVF9DT04yIChSVykKKyNkZWZpbmUgQk9PU1RfUkNfTUFTSwkJCQkJCTB4MwkKKyNkZWZpbmUgQk9PU1RfUkNfU0hJRlQJCQkJCQkweDQKKyNkZWZpbmUgQk9PU1RfQ1NfTUFTSwkJCQkJCTB4MwkKKyNkZWZpbmUgQk9PU1RfQ1NfU0hJRlQJCQkJCQkweDIKKyNkZWZpbmUgQk9PU1RfQ0NfTUFTSwkJCQkJCTB4MwkKKyNkZWZpbmUgQk9PU1RfQ0NfU0hJRlQJCQkJCQkweDAKKworLy8gKDB4NDIpIEJPT1NUX0NPTjMgKFJXKQorI2RlZmluZSBCT09TVF9TTFBfTUFTSwkJCQkJCTB4MworI2RlZmluZSBCT09TVF9TTFBfU0hJRlQJCQkJCQkweDIKKyNkZWZpbmUgQk9PU1RfQ0xfTUFTSwkJCQkJCTB4MwkKKyNkZWZpbmUgQk9PU1RfQ0xfU0hJRlQJCQkJCQkweDAKKworLy8gKDB4NDMpIEJPT1NUX0NPTjQgKFJXKQorI2RlZmluZSBCT09TVF9TU19NQVNLCQkJCQkJMHg3CQorI2RlZmluZSBCT09TVF9TU19TSElGVAkJCQkJCTB4NAorI2RlZmluZSBCT09TVF9SU1ZfTUFTSwkJCQkJCTB4RgkKKyNkZWZpbmUgQk9PU1RfUlNWX1NISUZUCQkJCQkJMHgwCisKKy8vICgweDQ2KSBTUEtfQ09OMCAoUlcpCisjZGVmaW5lIFNQS19USEVSX1NIRE5fTF9FTl9NQVNLCQkJCTB4MQorI2RlZmluZSBTUEtfVEhFUl9TSEROX0xfRU5fU0hJRlQJCQkweDYKKyNkZWZpbmUgU1BLX1RSSU1fRU5fTF9NQVNLCQkJCQkweDEJCisjZGVmaW5lIFNQS19UUklNX0VOX0xfU0hJRlQJCQkJCTB4NAorI2RlZmluZSBTUEtNT0RFX0xfTUFTSwkJCQkJCTB4MQorI2RlZmluZSBTUEtNT0RFX0xfU0hJRlQJCQkJCQkweDIKKyNkZWZpbmUgU1BLX0VOX0xfTUFTSwkJCQkJCTB4MQkKKyNkZWZpbmUgU1BLX0VOX0xfU0hJRlQJCQkJCQkweDAKKworLy8gKDB4NDcpIFNQS19DT04xIChSVykKKyNkZWZpbmUgU1BLX09DX0VOX0xfTUFTSwkJCQkJMHgxCisjZGVmaW5lIFNQS19PQ19FTl9MX1NISUZUCQkJCQkweDcKKyNkZWZpbmUgU1BLQUJfT0NfRU5fTF9NQVNLCQkJCQkweDEKKyNkZWZpbmUgU1BLQUJfT0NfRU5fTF9TSElGVAkJCQkJMHg2CisjZGVmaW5lIFNQS19PQ19TSEROX0RMX01BU0sJCQkJCTB4MQkKKyNkZWZpbmUgU1BLX09DX1NIRE5fRExfU0hJRlQJCQkJMHg0CisjZGVmaW5lIFNQS19WT0xfTF9NQVNLCQkJCQkJMHg3CisjZGVmaW5lIFNQS19WT0xfTF9TSElGVAkJCQkJCTB4MAorICAgICAgICAgICAgICAgICAgICAgICAgCQkJCQkKKy8vICgweDQ4KSBTUEtfQ09OMiAoUk8vUlcpICAgICAgCQkJCisjZGVmaW5lIFNQS19SU1YwX01BU0sJCQkJCQkweDNGCQorI2RlZmluZSBTUEtfUlNWMF9TSElGVAkJCQkJCTB4MgorI2RlZmluZSBTUEtfQUJfT0NfTF9ERUdfTUFTSwkJCQkweDEJCisjZGVmaW5lIFNQS19BQl9PQ19MX0RFR19TSElGVAkJCQkweDEKKyNkZWZpbmUgU1BLX0RfT0NfTF9ERUdfTUFTSwkJCQkJMHgxCQorI2RlZmluZSBTUEtfRF9PQ19MX0RFR19TSElGVAkJCQkweDAKKworLy8gKDB4NDkpIFNQS19DT04zIChSTy9SVykKKyNkZWZpbmUgU1BLX09GRlNFVF9MX09WX01BU0sJCQkJMHgxCQorI2RlZmluZSBTUEtfT0ZGU0VUX0xfT1ZfU0hJRlQJCQkJMHg3CisjZGVmaW5lIFNQS19PRkZTRVRfTF9NT0RFX01BU0sJCQkJMHgxCQorI2RlZmluZSBTUEtfT0ZGU0VUX0xfTU9ERV9TSElGVAkJCQkweDYKKyNkZWZpbmUgU1BLX0xFQURfTF9TV19NQVNLCQkJCQkweDEJCisjZGVmaW5lIFNQS19MRUFEX0xfU1dfU0hJRlQJCQkJCTB4NQorI2RlZmluZSBTUEtfT0ZGU0VUX0xfU1dfTUFTSwkJCQkweDFGCQorI2RlZmluZSBTUEtfT0ZGU0VUX0xfU1dfU0hJRlQJCQkJMHgwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQorLy8gKDB4NEEpIFNQS19DT040IChSTykKKyNkZWZpbmUgU1BLX1RSSU1fRE9ORV9MX01BU0sJCQkJMHgxCQorI2RlZmluZSBTUEtfVFJJTV9ET05FX0xfU0hJRlQJCQkJMHg3CisjZGVmaW5lIFNQS19MRUFEX0xfRkxBR19NQVNLCQkJCTB4MQkKKyNkZWZpbmUgU1BLX0xFQURfTF9GTEFHX1NISUZUCQkJCTB4NgorI2RlZmluZSBTUEtfTEVBRF9MX0ZMQUdfREVHX01BU0sJCQkweDEKKyNkZWZpbmUgU1BLX0xFQURfTF9GTEFHX0RFR19TSElGVAkJCTB4NQorI2RlZmluZSBTUEtfT0ZGU0VUX0xfTUFTSwkJCQkJMHgxRgkKKyNkZWZpbmUgU1BLX09GRlNFVF9MX1NISUZUCQkJCQkweDAKKworLy8gKDB4NEIpIFNQS19DT041IChSVykKKyNkZWZpbmUgU1BLX1JTVjFfTUFTSwkJCQkJCTB4MQkKKyNkZWZpbmUgU1BLX1JTVjFfU0hJRlQJCQkJCQkweDcKKyNkZWZpbmUgU1BLUkNWX0VOX0xfTUFTSwkJCQkJMHgxCQorI2RlZmluZSBTUEtSQ1ZfRU5fTF9TSElGVAkJCQkJMHg2CisjZGVmaW5lIFNQS0FCX09CSUFTX0xfTUFTSwkJCQkJMHgzCisjZGVmaW5lIFNQS0FCX09CSUFTX0xfU0hJRlQJCQkJCTB4NAorI2RlZmluZSBTUEtfU0xFV19MX01BU0sJCQkJCQkweDMJCisjZGVmaW5lIFNQS19TTEVXX0xfU0hJRlQJCQkJCTB4MgorI2RlZmluZSBTUEtfRk9SQ0VfRU5fTF9NQVNLCQkJCQkweDEJCisjZGVmaW5lIFNQS19GT1JDRV9FTl9MX1NISUZUCQkJCTB4MQorI2RlZmluZSBTUEtfSU5UR19SU1RfTF9NQVNLCQkJCQkweDEKKyNkZWZpbmUgU1BLX0lOVEdfUlNUX0xfU0hJRlQJCQkJMHgwCisKKy8vICgweDRDKSBTUEtfQ09ONiAoUlcpCisjZGVmaW5lIFNQS19USEVSX1NIRE5fUl9FTl9NQVNLCQkJCTB4MQorI2RlZmluZSBTUEtfVEhFUl9TSEROX1JfRU5fU0hJRlQJCQkweDYKKyNkZWZpbmUgU1BLX1RSSU1fRU5fUl9NQVNLCQkJCQkweDEKKyNkZWZpbmUgU1BLX1RSSU1fRU5fUl9TSElGVAkJCQkJMHg0CisjZGVmaW5lIFNQS01PREVfUl9NQVNLCQkJCQkJMHgxCQorI2RlZmluZSBTUEtNT0RFX1JfU0hJRlQJCQkJCQkweDIKKyNkZWZpbmUgU1BLX0VOX1JfTUFTSwkJCQkJCTB4MQorI2RlZmluZSBTUEtfRU5fUl9TSElGVAkJCQkJCTB4MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkKKy8vICgweDREKSBTUEtfQ09ONyAoUlcpICAgICAgICAgICAgIAkJCisjZGVmaW5lIFNQS19PQ19FTl9SX01BU0sJCQkJCTB4MQkKKyNkZWZpbmUgU1BLX09DX0VOX1JfU0hJRlQJCQkJCTB4NworI2RlZmluZSBTUEtBQl9PQ19FTl9SX01BU0sJCQkJCTB4MQkKKyNkZWZpbmUgU1BLQUJfT0NfRU5fUl9TSElGVAkJCQkJMHg2CisjZGVmaW5lIFNQS19PQ19TSEROX0RSX01BU0sJCQkJCTB4MQorI2RlZmluZSBTUEtfT0NfU0hETl9EUl9TSElGVAkJCQkweDQKKyNkZWZpbmUgU1BLX1ZPTF9SX01BU0sJCQkJCQkweDcKKyNkZWZpbmUgU1BLX1ZPTF9SX1NISUZUCQkJCQkJMHgwCisKKy8vICgweDRFKSBTUEtfQ09OOCAoUk8vUlcpCisjZGVmaW5lIFNQS19SU1YyX01BU0sJCQkJCQkweDNGCQorI2RlZmluZSBTUEtfUlNWMl9TSElGVAkJCQkJCTB4MgorI2RlZmluZSBTUEtfQUJfT0NfUl9ERUdfTUFTSwkJCQkweDEKKyNkZWZpbmUgU1BLX0FCX09DX1JfREVHX1NISUZUCQkJCTB4MQorI2RlZmluZSBTUEtfRF9PQ19SX0RFR19NQVNLCQkJCQkweDEKKyNkZWZpbmUgU1BLX0RfT0NfUl9ERUdfU0hJRlQJCQkJMHgwCisKKy8vICgweDRGKSBTUEtfQ09OOSAoUk8vUlcpCisjZGVmaW5lIFNQS19PRkZTRVRfUl9PVl9NQVNLCQkJCTB4MQorI2RlZmluZSBTUEtfT0ZGU0VUX1JfT1ZfU0hJRlQJCQkJMHg3CisjZGVmaW5lIFNQS19PRkZTRVRfUl9NT0RFX01BU0sJCQkJMHgxCisjZGVmaW5lIFNQS19PRkZTRVRfUl9NT0RFX1NISUZUCQkJCTB4NgorI2RlZmluZSBTUEtfTEVBRF9SX1NXX01BU0sJCQkJCTB4MQkKKyNkZWZpbmUgU1BLX0xFQURfUl9TV19TSElGVAkJCQkJMHg1CisjZGVmaW5lIFNQS19PRkZTRVRfUl9TV19NQVNLCQkJCTB4MUYJCisjZGVmaW5lIFNQS19PRkZTRVRfUl9TV19TSElGVAkJCQkweDAKKworLy8gKDB4NTApIFNQS19DT04xMCAoUk8pCisjZGVmaW5lIFNQS19UUklNX0RPTkVfUl9NQVNLCQkJCTB4MQkKKyNkZWZpbmUgU1BLX1RSSU1fRE9ORV9SX1NISUZUCQkJCTB4NworI2RlZmluZSBTUEtfTEVBRF9SX0ZMQUdfTUFTSwkJCQkweDEJCisjZGVmaW5lIFNQS19MRUFEX1JfRkxBR19TSElGVAkJCQkweDYKKyNkZWZpbmUgU1BLX0xFQURfUl9GTEFHX0RFR19NQVNLCQkJMHgxCisjZGVmaW5lIFNQS19MRUFEX1JfRkxBR19ERUdfU0hJRlQJCQkweDUKKyNkZWZpbmUgU1BLX09GRlNFVF9SX01BU0sJCQkJCTB4MUYJCisjZGVmaW5lIFNQS19PRkZTRVRfUl9TSElGVAkJCQkJMHgwCisKKy8vICgweDUxKSBTUEtfQ09OMTEgKFJXKQorI2RlZmluZSBTUEtfUlNWM19NQVNLCQkJCQkJMHgxCQorI2RlZmluZSBTUEtfUlNWM19TSElGVAkJCQkJCTB4NworI2RlZmluZSBTUEtSQ1ZfRU5fUl9NQVNLCQkJCQkweDEKKyNkZWZpbmUgU1BLUkNWX0VOX1JfU0hJRlQJCQkJCTB4NgorI2RlZmluZSBTUEtBQl9PQklBU19SX01BU0sJCQkJCTB4MwkKKyNkZWZpbmUgU1BLQUJfT0JJQVNfUl9TSElGVAkJCQkJMHg0CisjZGVmaW5lIFNQS19TTEVXX1JfTUFTSwkJCQkJCTB4MwkKKyNkZWZpbmUgU1BLX1NMRVdfUl9TSElGVAkJCQkJMHgyCisjZGVmaW5lIFNQS19GT1JDRV9FTl9SX01BU0sJCQkJCTB4MQkKKyNkZWZpbmUgU1BLX0ZPUkNFX0VOX1JfU0hJRlQJCQkJMHgxCisjZGVmaW5lIFNQS19JTlRHX1JTVF9SX01BU0sJCQkJCTB4MQorI2RlZmluZSBTUEtfSU5UR19SU1RfUl9TSElGVAkJCQkweDAKKworLy8gKDB4NTIpIFNQS19DT04xMiAoUlcpCisjZGVmaW5lIFNQS19PQ19BVVRPRkZfTUFTSwkJCQkJMHgxCQorI2RlZmluZSBTUEtfT0NfQVVUT0ZGX1NISUZUCQkJCQkweDMKKyNkZWZpbmUgU1BLX09DX0RHTEhfTUFTSwkJCQkJMHgzCQorI2RlZmluZSBTUEtfT0NfREdMSF9TSElGVAkJCQkJMHgxCisjZGVmaW5lIFNQS19PQ1RIX0RfTUFTSwkJCQkJCTB4MQkKKyNkZWZpbmUgU1BLX09DVEhfRF9TSElGVAkJCQkJMHgwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCQorLy8gKDB4NTMpIFNQS19DT04xMyAoUlcpCisjZGVmaW5lIFNQS19PQ19XTkRfTUFTSwkJCQkJCTB4MworI2RlZmluZSBTUEtfT0NfV05EX1NISUZUCQkJCQkweDQKKyNkZWZpbmUgU1BLX09DX1RIRF9NQVNLCQkJCQkJMHgzCisjZGVmaW5lIFNQS19PQ19USERfU0hJRlQJCQkJCTB4MAorCisvLyAoMHg1NCkgU1BLX0NPTjE0IChSVykKKyNkZWZpbmUgU1BLX1RSSU1fRElWX01BU0sJCQkJCTB4MworI2RlZmluZSBTUEtfVFJJTV9ESVZfU0hJRlQJCQkJCTB4NAorI2RlZmluZSBTUEtfVFJJTV9ERUdfTUFTSwkJCQkJMHgzCQorI2RlZmluZSBTUEtfVFJJTV9ERUdfU0hJRlQJCQkJCTB4MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQkKKy8vICgweDU1KSBTUEtfQ09OMTUgKFJXKSAgICAJCQkJCisjZGVmaW5lIFNQS0FCX09CSUFTX01BU0sJCQkJCTB4MwkKKyNkZWZpbmUgU1BLQUJfT0JJQVNfU0hJRlQJCQkJCTB4NgorI2RlZmluZSBTUEtBQl9GQl9BVFRfTUFTSwkJCQkJMHgzCisjZGVmaW5lIFNQS0FCX0ZCX0FUVF9TSElGVAkJCQkJMHgyCisjZGVmaW5lIFNQS0FCX09WRFJWX01BU0sJCQkJCTB4MQkKKyNkZWZpbmUgU1BLQUJfT1ZEUlZfU0hJRlQJCQkJCTB4MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQkKKy8vICgweDU2KSBTUEtfQ09OMTYgKFJXKSAgICAJCQkJCisjZGVmaW5lIFNQS19GQlJDX0VOX01BU0sJCQkJCTB4MQkKKyNkZWZpbmUgU1BLX0ZCUkNfRU5fU0hJRlQJCQkJCTB4NgorI2RlZmluZSBTUEtfSUJJQVNfU0VMX01BU0sJCQkJCTB4MwkKKyNkZWZpbmUgU1BLX0lCSUFTX1NFTF9TSElGVAkJCQkJMHg0CisjZGVmaW5lIFNQS19WQ01fSUJTRUxfTUFTSwkJCQkJMHgxCQorI2RlZmluZSBTUEtfVkNNX0lCU0VMX1NISUZUCQkJCQkweDMKKyNkZWZpbmUgU1BLX1ZDTV9TRUxfTUFTSwkJCQkJMHgxCisjZGVmaW5lIFNQS19WQ01fU0VMX1NISUZUCQkJCQkweDIKKyNkZWZpbmUgU1BLX0VOX1ZJRVdfQ0xLX01BU0sJCQkJMHgxCQorI2RlZmluZSBTUEtfRU5fVklFV19DTEtfU0hJRlQJCQkJMHgxCisjZGVmaW5lIFNQS19FTl9WSUVXX1ZDTV9NQVNLCQkJCTB4MQkKKyNkZWZpbmUgU1BLX0VOX1ZJRVdfVkNNX1NISUZUCQkJCTB4MAorCisvLyAoMHg1NykgU1BLX0NPTjE3IChSVykKKyNkZWZpbmUgU1BLX0NDT0RFX01BU0sJCQkJCQkweEYJCisjZGVmaW5lIFNQS19DQ09ERV9TSElGVAkJCQkJCTB4NAorI2RlZmluZSBTUEtfQlRMX1NFVF9NQVNLCQkJCQkweDMJCisjZGVmaW5lIFNQS19CVExfU0VUX1NISUZUCQkJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQkJCisvLyAoMHg1OCkgU1BLX0NPTjE4IChSVykKKyNkZWZpbmUgU1BLX1JTVl9NQVNLCQkJCQkJMHhGCisjZGVmaW5lIFNQS19SU1ZfU0hJRlQJCQkJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgIAkJCQkJCisvLyAoMHg1OSkgU1BLX0NPTjE5IChSVykJCQkJCQorI2RlZmluZSBTUEtfVEQxX01BU0sJCQkJCQkweDMKKyNkZWZpbmUgU1BLX1REMV9TSElGVAkJCQkJCTB4NAorI2RlZmluZSBTUEtfVEQyX01BU0sJCQkJCQkweDMJCisjZGVmaW5lIFNQS19URDJfU0hJRlQJCQkJCQkweDAKKworLy8gKDB4NUEpIFNQS19DT04yMCAoUlcpCisjZGVmaW5lIFNQS19ERVBPUF9FTl9MX1NXX01BU0sJCQkJMHgxCisjZGVmaW5lIFNQS19ERVBPUF9FTl9MX1NXX1NISUZUCQkJCTB4NworI2RlZmluZSBTUEtfREVQT1BfRU5fUl9TV19NQVNLCQkJCTB4MQkKKyNkZWZpbmUgU1BLX0RFUE9QX0VOX1JfU1dfU0hJRlQJCQkJMHg2CisjZGVmaW5lIFNQS01PREVfTF9TV19NQVNLCQkJCQkweDEJCQkJCisjZGVmaW5lIFNQS01PREVfTF9TV19TSElGVAkJCQkJMHg1CisjZGVmaW5lIFNQS01PREVfUl9TV19NQVNLCQkJCQkweDEJCisjZGVmaW5lIFNQS01PREVfUl9TV19TSElGVAkJCQkJMHg0CisjZGVmaW5lIFNQS19SU1RfTF9TV19NQVNLCQkJCQkweDEJCisjZGVmaW5lIFNQS19SU1RfTF9TV19TSElGVAkJCQkJMHgzCisjZGVmaW5lIFNQS19SU1RfUl9TV19NQVNLCQkJCQkweDEKKyNkZWZpbmUgU1BLX1JTVF9SX1NXX1NISUZUCQkJCQkweDIKKyNkZWZpbmUgU1BLX0VOX01PREVfTUFTSwkJCQkJMHgxCQorI2RlZmluZSBTUEtfRU5fTU9ERV9TSElGVAkJCQkJMHgwCisKKy8vICgweDVCKSBTUEtfQ09OMjEgKFJXKQorI2RlZmluZSBTUEtfVFJJTV9FTl9MX1NXX01BU0sJCQkJMHgxCisjZGVmaW5lIFNQS19UUklNX0VOX0xfU1dfU0hJRlQJCQkJMHg3CisjZGVmaW5lIFNQS19UUklNX0VOX1JfU1dfTUFTSwkJCQkweDEKKyNkZWZpbmUgU1BLX1RSSU1fRU5fUl9TV19TSElGVAkJCQkweDYKKyNkZWZpbmUgU1BLX09VVFNUR19FTl9MX1NXX01BU0sJCQkJMHgxCQorI2RlZmluZSBTUEtfT1VUU1RHX0VOX0xfU1dfU0hJRlQJCQkweDUKKyNkZWZpbmUgU1BLX09VVFNUR19FTl9SX1NXX01BU0sJCQkJMHgxCQorI2RlZmluZSBTUEtfT1VUU1RHX0VOX1JfU1dfU0hJRlQJCQkweDQKKyNkZWZpbmUgU1BLX0VOX0xfU1dfTUFTSwkJCQkJMHgxCQorI2RlZmluZSBTUEtfRU5fTF9TV19TSElGVAkJCQkJMHgzCisjZGVmaW5lIFNQS19FTl9SX1NXX01BU0sJCQkJCTB4MQkKKyNkZWZpbmUgU1BLX0VOX1JfU1dfU0hJRlQJCQkJCTB4MgorI2RlZmluZSBTUEtfVkNNX0ZBU1RfU1dfTUFTSwkJCQkweDEJCisjZGVmaW5lIFNQS19WQ01fRkFTVF9TV19TSElGVAkJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCisvLyAoMHg1QykgU1BLX0NPTjIyIChSVykgICAgICAgICAgIAkKKyNkZWZpbmUgU1BLX1RSSU1fU1RPUF9MX1NXX01BU0sJCQkJMHgxCQorI2RlZmluZSBTUEtfVFJJTV9TVE9QX0xfU1dfU0hJRlQJCQkweDEKKyNkZWZpbmUgU1BLX1RSSU1fU1RPUF9SX1NXX01BU0sJCQkJMHgxCQorI2RlZmluZSBTUEtfVFJJTV9TVE9QX1JfU1dfU0hJRlQJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQorLy8gKDB4NUYpIEFTV19DT04wIChSVykgICAgICAgICAgICAJCisjZGVmaW5lIFJHX0FOQV9TV19TRUxfTUFTSwkJCQkJMHgxCQorI2RlZmluZSBSR19BTkFfU1dfU0VMX1NISUZUCQkJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQkJCisvLyAoMHg2MCkgRkdQTExfQ09OMCAoUlcpICAgCQkJCQorI2RlZmluZSBGR1BMTF9QRElWMV9NQVNLCQkJCQkweEYJCisjZGVmaW5lIEZHUExMX1BESVYxX1NISUZUCQkJCQkweDQKKyNkZWZpbmUgRkdQTExfUERJVjFfRU5fTUFTSwkJCQkJMHgxCisjZGVmaW5lIEZHUExMX1BESVYxX0VOX1NISUZUCQkJCTB4MworI2RlZmluZSBGR1BMTF9CU19SU1RfTUFTSwkJCQkJMHgxCisjZGVmaW5lIEZHUExMX0JTX1JTVF9TSElGVAkJCQkJMHgxCisjZGVmaW5lIEZHUExMX0VOX01BU0sJCQkJCQkweDEgCQkJCQorI2RlZmluZSBGR1BMTF9FTl9TSElGVAkJCQkJCTB4MCAgICAgICAgCQorCisvLyAoMHg2MSkgRkdQTExfQ09OMSAoUlcpCisjZGVmaW5lIEZHUExMX0RJVjFfTUFTSwkJCQkJCTB4M0YJCisjZGVmaW5lIEZHUExMX0RJVjFfU0hJRlQJCQkJCTB4MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQkKKy8vICgweDYyKSBGR1BMTF9DT04yIChSVykgICAJCQkJCisjZGVmaW5lIEZHUExMX0JDX01BU0sJCQkJCQkweDMJCisjZGVmaW5lIEZHUExMX0JDX1NISUZUCQkJCQkJMHg0CisjZGVmaW5lIEZHUExMX0JQX01BU0sJCQkJCQkweDMJCisjZGVmaW5lIEZHUExMX0JQX1NISUZUCQkJCQkJMHgyCisjZGVmaW5lIEZHUExMX0JSX01BU0sJCQkJCQkweDMJCisjZGVmaW5lIEZHUExMX0JSX1NISUZUCQkJCQkJMHgwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCQorLy8gKDB4NjMpIEZHUExMX0NPTjMgKFJXKSAgIAkJCQkKKyNkZWZpbmUgRkdQTExfQ0RJVl9NQVNLCQkJCQkJMHg3CQkJCQkKKyNkZWZpbmUgRkdQTExfQ0RJVl9TSElGVAkJCQkJMHg1CisjZGVmaW5lIEZHUExMX1ZDT0JBTkRfTUFTSwkJCQkJMHg3CisjZGVmaW5lIEZHUExMX1ZDT0JBTkRfU0hJRlQJCQkJCTB4MgorI2RlZmluZSBGR1BMTF9DS09fU0VMX01BU0sJCQkJCTB4MwkKKyNkZWZpbmUgRkdQTExfQ0tPX1NFTF9TSElGVAkJCQkJMHgwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCQorLy8gKDB4NjQpIEZHUExMX0NPTjQgKFJXKSAgIAkJCQkKKyNkZWZpbmUgRkdQTExfSUJTRUxfTUFTSwkJCQkJMHgzCQorI2RlZmluZSBGR1BMTF9JQlNFTF9TSElGVAkJCQkJMHg2CisjZGVmaW5lIEZHUExMX1JMQVRDSF9FTl9NQVNLCQkJCTB4MQorI2RlZmluZSBGR1BMTF9STEFUQ0hfRU5fU0hJRlQJCQkJMHg1CisjZGVmaW5lIEZHUExMX0NLRFJWX0VOX01BU0sJCQkJCTB4MQkKKyNkZWZpbmUgRkdQTExfQ0tEUlZfRU5fU0hJRlQJCQkJMHg0CisjZGVmaW5lIEZHUExMX1ZDVF9FTl9NQVNLCQkJCQkweDEJCisjZGVmaW5lIEZHUExMX1ZDVF9FTl9TSElGVAkJCQkJMHgzCisjZGVmaW5lIEZHUExMX0NLVF9TRUxfTUFTSwkJCQkJMHgzCQorI2RlZmluZSBGR1BMTF9DS1RfU0VMX1NISUZUCQkJCQkweDEKKyNkZWZpbmUgRkdQTExfQ0tUX0VOX01BU0sJCQkJCTB4MQkKKyNkZWZpbmUgRkdQTExfQ0tUX0VOX1NISUZUCQkJCQkweDAKKworLy8gKDB4NjUpIEZHUExMX0NPTjUgKFJXKQorI2RlZmluZSBGR1BMTF9SU1ZBX01BU0sJCQkJCQkweEZGCQorI2RlZmluZSBGR1BMTF9SU1ZBX1NISUZUCQkJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQkJCisvLyAoMHg2NikgRkdQTExfQ09ONiAoUlcpICAgCQkJCQorI2RlZmluZSBGR1BMTF9SU1ZCX01BU0sJCQkJCQkweEZGCQorI2RlZmluZSBGR1BMTF9SU1ZCX1NISUZUCQkJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQkJCisvLyAoMHg2OSkgRkdBRENfQ09OMCAoUlcpICAgCQkJCQorI2RlZmluZSBGR19DTEtTUkNfTUFTSwkJCQkJCTB4MQkKKyNkZWZpbmUgRkdfQ0xLU1JDX1NISUZUCQkJCQkJMHg3CisjZGVmaW5lIEZHX0FVVE9DQUxSQVRFX01BU0sJCQkJCTB4NworI2RlZmluZSBGR19BVVRPQ0FMUkFURV9TSElGVAkJCQkweDQKKyNkZWZpbmUgRkdfQ0FMX01BU0sJCQkJCQkJMHgzCQorI2RlZmluZSBGR19DQUxfU0hJRlQJCQkJCQkweDIKKyNkZWZpbmUgRkdfVk1PREVfTUFTSwkJCQkJCTB4MQkKKyNkZWZpbmUgRkdfVk1PREVfU0hJRlQJCQkJCQkweDEKKyNkZWZpbmUgRkdfT05fTUFTSwkJCQkJCQkweDEJCisjZGVmaW5lIEZHX09OX1NISUZUCQkJCQkJCTB4MAorCisvLyAoMHg2QSkgRkdBRENfQ09OMSAoUk8vUlcpCisjZGVmaW5lIEZHX1NXX1JTVENMUl9NQVNLCQkJCQkweDEJCisjZGVmaW5lIEZHX1NXX1JTVENMUl9TSElGVAkJCQkJMHg3CisjZGVmaW5lIEZHX0NIQVJHRV9SU1RfTUFTSwkJCQkJMHgxCQorI2RlZmluZSBGR19DSEFSR0VfUlNUX1NISUZUCQkJCQkweDYKKyNkZWZpbmUgRkdfVElNRV9SU1RfTUFTSwkJCQkJMHgxCQorI2RlZmluZSBGR19USU1FX1JTVF9TSElGVAkJCQkJMHg1CisjZGVmaW5lIEZHX09GRlNFVF9SU1RfTUFTSwkJCQkJMHgxCQorI2RlZmluZSBGR19PRkZTRVRfUlNUX1NISUZUCQkJCQkweDQKKyNkZWZpbmUgRkdfU1dfQ0xFQVJfTUFTSwkJCQkJMHgxCQorI2RlZmluZSBGR19TV19DTEVBUl9TSElGVAkJCQkJMHgzCisjZGVmaW5lIEZHX0xBVENIREFUQV9TVF9NQVNLCQkJCTB4MQorI2RlZmluZSBGR19MQVRDSERBVEFfU1RfU0hJRlQJCQkJMHgyCisjZGVmaW5lIEZHX1NXX1JFQURfUFJFX01BU0sJCQkJCTB4MQkKKyNkZWZpbmUgRkdfU1dfUkVBRF9QUkVfU0hJRlQJCQkJMHgxCisjZGVmaW5lIEZHX1NXX0NSX01BU0sJCQkJCQkweDEJCisjZGVmaW5lIEZHX1NXX0NSX1NISUZUCQkJCQkJMHgwCisKKy8vICgweDZCKSBGR0FEQ19DT04yIChSTykKKyNkZWZpbmUgRkdfQ0FSXzM1XzMyX01BU0sJCQkJCTB4RgkKKyNkZWZpbmUgRkdfQ0FSXzM1XzMyX1NISUZUCQkJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQkJCisvLyAoMHg2QykgRkdBRENfQ09OMyAoUk8pICAgCQkJCQorI2RlZmluZSBGR19DQVJfMzFfMjRfTUFTSwkJCQkJMHhGRgkKKyNkZWZpbmUgRkdfQ0FSXzMxXzI0X1NISUZUCQkJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQkJCisvLyAoMHg2RCkgRkdBRENfQ09ONCAoUk8pICAgCQkJCQorI2RlZmluZSBGR19DQVJfMjNfMTZfTUFTSwkJCQkJMHhGRgkKKyNkZWZpbmUgRkdfQ0FSXzIzXzE2X1NISUZUCQkJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQkJCisvLyAoMHg2RSkgRkdBRENfQ09ONSAoUk8pICAgCQkJCQorI2RlZmluZSBGR19DQVJfMTVfMDhfTUFTSwkJCQkJMHhGRgorI2RlZmluZSBGR19DQVJfMTVfMDhfU0hJRlQJCQkJCTB4MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQkKKy8vICgweDZGKSBGR0FEQ19DT042IChSTykgICAJCQkJCisjZGVmaW5lIEZHX0NBUl8wN18wMF9NQVNLCQkJCQkweEZGCQorI2RlZmluZSBGR19DQVJfMDdfMDBfU0hJRlQJCQkJCTB4MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQkKKy8vICgweDcwKSBGR0FEQ19DT043IChSTykgICAJCQkJCisjZGVmaW5lIEZHX05URVJfMjlfMjRfTUFTSwkJCQkJMHgzRgorI2RlZmluZSBGR19OVEVSXzI5XzI0X1NISUZUCQkJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQkJCisvLyAoMHg3MSkgRkdBRENfQ09OOCAoUk8pICAgCQkJCQorI2RlZmluZSBGR19OVEVSXzIzXzE2X01BU0sJCQkJCTB4RkYJCisjZGVmaW5lIEZHX05URVJfMjNfMTZfU0hJRlQJCQkJCTB4MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQkKKy8vICgweDcyKSBGR0FEQ19DT045IChSTykgICAJCQkJCisjZGVmaW5lIEZHX05URVJfMTVfMDhfTUFTSwkJCQkJMHhGRgkKKyNkZWZpbmUgRkdfTlRFUl8xNV8wOF9TSElGVAkJCQkJMHgwCisKKy8vICgweDczKSBGR0FEQ19DT04xMCAoUk8pCisjZGVmaW5lIEZHX05URVJfMDdfMDBfTUFTSwkJCQkJMHhGRgorI2RlZmluZSBGR19OVEVSXzA3XzAwX1NISUZUCQkJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQkJCisvLyAoMHg3NCkgRkdBRENfQ09OMTEgKFJXKSAgCQkJCQorI2RlZmluZSBGR19CTFRSXzE1XzA4X01BU0sJCQkJCTB4RkYKKyNkZWZpbmUgRkdfQkxUUl8xNV8wOF9TSElGVAkJCQkJMHgwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCQorLy8gKDB4NzUpIEZHQURDX0NPTjEyIChSVykgIAkJCQkKKyNkZWZpbmUgRkdfQkxUUl8wN18wMF9NQVNLCQkJCQkweEZGCQorI2RlZmluZSBGR19CTFRSXzA3XzAwX1NISUZUCQkJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQkJCisvLyAoMHg3NikgRkdBRENfQ09OMTMgKFJXKSAgCQkJCQorI2RlZmluZSBGR19CRlRSXzE1XzA4X01BU0sJCQkJCTB4RkYJCisjZGVmaW5lIEZHX0JGVFJfMTVfMDhfU0hJRlQJCQkJCTB4MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQkKKy8vICgweDc3KSBGR0FEQ19DT04xNCAoUlcpICAJCQkJCisjZGVmaW5lIEZHX0JGVFJfMDdfMDBfTUFTSwkJCQkJMHhGRgorI2RlZmluZSBGR19CRlRSXzA3XzAwX1NISUZUCQkJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCisvLyAoMHg3OCkgRkdBRENfQ09OMTUgKFJPKSAgICAgICAgICAJCQorI2RlZmluZSBGR19DVVJSRU5UX09VVF8xNV8wOF9NQVNLCQkJMHhGRgkKKyNkZWZpbmUgRkdfQ1VSUkVOVF9PVVRfMTVfMDhfU0hJRlQJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCisvLyAoMHg3OSkgRkdBRENfQ09OMTYgKFJPKSAgICAgICAgICAJCQorI2RlZmluZSBGR19DVVJSRU5UX09VVF8wN18wMF9NQVNLCQkJMHhGRgorI2RlZmluZSBGR19DVVJSRU5UX09VVF8wN18wMF9TSElGVAkJCTB4MAorCisvLyAoMHg3QSkgRkdBRENfQ09OMTcgKFJXKQorI2RlZmluZSBGR19BREpVU1RfT0ZGU0VUX1ZBTFVFXzE1XzA4X01BU0sJMHhGRgkKKyNkZWZpbmUgRkdfQURKVVNUX09GRlNFVF9WQUxVRV8xNV8wOF9TSElGVAkweDAKKworLy8gKDB4N0IpIEZHQURDX0NPTjE4IChSVykKKyNkZWZpbmUgRkdfQURKVVNUX09GRlNFVF9WQUxVRV8wN18wMF9NQVNLCTB4RkYJCisjZGVmaW5lIEZHX0FESlVTVF9PRkZTRVRfVkFMVUVfMDdfMDBfU0hJRlQJMHgwCisKKy8vICgweDdDKSBGR0FEQ19DT04xOSAoUk8pCisjZGVmaW5lIEZHX09GRlNFVF8xNV8wOF9NQVNLCQkJCTB4RkYJCisjZGVmaW5lIEZHX09GRlNFVF8xNV8wOF9TSElGVAkJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCisvLyAoMHg3RCkgRkdBRENfQ09OMjAgKFJPKSAgICAgIAkJCQorI2RlZmluZSBGR19PRkZTRVRfMDdfMDBfTUFTSwkJCQkweEZGCQorI2RlZmluZSBGR19PRkZTRVRfMDdfMDBfU0hJRlQJCQkJMHgwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQorLy8gKDB4N0UpIEZHQURDX0NPTjIxIChSVykgICAgICAJCQkKKyNkZWZpbmUgRkdfUlNWMF9NQVNLCQkJCQkJMHhGCQorI2RlZmluZSBGR19SU1YwX1NISUZUCQkJCQkJMHg0CisjZGVmaW5lIEZHX0FOQUxPR1RFU1RfTUFTSwkJCQkJMHhGCisjZGVmaW5lIEZHX0FOQUxPR1RFU1RfU0hJRlQJCQkJCTB4MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkKKy8vICgweDdGKSBGR0FEQ19DT04yMiAoUlcpICAJCisjZGVmaW5lIEZHX1NQQVJFX01BU0sJCQkJCQkweEZGCisjZGVmaW5lIEZHX1NQQVJFX1NISUZUCQkJCQkJMHgwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQorLy8gKDB4ODApIEZHQURDX0NPTjIzIChSVykgICAgICAJCQkKKyNkZWZpbmUgRkdfQkxUUl9CRlRSX0VOX01BU0sJCQkJMHgxCQorI2RlZmluZSBGR19CTFRSX0JGVFJfRU5fU0hJRlQJCQkJMHg3CisjZGVmaW5lIEZHX0FEQ19BVVRPUlNUX01BU0sJCQkJCTB4MQkKKyNkZWZpbmUgRkdfQURDX0FVVE9SU1RfU0hJRlQJCQkJMHg2CisjZGVmaW5lIEZHX0FESl9PRkZTRVRfRU5fTUFTSwkJCQkweDEJCisjZGVmaW5lIEZHX0FESl9PRkZTRVRfRU5fU0hJRlQJCQkJMHg0CisjZGVmaW5lIEZHX09TUl9NQVNLCQkJCQkJCTB4NwkKKyNkZWZpbmUgRkdfT1NSX1NISUZUCQkJCQkJMHgwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQorLy8gKDB4ODEpIEZHQURDX0NPTjI0IChSVykgICAgICAJCQkKKyNkZWZpbmUgVk9MX09TUl9NQVNLCQkJCQkJMHg3CQorI2RlZmluZSBWT0xfT1NSX1NISUZUCQkJCQkJMHgwCisgICAgICAgICAgICAgICAgICAgICAgICAJCQkJCQorLy8gKDB4ODIpIEZHQURDX0NPTjI1IChSTy9SVykgICAJCQkKKyNkZWZpbmUgRkdfQURDX1JTVERFVEVDVF9NQVNLCQkJCTB4MQorI2RlZmluZSBGR19BRENfUlNUREVURUNUX1NISUZUCQkJCTB4NworI2RlZmluZSBGR19IX0lOVF9TVFNfTUFTSwkJCQkJMHgxCisjZGVmaW5lIEZHX0hfSU5UX1NUU19TSElGVAkJCQkJMHg1CisjZGVmaW5lIEZHX0xfSU5UX1NUU19NQVNLCQkJCQkweDEJCisjZGVmaW5lIEZHX0xfSU5UX1NUU19TSElGVAkJCQkJMHg0CisjZGVmaW5lIFZPTF9GSVIxQllQQVNTX01BU0sJCQkJCTB4MQkKKyNkZWZpbmUgVk9MX0ZJUjFCWVBBU1NfU0hJRlQJCQkJMHgyCisjZGVmaW5lIEZHX0ZJUjJCWVBBU1NfTUFTSwkJCQkJMHgxCQorI2RlZmluZSBGR19GSVIyQllQQVNTX1NISUZUCQkJCQkweDEKKyNkZWZpbmUgRkdfRklSMUJZUEFTU19NQVNLCQkJCQkweDEJCisjZGVmaW5lIEZHX0ZJUjFCWVBBU1NfU0hJRlQJCQkJCTB4MAorCisvLyAoMHg4MykgRkdBRENfQ09OMjYgKFJPKQorI2RlZmluZSBWT0xfQ1VSUkVOVF9PVVRfMTVfMDhfTUFTSwkJCTB4RkYJCisjZGVmaW5lIFZPTF9DVVJSRU5UX09VVF8xNV8wOF9TSElGVAkJCTB4MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkKKy8vICgweDg0KSBGR0FEQ19DT04yNyAoUk8pICAgICAgICAgIAkJCisjZGVmaW5lIFZPTF9DVVJSRU5UX09VVF8wN18wMF9NQVNLCQkJMHhGRgorI2RlZmluZSBWT0xfQ1VSUkVOVF9PVVRfMDdfMDBfU0hJRlQJCQkweDAKKworLy8gKDB4ODUpIEZHQURDX0NPTjI4IChSTykKKyNkZWZpbmUgRkdfQ0lDMl8xNV8wOF9NQVNLCQkJCQkweEZGCisjZGVmaW5lIEZHX0NJQzJfMTVfMDhfU0hJRlQJCQkJCTB4MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQkKKy8vICgweDg2KSBGR0FEQ19DT04yOSAoUk8pICAJCQkJCisjZGVmaW5lIEZHX0NJQzJfMDdfMDBfTUFTSwkJCQkJMHhGRgkKKyNkZWZpbmUgRkdfQ0lDMl8wN18wMF9TSElGVAkJCQkJMHgwCisKKy8vICgweDg3KSBGR0FEQ19DT04zMCAoUlcpCisjZGVmaW5lIEZHX1JTVjFfTUFTSwkJCQkJCTB4NworI2RlZmluZSBGR19SU1YxX1NISUZUCQkJCQkJMHg1CisjZGVmaW5lIEZHX1ZNT0RFX1NXX01BU0sJCQkJCTB4MQorI2RlZmluZSBGR19WTU9ERV9TV19TSElGVAkJCQkJMHg0CisjZGVmaW5lIEZHX0ZHQURDX0VOX1NXX01BU0sJCQkJCTB4MQorI2RlZmluZSBGR19GR0FEQ19FTl9TV19TSElGVAkJCQkweDMKKyNkZWZpbmUgRkdfRkdDQUxfRU5fU1dfTUFTSwkJCQkJMHgxCisjZGVmaW5lIEZHX0ZHQ0FMX0VOX1NXX1NISUZUCQkJCTB4MgorI2RlZmluZSBGR19SU1RfU1dfTUFTSwkJCQkJCTB4MQkKKyNkZWZpbmUgRkdfUlNUX1NXX1NISUZUCQkJCQkJMHgxCisjZGVmaW5lIEZHX01PREVfTUFTSwkJCQkJCTB4MQorI2RlZmluZSBGR19NT0RFX1NISUZUCQkJCQkJMHgwCisKKy8vICgweDg4KSBGR0FEQ19DT04zMSAoUk8pCisjZGVmaW5lIEZHX01PTl9NQVNLCQkJCQkJCTB4RkYJCisjZGVmaW5lIEZHX01PTl9TSElGVAkJCQkJCTB4MAorCisvLyAoMHg4OSkgRkdBRENfQ09OMzIgKFJXKQorI2RlZmluZSBGR19SU1YyX01BU0sJCQkJCQkweEZGCisjZGVmaW5lIEZHX1JTVjJfU0hJRlQJCQkJCQkweDAKKworLy8gKDB4OEMpIE9UUENfQ09OMCAoUk8pCisjZGVmaW5lIFJHX09UUF9QRE9fN18wX01BU0sJCQkJCTB4RkYJCisjZGVmaW5lIFJHX09UUF9QRE9fN18wX1NISUZUCQkJCTB4MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQkKKy8vICgweDhEKSBPVFBDX0NPTjEgKFJPKSAgICAgICAgCQkJCisjZGVmaW5lIFJHX09UUF9QRE9fMTVfOF9NQVNLCQkJCTB4RkYKKyNkZWZpbmUgUkdfT1RQX1BET18xNV84X1NISUZUCQkJCTB4MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQkKKy8vICgweDhFKSBPVFBDX0NPTjIgKFJPKSAgICAgICAgCQkJCisjZGVmaW5lIFJHX09UUF9QRE9fMjNfMTZfTUFTSwkJCQkweEZGCQorI2RlZmluZSBSR19PVFBfUERPXzIzXzE2X1NISUZUCQkJCTB4MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQkKKy8vICgweDhGKSBPVFBDX0NPTjMgKFJPKSAgICAgICAgCQkJCisjZGVmaW5lIFJHX09UUF9QRE9fMzFfMjRfTUFTSwkJCQkweEZGCQorI2RlZmluZSBSR19PVFBfUERPXzMxXzI0X1NISUZUCQkJCTB4MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQkKKy8vICgweDkwKSBPVFBDX0NPTjQgKFJPKSAgICAgICAgCQkJCisjZGVmaW5lIFJHX09UUF9QRE9fMzlfMzJfTUFTSwkJCQkweEZGCisjZGVmaW5lIFJHX09UUF9QRE9fMzlfMzJfU0hJRlQJCQkJMHgwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQorLy8gKDB4OTEpIE9UUENfQ09ONSAoUk8pICAgICAgICAJCQkKKyNkZWZpbmUgUkdfT1RQX1BET180N180MF9NQVNLCQkJCTB4RkYJCisjZGVmaW5lIFJHX09UUF9QRE9fNDdfNDBfU0hJRlQJCQkJMHgwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQorLy8gKDB4OTIpIE9UUENfQ09ONiAoUk8pICAgICAgICAJCQkKKyNkZWZpbmUgUkdfT1RQX1BET181NV80OF9NQVNLCQkJCTB4RkYKKyNkZWZpbmUgUkdfT1RQX1BET181NV80OF9TSElGVAkJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCisvLyAoMHg5MykgT1RQQ19DT043IChSTykgICAgICAgIAkJCQorI2RlZmluZSBSR19PVFBfUERPXzYzXzU2X01BU0sJCQkJMHhGRgkKKyNkZWZpbmUgUkdfT1RQX1BET182M181Nl9TSElGVAkJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCisvLyAoMHg5NCkgT1RQQ19DT044IChSVykKKyNkZWZpbmUgUkdfT1RQX1BESU5fTUFTSwkJCQkJMHhGRgkKKyNkZWZpbmUgUkdfT1RQX1BESU5fU0hJRlQJCQkJCTB4MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQkKKy8vICgweDk1KSBPVFBDX0NPTjkgKFJXKSAgICAJCQkJCisjZGVmaW5lIFJHX09UUF9QQV9NQVNLCQkJCQkJMHgzCQorI2RlZmluZSBSR19PVFBfUEFfU0hJRlQJCQkJCQkweDYKKyNkZWZpbmUgUkdfT1RQX1BUTV9NQVNLCQkJCQkJMHgzCQorI2RlZmluZSBSR19PVFBfUFRNX1NISUZUCQkJCQkweDQKKyNkZWZpbmUgUkdfT1RQX1BXRV9NQVNLCQkJCQkJMHgzCQorI2RlZmluZSBSR19PVFBfUFdFX1NISUZUCQkJCQkweDIKKyNkZWZpbmUgUkdfT1RQX1BQUk9HX01BU0sJCQkJCTB4MQkKKyNkZWZpbmUgUkdfT1RQX1BQUk9HX1NISUZUCQkJCQkweDEKKyNkZWZpbmUgUkdfT1RQX1JFQURfTUFTSwkJCQkJMHgxCQorI2RlZmluZSBSR19PVFBfUkVBRF9TSElGVAkJCQkJMHgwCisKKy8vICgweDk2KSBPVFBDX0NPTjEwIChSVykKKyNkZWZpbmUgUkdfT1RQX1JFQURfUFJEX01BU0sJCQkJMHgzCQorI2RlZmluZSBSR19PVFBfUkVBRF9QUkRfU0hJRlQJCQkJMHg2CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQorLy8gKDB4OTcpIE9UUENfQ09OMTEgKFJXKSAgICAgICAJCQkKKyNkZWZpbmUgUkdfT1RQX1RFU1RfU0VMX01BU0sJCQkJMHg3CisjZGVmaW5lIFJHX09UUF9URVNUX1NFTF9TSElGVAkJCQkweDUKKyNkZWZpbmUgUkdfT1RQX1NLSVBfT1VUX01BU0sJCQkJMHgxCQorI2RlZmluZSBSR19PVFBfU0tJUF9PVVRfU0hJRlQJCQkJMHg0CisjZGVmaW5lIFJHX09UUF9PVVRfU0VMX01BU0sJCQkJCTB4MworI2RlZmluZSBSR19PVFBfT1VUX1NFTF9TSElGVAkJCQkweDIKKyNkZWZpbmUgUkdfT1RQX1JTVl9NQVNLCQkJCQkJMHgzCQorI2RlZmluZSBSR19PVFBfUlNWX1NISUZUCQkJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCisvLyAoMHg5OCkgT1RQQ19DT04xMiAoUlcpICAgICAgIAkJCQorI2RlZmluZSBSR19PVFBfVkFMXzdfMF9NQVNLCQkJCQkweEZGCisjZGVmaW5lIFJHX09UUF9WQUxfN18wX1NISUZUCQkJCTB4MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQkKKy8vICgweDk5KSBPVFBDX0NPTjEzIChSVykgICAgICAgCQkJCisjZGVmaW5lIFJHX09UUF9WQUxfMTVfOF9NQVNLCQkJCTB4RkYKKyNkZWZpbmUgUkdfT1RQX1ZBTF8xNV84X1NISUZUCQkJCTB4MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQkKKy8vICgweDlBKSBPVFBDX0NPTjE0IChSVykgICAgICAgCQkJCisjZGVmaW5lIFJHX09UUF9WQUxfMjNfMTZfTUFTSwkJCQkweEZGCisjZGVmaW5lIFJHX09UUF9WQUxfMjNfMTZfU0hJRlQJCQkJMHgwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQorLy8gKDB4OUIpIE9UUENfQ09OMTUgKFJXKSAgICAgICAJCQkKKyNkZWZpbmUgUkdfT1RQX1ZBTF8zMV8yNF9NQVNLCQkJCTB4RkYJCisjZGVmaW5lIFJHX09UUF9WQUxfMzFfMjRfU0hJRlQJCQkJMHgwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQorLy8gKDB4OUMpIE9UUENfQ09OMTYgKFJXKSAgICAgICAJCQkKKyNkZWZpbmUgUkdfT1RQX1ZBTF8zOV8zMl9NQVNLCQkJCTB4RkYJCisjZGVmaW5lIFJHX09UUF9WQUxfMzlfMzJfU0hJRlQJCQkJMHgwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQorLy8gKDB4OUQpIE9UUENfQ09OMTcgKFJXKSAgICAgICAJCQkKKyNkZWZpbmUgUkdfT1RQX1ZBTF80N180MF9NQVNLCQkJCTB4RkYJCisjZGVmaW5lIFJHX09UUF9WQUxfNDdfNDBfU0hJRlQJCQkJMHgwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQorLy8gKDB4OUUpIE9UUENfQ09OMTggKFJXKSAgICAgICAJCQkKKyNkZWZpbmUgUkdfT1RQX1ZBTF81NV80OF9NQVNLCQkJCTB4RkYKKyNkZWZpbmUgUkdfT1RQX1ZBTF81NV80OF9TSElGVAkJCQkweDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCisvLyAoMHg5RikgT1RQQ19DT04xOSAoUlcpICAgICAgIAkJCQorI2RlZmluZSBSR19PVFBfVkFMXzYzXzU2X01BU0sJCQkJMHhGRgorI2RlZmluZSBSR19PVFBfVkFMXzYzXzU2X1NISUZUCQkJCTB4MAorCisvLyAoMHhBMCkgT1RQQ19DT04yMCAoUk8vUlcpCisjZGVmaW5lIFJHX09UUF9CVVNZX01BU0sJCQkJCTB4MQorI2RlZmluZSBSR19PVFBfQlVTWV9TSElGVAkJCQkJMHg3CisjZGVmaW5lIFJHX09UUF9WTERfTUFTSwkJCQkJCTB4MQorI2RlZmluZSBSR19PVFBfVkxEX1NISUZUCQkJCQkweDYKKyNkZWZpbmUgUkdfT1RQX1JFQURfUkRZX0JZUEFTU19NQVNLCQkJMHgxCQorI2RlZmluZSBSR19PVFBfUkVBRF9SRFlfQllQQVNTX1NISUZUCQkweDMKKworLy8gKDB4QTEpIE9UUENfQ09OMjEgKFJXKQorI2RlZmluZSBSR19PVFBfV19MT0NLX01BU0sJCQkJCTB4MQkKKyNkZWZpbmUgUkdfT1RQX1dfTE9DS19TSElGVAkJCQkJMHg3CisjZGVmaW5lIFJHX09UUF9XX0xPQ0tfS0VZX1RPR19NQVNLCQkJMHgxCisjZGVmaW5lIFJHX09UUF9XX0xPQ0tfS0VZX1RPR19TSElGVAkJCTB4NAorI2RlZmluZSBSR19PVFBfV19MT0NLX0tFWV9NQVNLCQkJCTB4RgkKKyNkZWZpbmUgUkdfT1RQX1dfTE9DS19LRVlfU0hJRlQJCQkJMHgwCisKKy8vICgweEE0KSBJMkNfQ09OMCAoUlcpCisjZGVmaW5lIEkyQ19DT04wX0FERFIgCQkJCQkgICAgMHhBNAorCisjZGVmaW5lIFNDTF9ERV9NQVNLCQkJCQkJCTB4MUYJCisjZGVmaW5lIFNDTF9ERV9TSElGVAkJCQkJCTB4MAorICAgICAgICAgICAgICAgICAgICAgICAgCQkJCQkKKy8vICgweEE1KSBJMkNfQ09OMSAoUlcpIAkJCQkJCisjZGVmaW5lIEkyQ19DT04xX0FERFIgCQkJCQkgICAgMHhBNQorCisjZGVmaW5lIFNEQV9ERV9NQVNLCQkJCQkJCTB4MUYJCisjZGVmaW5lIFNEQV9ERV9TSElGVAkJCQkJCTB4MAorCisjZW5kaWYgLy8jaWYgZGVmaW5lZChQTUlDXzYzMjlfUkVHX0FQSSkKKworI2VuZGlmIC8vICNpZm5kZWYgX19EQ0xfUE1JQzYzMjlfSFdfSF9TVFJVQ1RfXwpkaWZmIC0tZ2l0IGEvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9kY2xfcG1pYzYzMjlfc3cuaCBiL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvZGNsX3BtaWM2MzI5X3N3LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmZiMjUwOAotLS0gL2Rldi9udWxsCisrKyBiL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvZGNsX3BtaWM2MzI5X3N3LmgKQEAgLTAsMCArMSwxNDggQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAwNQorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLiAKKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGaWxlbmFtZToKKyAqIC0tLS0tLS0tLQorICogICAgZGNsX3BtaWM2MzI5X3N3LmgKKyAqCisgKiBQcm9qZWN0OgorICogLS0tLS0tLS0KKyAqICAgTWF1aV9Tb2Z0d2FyZQorICoKKyAqIERlc2NyaXB0aW9uOgorICogLS0tLS0tLS0tLS0tCisgKiAgIFRoaXMgZmlsZSBpcyBmb3IgUE1JQyA2MzI5CisgKgorICogQXV0aG9yOgorICogLS0tLS0tLQorICogLS0tLS0tLQorICoKKyAqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICogICAgICAgICAgICAgSElTVE9SWQorICogQmVsb3cgdGhpcyBsaW5lLCB0aGlzIHBhcnQgaXMgY29udHJvbGxlZCBieSBQVkNTIFZNLiBETyBOT1QgTU9ESUZZISEKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKgorICoKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiBVcHBlciB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworCisKKyNpZm5kZWYgX19EQ0xfUE1VNjMyOV9TV19IX1NUUlVDVF9fCisjZGVmaW5lIF9fRENMX1BNVTYzMjlfU1dfSF9TVFJVQ1RfXworCisjaW5jbHVkZSAiZGNsX3BtaWNfZmVhdHVyZXMuaCIKKworI2lmZGVmIFBNSUNfNjMyOV9SRUdfQVBJCisKKy8qCisvLyBkZWJ1ZyAxCisvLyBEZWZpbmUgdG8ga2VlcCBjaGFnaW5nIHdoZW4gYXNzZXJ0CisvLyBUaGlzIGZsYWcgaXMgb25seSBmb3IgZGVidWcgcHVycG9zZQorLy8jZGVmaW5lIERSVl9NSVNDX1BNSUNfQVNTRVJUX0tFRVBfQ0hBUkdJTkcKKy8vI2RlZmluZSBERUJVR19QTUlDNjMyOV9OT19DSEFSR0VSX1dBVENIRE9HX1RJTUVSCisKKworLy8gZGVidWcgMgorLy8gRGVmaW5lIHRvIGVuYWJsZSBQTUlDNjMyOSBjaGFyZ2VyIHdhdGNoIGRvZyB0aW1lciBraWNrCisvLyBXaGVuIGVuYWJsZSBjaGFyZ2VyLCBQTUlDNjMyOSB3aWxsIGVuYWJsZSBhIHdhdGNoIGRvZyB0aW1lcgorLy8gV2UgbmVlZCB0byBraWNrIHRoZSB0aW1lciBwZXJpb2RpY2FsbHksIHRvIG9udGlmeSBQTUlDNjMyOSB0aGF0IEJCIGlzIGFsaXZlCisvLyBJZiB0aW1lb3V0LCBQTUlDNjMyOSB3aWxsIGRpc2FibGUgY2hhcmdlIGF1dG9tYXRpY2FsbHkKKy8vICMjIyMgSWYgdGhpcyBpcyBOT1QgZW5hYmxlZCwgd2Ugd2lsbCBkaXNhYmxlIHRoZSB3YXRjaCBkb2cgdGltZXIgZnVuY3Rpb24gYXQgYm9vdCB0aW1lCisvLyNkZWZpbmUgRU5BQkxFX1BNSUNfRFJJVkVSX0tJQ0tfQ0hBUkdFUl9XQVRDSERPR19USU1FUiAgPT0+IE1vdmUgdG8gYmUgYWN0aXZhdGVkIGJ5IEJNVCBjaGFyZ2luZyBhbGdvcml0aG0sIGRvIE5PVCB1c2UgdGhpcyBhbnltb3JlCisqLworCisjZGVmaW5lIFBNSUM2MzI5X0VDT18xX1ZFUlNJT04JCTB4MDEKKyNkZWZpbmUgUE1JQzYzMjlfRUNPXzJfVkVSU0lPTgkJMHgwMgorCisjaWZuZGVmIFBNSUNfT0xEX1NUUlVDVFVSRQorI2RlZmluZSBQTUlDX09MRF9TVFJVQ1RVUkUKKworI2VuZGlmIC8vI2RlZmluZSBQTUlDX09MRF9TVFJVQ1RVUkUKKwordHlwZWRlZiBlbnVtCit7CisgICAgQUNfQ0hSX0NBTExCQUNLPTAsCisgICAgVVNCX0NIUl9DQUxMQkFDSworfWNocl9jYWxsYmFja190eXBlOworCit0eXBlZGVmIHN0cnVjdCAKK3sKKwl2b2lkICgqcG1pY19hY19kZXQpKHZvaWQpOworCXZvaWQgKCpwbWljX3VzYl9kZXQpKHZvaWQpOyAKK31wbWljNjMyOV9jaHJkZWN0X2NhbGxiYWNfc3RydWN0OworCitleHRlcm4gdm9pZCBkY2xfcG1pYzYzMjlfQ2hyRGV0X1JlZ2lzdHJhdGlvbihjaHJfY2FsbGJhY2tfdHlwZSB0eXBlLCB2b2lkICgqQ2FsbGJhY2spKHZvaWQpKTsKKworLy8gQ29tYmluYXRpb25hbCBmdW5jdGlvbnMKK2V4dGVybiB2b2lkIGRjbF9wbWljNjMyOV9FTV9yZWdfd3JpdGUoa2FsX3VpbnQ4IHJlZywga2FsX3VpbnQ4IHZhbCk7CitleHRlcm4ga2FsX3VpbnQ4IGRjbF9wbWljNjMyOV9FTV9yZWdfcmVhZChrYWxfdWludDggcmVnKTsKK2V4dGVybiB2b2lkIHBtaWM2MzI5X2N1c3RvbWl6YXRpb25faW5pdCh2b2lkKTsKKy8qCisvLyBUaGUgZm9sbG93aW5nIGFyZSBpbXBsZW1lbnRlZCBpbiBjdXN0b20gZmlsZXMKKy8vIE1vRElTIHBhcnNlciBza2lwIHN0YXJ0CitleHRlcm4gdm9pZCBwbWljNjMyOV9jdXN0b21pemF0aW9uX2luaXQodm9pZCk7CitleHRlcm4gdm9pZCBwbWljNjMyOV9jdXN0X3ZzcGtfZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4gdm9pZCBwbWljNjMyOV9jc3V0X3ZzaW1fZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4gdm9pZCBwbWljNjMyOV9jc3V0X3ZzaW1fc2VsKHBtaWNfYWRwdF92c2ltX3ZvbHQgdm9sdCk7CitleHRlcm4gdm9pZCBwbWljNjMyOV9jc3V0X3ZzaW0yX2VuYWJsZShrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIHZvaWQgcG1pYzYzMjlfY3N1dF92c2ltMl9zZWwocG1pY19hZHB0X3ZzaW1fdm9sdCBzZWwpOworZXh0ZXJuIHZvaWQgcG1pYzYzMjlfY3N1dF92dXNiX2VuYWJsZShrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIHZvaWQgcG1pYzYzMjlfY3N1dF92Y2FtYV9lbmFibGUoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiB2b2lkIHBtaWM2MzI5X2NzdXRfdmNhbWFfc2VsKHBtaWNfYWRwdF92Y2FtYV92b2x0IHZvbCk7CitleHRlcm4gdm9pZCBwbWljNjMyOV9jc3V0X3ZjYW1kX2VuYWJsZShrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIHZvaWQgcG1pYzYzMjlfY3N1dF92Y2FtZF9zZWwocG1pY19hZHB0X3ZjYW1kX3ZvbHQgdm9sdCk7CisvLyBNb0RJUyBwYXJzZXIgc2tpcCBlbmQKKyovCisKKyNlbmRpZiAvLyAjaWZkZWYgUE1JQ182MzI5X1JFR19BUEkKKyNlbmRpZiAvLyAjaWZuZGVmIF9fRENMX1BNVTYzMjlfU1dfSF9TVFJVQ1RfXworCmRpZmYgLS1naXQgYS9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL2RjbF9wbWljX2ZlYXR1cmVzLmggYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL2RjbF9wbWljX2ZlYXR1cmVzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjczMDU3NgotLS0gL2Rldi9udWxsCisrKyBiL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvZGNsX3BtaWNfZmVhdHVyZXMuaApAQCAtMCwwICsxLDU0NyBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDAxCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRmlsZW5hbWU6CisgKiAtLS0tLS0tLS0KKyAqICAgZGNsX3BtaWNfZmVhdHVyZXMuaAorICoKKyAqIFByb2plY3Q6CisgKiAtLS0tLS0tLQorICogICBNYXVpCisgKgorICogRGVzY3JpcHRpb246CisgKiAtLS0tLS0tLS0tLS0KKyAqICAgSGVhZGVyIGZpbGUgb2YgRENMIChEcml2ZXIgQ29tbW9uIExheWVyKSBmb3IgUE1VIGZlYXR1cmUgb3B0aW9ucy4KKyAqCisgKiBBdXRob3I6CisgKiAtLS0tLS0tCisgKiAtLS0tLS0tCisgKgorICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKiAgICAgICAgICAgICBISVNUT1JZCisgKiBCZWxvdyB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiBVcHBlciB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmbmRlZiBEQ0xfUE1JQ19GRUFUVVJFU19ICisjZGVmaW5lIERDTF9QTUlDX0ZFQVRVUkVTX0gKKworCisKKyNpZiBkZWZpbmVkKE1UNjIzOFBNVSkgfHwgZGVmaW5lZChNVDYyMzVQTVUpCisgICAjZGVmaW5lIFBNSUNfRklYRURfM19BRENfQ0gKKyAgICNkZWZpbmUgUE1JQ19GSVhFRF9DSFJfRUlOVAorICAgI2RlZmluZSBQTUlDXzYyMzhfQ1VTVE9NSVpBVElPTgorICAgI2RlZmluZSBQTUlDXzYyMzhfVVNCX0ZVTkNUSU9OCisKKyAgICNkZWZpbmUgUE1JQ19QTVVfU0VSSUVTCQorICAgLyogQ2hhcmdlci9VU0IgZGV0ZWN0IHRocm91Z2ggVVNCIFBIWSAqLworICAgI2RlZmluZSBQTUlDX0NIUl9VU0JfREVURUNUX1RIUk9VR0hfVVNCCisgICAjZGVmaW5lIFBNSUNfQ0hSX1VTQl9ERVRfRUlOVF9MRVZFTF9BQ1RJVkVfTE9XIC8vIENoYXJnZXIgZGV0IEVJTlQgaW50ZXJydXB0IExFVkVMIHRyaWdnZXIgYWN0aXZlIExPVworICAgI2RlZmluZSBQTUlDX0NIUl9VU0JfREVUX0VJTlRfTEVWRUxfVFJJR0dFUiAvLyBDSFIvVVNCIGRldGVjdGlvbiBpcyBMRVZFTCB0cmlnZ2VyCisKKyAgICNkZWZpbmUgUE1JQ182MjM1X0NWX1RSSU1fQ0FMSUJSQVRJT04KKworICAgLyogRm9yIGludGVybmFsIHVzZS4gKi8KKyAgICNkZWZpbmUgUE1JQ182MjM4X1JFR19BUEkKKyAgICNkZWZpbmUgX19DSEFSR0VSX1NPRlRfU1RBUlRfXworCisKKworICAgI2lmbmRlZiBQTUlDX1BSRVNFTlQKKyAgICNkZWZpbmUgUE1JQ19QUkVTRU5UCisgICAjZW5kaWYKKworI2VsaWYgZGVmaW5lZChNVDYzMjZfQ0NDSSkKKwkvKiBQcm92aWRlIFZTSU0gc2VsIGFuZCBlbmFibGUgaW50ZXJmYWNlICovCisJI2RlZmluZSBQTUlDX1ZTSU1fU0VMX0FORF9FTkFCTEUKKwkvKiBQcm92aWRlIFZTSU0gZW5hYmxlIGludGVyZmFjZSAqLworCSNkZWZpbmUgUE1JQ19WU0lNX0VOQUJMRQorCS8qIFByb3ZpZGUgVlNJTTIgc2VsIGFuZCBlbmFibGUgaW50ZXJmYWNlICovCisJI2RlZmluZSBQTUlDX1ZTSU0yX1NFTF9BTkRfRU5BQkxFCisJLyogUHJvdmlkZSBWU0lNMiBlbmFibGUgaW50ZXJmYWNlICovCisJI2RlZmluZSBQTUlDX1ZTSU0yX0VOQUJMRQorCS8qIFByb3ZpZGUgUE1JQyBMT0NLIGludGVyZmFjZSAqLworCSNkZWZpbmUgUE1JQ19MT0NLCisJLyogRm9yIGludGVybmFsIHVzZS4gKi8KKwkjZGVmaW5lIFBNSUNfNjMyNl9DQ0NJX1JFR19BUEkKKworCSNkZWZpbmUgUE1JQ19DSFJfREVURUNUX05PTkUKKworCSNpZm5kZWYgUE1JQ19QUkVTRU5UCisJI2RlZmluZSBQTUlDX1BSRVNFTlQKKwkjZW5kaWYgLy8gI2lmbmRlZiBQTUlDX1BSRVNFTlQKKworI2VsaWYgZGVmaW5lZChNVDYyNTNQTVUpCisKKyAgICNkZWZpbmUgUE1JQ19WU0lNMl9TRUwKKyAgICNkZWZpbmUgUE1JQ19GSVhFRF8zX0FEQ19DSAorICAgI2RlZmluZSBQTUlDX0ZJWEVEX0NIUl9FSU5UCisgICAjZGVmaW5lIFBNSUNfNjI1M19DVVNUT01JWkFUSU9OCisgICAjZGVmaW5lIFBNSUNfNjI1M19VU0JfRlVOQ1RJT04KKworCisgICAjZGVmaW5lIFBNSUNfUE1VX1NFUklFUworICAgI2RlZmluZSBQTUlDX0NIUl9VU0JfREVUX0VJTlRfTEVWRUxfQUNUSVZFX0xPVyAvLyBDaGFyZ2VyIGRldCBFSU5UIGludGVycnVwdCBMRVZFTCB0cmlnZ2VyIGFjdGl2ZSBMT1cKKyAgICNkZWZpbmUgUE1JQ19DSFJfVVNCX0RFVF9FSU5UX0xFVkVMX1RSSUdHRVIgLy8gQ0hSL1VTQiBkZXRlY3Rpb24gaXMgTEVWRUwgdHJpZ2dlcgorICAgI2RlZmluZSBQTUlDX0NIUl9VU0JfREVURUNUX1RIUk9VR0hfVVNCCisKKworICAgLy8gUE1JQyBzdXBwb3J0IGNoYXJnZSBXRFQgZnVuY3Rpb25hbGl0eQorICAgLy8gQk1UIGRyaXZlciB3aWxsIHJlZmVyIHRoZSBjb21waWxlIG9wdGlvbiB0byBlbmFibGUvZGlzYWJsZSBCTVQgbGV2ZWwgV0RUCisgICAjZGVmaW5lIFBNSUNfQ0hBUkdFX1dEVAorICAgLyogRm9yIGludGVybmFsIHVzZS4gKi8KKyAgICNkZWZpbmUgUE1JQ182MjUzX1JFR19BUEkKKyAgICNkZWZpbmUgX19DSEFSR0VSX1NPRlRfU1RBUlRfXworCisgICAjZGVmaW5lIFBNSUNfNjI1M19DVl9UUklNX0NBTElCUkFUSU9OCisKKworCisgICAjaWZuZGVmIFBNSUNfUFJFU0VOVAorICAgI2RlZmluZSBQTUlDX1BSRVNFTlQKKyAgICNlbmRpZgorCisjZGVmaW5lIFBNSUNfRklYRURfQ0hSX0VJTlQKKyNpZiBkZWZpbmVkKFBNSUNfRklYRURfQ0hSX0VJTlQpCisjZGVmaW5lIFBNSUNfRklYRURfQ0hSX0VJTlRfUElOICAgICAgNworI2VuZGlmIC8vICNpZiBkZWZpbmVkKFBNSUNfRklYRURfQ0hSX0VJTlQpCisKKyNlbGlmIGRlZmluZWQoTVQ2MjM2UE1VKQorCisgICAgI2RlZmluZSBQTUlDXzYyMzZfUkVHX0FQSQorICAgICNkZWZpbmUgUE1JQ182MjM2X0NVU1RPTUlaQVRJT04KKyAgICAvLyNkZWZpbmUgUE1JQ182MjM4X1VTQl9GVU5DVElPTgorCisgICAgI2RlZmluZSBQTUlDX1BNVV9TRVJJRVMKKyAgICAjZGVmaW5lIFBNSUNfQ0hSX1VTQl9ERVRfRUlOVF9MRVZFTF9BQ1RJVkVfTE9XIC8vIENoYXJnZXIgZGV0IEVJTlQgaW50ZXJydXB0IExFVkVMIHRyaWdnZXIgYWN0aXZlIExPVworICAgICNkZWZpbmUgUE1JQ19DSFJfVVNCX0RFVF9FSU5UX0xFVkVMX1RSSUdHRVIgLy8gQ0hSL1VTQiBkZXRlY3Rpb24gaXMgTEVWRUwgdHJpZ2dlcgorICAgICNkZWZpbmUgUE1JQ19DSFJfVVNCX0RFVEVDVF9USFJPVUdIX1VTQgkgICAvKiBDaGFyZ2VyL1VTQiBkZXRlY3QgdGhyb3VnaCBVU0IgUEhZICovCisKKyAgICAjZGVmaW5lIFBNSUNfNjIzNl9DVl9UUklNX0NBTElCUkFUSU9OCisKKyAgICAjZGVmaW5lIFBNSUNfRklYRURfM19BRENfQ0gKKyAgICAvLyNkZWZpbmUgUE1JQ19GSVhFRF80X0FEQ19DSAorICAgICNkZWZpbmUgUE1JQ19GSVhFRF9DSFJfRUlOVAorICAgICNkZWZpbmUgUE1JQ182MjM2X1VTQl9GVU5DVElPTgorCisKKyAgICAjaWZuZGVmIFBNSUNfUFJFU0VOVAorICAgICNkZWZpbmUgUE1JQ19QUkVTRU5UCisgICAgI2VuZGlmIC8vICNpZm5kZWYgUE1JQ19QUkVTRU5UCisKKyNlbGlmIGRlZmluZWQoTVQ2MjUxUE1VKQorCisjZGVmaW5lIFBNSUNfNjI1MV9SRUdfQVBJCisjZGVmaW5lIFBNSUNfNjI1MV9DVVNUT01JWkFUSU9OCisjZGVmaW5lIFBNSUNfU0xJTV9WMworCisjZGVmaW5lIFBNSUNfRklYRURfM19BRENfQ0gKKyNkZWZpbmUgUE1JQ19GSVhFRF80X0FEQ19DSAorI2RlZmluZSBQTUlDX0ZJWEVEX0NIUl9FSU5UCisKKyNkZWZpbmUgUE1JQ19QTVVfU0VSSUVTCisjZGVmaW5lIFBNSUNfQ0hSX1VTQl9ERVRfRUlOVF9MRVZFTF9BQ1RJVkVfTE9XIC8vIENoYXJnZXIgZGV0IEVJTlQgaW50ZXJydXB0IExFVkVMIHRyaWdnZXIgYWN0aXZlIExPVworI2RlZmluZSBQTUlDX0NIUl9VU0JfREVUX0VJTlRfTEVWRUxfVFJJR0dFUiAvLyBDSFIvVVNCIGRldGVjdGlvbiBpcyBMRVZFTCB0cmlnZ2VyCisjZGVmaW5lIFBNSUNfQ0hSX1VTQl9ERVRFQ1RfVEhST1VHSF9QTVVfQkMxMQorCisjaWZuZGVmIFBNSUNfUFJFU0VOVAorI2RlZmluZSBQTUlDX1BSRVNFTlQKKyNlbmRpZiAvLyAjaWZuZGVmIFBNSUNfUFJFU0VOVAorCisjZGVmaW5lIFBNSUNfRklYRURfQ0hSX0VJTlQKKworLyoKKyNkZWZpbmUgX19EUlZfVVBNVV9MRE9fVjFfXworI2RlZmluZSBfX0RSVl9VUE1VX0xET19WMV9TVEJfVERfQVRfQ09OMl9CSVQ2X18KKyNkZWZpbmUgX19EUlZfVVBNVV9CVUNLX1YxX18KKyNkZWZpbmUgX19EUlZfVVBNVV9LUExFRF9WMV9fCisjZGVmaW5lIF9fRFJWX1VQTVVfQkMxMV9WMV9fCisjZGVmaW5lIF9fRFJWX1VQTVVfU1RSVVBfVjFfXworI2RlZmluZSBfX0RSVl9VUE1VX0JPT1NUX1YxX18KKyNkZWZpbmUgX19EUlZfVVBNVV9TUEtfVjFfXworI2RlZmluZSBfX0RSVl9VUE1VX0lTSU5LX1YxX18KKyovCisjZGVmaW5lIF9fRFJWX1VQTVVfQ0hBUkdFUl9WMV9fCisgICAgICAjZGVmaW5lIF9fRFJWX09UR19CVkFMSURfREVUX0FUX0NPTjVfQklUMTVfXworICAgICAgI2RlZmluZSBfX0RSVl9WQkFUX09WX0VOX0FUX0NPTjNfQklUOF9fCisgICAgICAjZGVmaW5lIF9fRFJWX0JBVE9OX0VOX0FUX0NPTjNfQklUOV9fCisgICAgICAjZGVmaW5lIF9fRFJWX09UR19CVkFMSURfRU5fQVRfQ09ONV9CSVQxMl9fCisgICAgICAjZGVmaW5lIF9fRFJWX09UR19CVkFMSURfREVUX0FUX0NPTjVfQklUMTVfXworICAgICAgI2RlZmluZSBfX0RSVl9DSFJfV0RUX0NMRUFSX1dBSVRfMk1TX18gLy8gZGVzaWduIGxpbWl0YXRpb24sIG5lZWQgdG8gd2FpdCBmb3IgY2xvY2sgc3luYworICAgICAgI2RlZmluZSBfX0RSVl9WQkFUX09WX1ZUSF9DT04zXzNCSVRfV0lEVEhfVlRIMl9BVF9CSVQxMl9fCisgICAgICAjZGVmaW5lIF9fRFJWX1VQTVVfQkMxMV9WMV9fCisgICAgICAgIC8vIFVzZSBVU0IgbW9kdWxlIDEuNUtPaG0gcHVsbCBoaWdoIHJlc2lzdG9yIGZvciBncm91cCBCIGlkZW50aWZ5IHByb2Nlc3MKKyAgICAgICAgLy8gTmVlZCB0byBpc29sYXRlIFVTQiBEUC9NUCBsaW5lIHRvIG1ha2UgMS41S09obSByZXNpc3RvciB3b3JrCisgICAgICAgIC8vICgxLjVLT2htIHJlc2lzdG9yIGhhcyBzb21lIGVuYWJsZSBkZXBlbmRlbmN5IG9uIGlzb2xhdGlvbiBzd2l0Y2gpCisgICAgICAgIC8vI2RlZmluZSBfX0RSVl9CQzExX1VTRV9VU0JfMTAwX0tfUkVTSVNUT1JfNF9HUk9VUF9CX18KKyAgICAgICAgLy8gVXNlIFVTQiBtb2R1bGUgcHJvdmlkZWQgVVNCIGxpbmUgc3RhdHVzIGNoZWNrIEFQSQorICAgICAgICAvLyAxLiBVU0IgbW9kdWxlIHByb3ZpZGUgbGluZSBzdGF0dXMgY2hlY2sgQVBJOiAyLjBWIDwtPiAwLjhWCisgICAgICAgIC8vICAgIEhpZ2hlciB0aGFuIDIuMFYgPT0+IEhJR0gKKyAgICAgICAgLy8gICAgTG93ZXIgdGhhbiAwLjhWID09PiBMT1cKKyAgICAgICAgLy8gMi4gUE1VIEJDMTEgY2lyY3VpdCBwcm92aWRlIDEuMlYgY29tcGFyYXRvcgorICAgICAgICAvLyNkZWZpbmUgX19EUlZfQkMxMV9VU0VfVVNCX0xJTkVfU1RBVFVTX0FQSV9fCisgICAgICAgICNkZWZpbmUgX19EUlZfVVBNVV9CQzExX1ZTUkNfRU5fQVRfVEVTVF9DT04xX0JJVDRfXworI2lmIGRlZmluZWQoTVQ2MjUxX1MwMCkJCQorICAgICAgICAjZGVmaW5lIF9fTVQ2MjUxUE1VX0UxX0JDMTFfVlNSQ19FTl9BVF9URVNUX0NPTjFfQklUNF9fCisjZW5kaWYgLy8jaWYgZGVmaW5lZChNVDYyNTFfUzAwKQkKKyAgICAgICAgI2RlZmluZSBfX0RSVl9DSFJfRkxBR19TRUxfNUJJVF9XSURUSF9TRUw0X0FUX0JJVDEzX18KKworI2VsaWYgZGVmaW5lZChNVDYyNTJQTVUpIHx8IGRlZmluZWQoTVQ2MjUzRUxQTVUpCisjZGVmaW5lIFBNSUNfNjI1Ml9SRUdfQVBJCisjZGVmaW5lIFBNSUNfNjI1Ml9DVVNUT01JWkFUSU9OCisKKyNkZWZpbmUgUE1JQ19GSVhFRF8zX0FEQ19DSAorI2RlZmluZSBQTUlDX0ZJWEVEX0NIUl9FSU5UCisjZGVmaW5lIFBNSUNfU0xJTV9WMworCisjZGVmaW5lIFBNSUNfUE1VX1NFUklFUworI2RlZmluZSBQTUlDX0NIUl9VU0JfREVUX0VJTlRfTEVWRUxfQUNUSVZFX0xPVyAvLyBDaGFyZ2VyIGRldCBFSU5UIGludGVycnVwdCBMRVZFTCB0cmlnZ2VyIGFjdGl2ZSBISUdICisjZGVmaW5lIFBNSUNfQ0hSX1VTQl9ERVRfRUlOVF9MRVZFTF9UUklHR0VSIC8vIENIUi9VU0IgZGV0ZWN0aW9uIGlzIExFVkVMIHRyaWdnZXIKKyNkZWZpbmUgUE1JQ19DSFJfVVNCX0RFVEVDVF9USFJPVUdIX1BNVV9CQzExCisKKyNpZm5kZWYgUE1JQ19QUkVTRU5UCisjZGVmaW5lIFBNSUNfUFJFU0VOVAorI2VuZGlmIC8vICNpZm5kZWYgUE1JQ19QUkVTRU5UCisKKyNkZWZpbmUgX19EUlZfVVBNVV9CQzExX1YxX18KKworI2VsaWYgZGVmaW5lZChNVDYyNTVQTVUpCisjZGVmaW5lIFBNSUNfNjI1NV9SRUdfQVBJCisKKyAgICAjZGVmaW5lIFBNSUNfRklYRURfM19BRENfQ0gKKyAgICAjZGVmaW5lIFBNSUNfRklYRURfNF9BRENfQ0gKKyAgICAjZGVmaW5lIFBNSUNfRklYRURfQ0hSX0VJTlQKKyAgICAjZGVmaW5lIFBNSUNfU0xJTV9WMyAgICAKKworI2RlZmluZSBQTUlDX1BNVV9TRVJJRVMKKyNkZWZpbmUgUE1JQ19DSFJfVVNCX0RFVF9FSU5UX0xFVkVMX0FDVElWRV9MT1cvLyBDaGFyZ2VyIGRldCBFSU5UIGludGVycnVwdCBMRVZFTCB0cmlnZ2VyIGFjdGl2ZSBsb3cKKyNkZWZpbmUgUE1JQ19DSFJfVVNCX0RFVF9FSU5UX0xFVkVMX1RSSUdHRVIgLy8gQ0hSL1VTQiBkZXRlY3Rpb24gaXMgTEVWRUwgdHJpZ2dlcgorI2RlZmluZSBQTUlDX0NIUl9VU0JfREVURUNUX1RIUk9VR0hfUE1VX0JDMTEKKyNkZWZpbmUgX19EUlZfVVBNVV9CQzExX1YxX18KKworI2lmbmRlZiBQTUlDX1BSRVNFTlQKKyNkZWZpbmUgUE1JQ19QUkVTRU5UCisjZW5kaWYgLy8gI2lmbmRlZiBQTUlDX1BSRVNFTlQKKworCisjZWxpZiBkZWZpbmVkKE1UNjI1NlBNVSkKKyNkZWZpbmUgUE1JQ182MjU2X1JFR19BUEkKKyNkZWZpbmUgUE1JQ182MjU2X0NVU1RPTUlaQVRJT04KKworICAgICNkZWZpbmUgUE1JQ19GSVhFRF8zX0FEQ19DSAorICAgICNkZWZpbmUgUE1JQ19GSVhFRF80X0FEQ19DSAorICAgICNkZWZpbmUgUE1JQ19GSVhFRF9DSFJfRUlOVAorICAgICNkZWZpbmUgUE1JQ19TTElNX1YzICAgIAorCisjZGVmaW5lIFBNSUNfUE1VX1NFUklFUworI2RlZmluZSBQTUlDX0NIUl9VU0JfREVUX0VJTlRfTEVWRUxfQUNUSVZFX0xPVy8vIENoYXJnZXIgZGV0IEVJTlQgaW50ZXJydXB0IExFVkVMIHRyaWdnZXIgYWN0aXZlIGxvdworI2RlZmluZSBQTUlDX0NIUl9VU0JfREVUX0VJTlRfTEVWRUxfVFJJR0dFUiAvLyBDSFIvVVNCIGRldGVjdGlvbiBpcyBMRVZFTCB0cmlnZ2VyCisjZGVmaW5lIFBNSUNfQ0hSX1VTQl9ERVRFQ1RfVEhST1VHSF9QTVVfQkMxMQorI2RlZmluZSBfX0RSVl9VUE1VX0JDMTFfVjFfXworCisjaWZuZGVmIFBNSUNfUFJFU0VOVAorI2RlZmluZSBQTUlDX1BSRVNFTlQKKyNlbmRpZiAvLyAjaWZuZGVmIFBNSUNfUFJFU0VOVAorCisjZWxpZiBkZWZpbmVkKE1UNjI3NlBNVSkKKworI2RlZmluZSBQTUlDXzYyNzZfUkVHX0FQSQorI2RlZmluZSBQTUlDXzYyNzZfQ1VTVE9NSVpBVElPTgorCisKKyNkZWZpbmUgUE1JQ19QTVVfU0VSSUVTCisjZGVmaW5lIFBNSUNfQ0hSX1VTQl9ERVRfRUlOVF9MRVZFTF9BQ1RJVkVfSElHSCAvLyBDaGFyZ2VyIGRldCBFSU5UIGludGVycnVwdCBMRVZFTCB0cmlnZ2VyIGFjdGl2ZSBISUdICisjZGVmaW5lIFBNSUNfQ0hSX1VTQl9ERVRfRUlOVF9MRVZFTF9UUklHR0VSIC8vIENIUi9VU0IgZGV0ZWN0aW9uIGlzIExFVkVMIHRyaWdnZXIKKyNkZWZpbmUgUE1JQ19DSFJfVVNCX0RFVEVDVF9USFJPVUdIX1VTQgorCisjaWZuZGVmIFBNSUNfUFJFU0VOVAorI2RlZmluZSBQTUlDX1BSRVNFTlQKKyNlbmRpZiAvLyAjaWZuZGVmIFBNSUNfUFJFU0VOVAorCisjZGVmaW5lIFBNSUNfRklYRURfM19BRENfQ0gKKyNkZWZpbmUgUE1JQ19GSVhFRF9DSFJfRUlOVAorI2lmIGRlZmluZWQoUE1JQ19GSVhFRF9DSFJfRUlOVCkKKyNkZWZpbmUgUE1JQ19GSVhFRF9DSFJfRUlOVF9QSU4gICAgICAyOQorI2VuZGlmIC8vICNpZiBkZWZpbmVkKFBNSUNfRklYRURfQ0hSX0VJTlQpCisKKyNkZWZpbmUgX19EUlZfVVBNVV9MUE9TQ19WMV9fCisjZGVmaW5lIF9fRFJWX1VQTVVfTERPX1YxX18KKyNkZWZpbmUgX19EUlZfVVBNVV9TSEFSRV9MRE9fXworI2lmIGRlZmluZWQoTVQ2Mjc2X1MwMCkKKyNkZWZpbmUgX19NVDYyNzZQTVVfRTFfVlNJTTJfVk9MU0VMX0lTU1VFX18KKyNlbmRpZiAvLyNpZiBkZWZpbmVkKE1UNjI3Nl9TMDApCisjZGVmaW5lIF9fRFJWX1VQTVVfTERPX1YxX1NUQl9URF9BVF9DT04xX0JJVDBfXworI2RlZmluZSBfX0RSVl9VUE1VX0JVQ0tfVjFfXworI2RlZmluZSBfX0RSVl9VUE1VX1ZQQV9WMV9fCisjZGVmaW5lIF9fRFJWX1VQTVVfS1BMRURfVjFfXworI2RlZmluZSBfX0RSVl9VUE1VX0NIQVJHRVJfVjFfXworI2RlZmluZSBfX0RSVl9PVEdfQlZBTElEX0VOX0FUX0NPTjNfQklUMTNfXworI2RlZmluZSBfX0RSVl9CQVRPTl9FTl9BVF9DT04zX0JJVDEyX18KKyNkZWZpbmUgX19EUlZfVVBNVV9CQzExX1YxX18KKyNkZWZpbmUgX19EUlZfVVBNVV9CQzExX01BUFBJTkdfVjJfXworCisjZWxpZiBkZWZpbmVkKE1UNjU3M1BNVSkKKworCSNkZWZpbmUgUE1JQ182NTczX1JFR19BUEkKKwkKKwkjZGVmaW5lIF9fRFJWX1VQTVVfQlVDS19WMV9fCisgICAgICAgICNkZWZpbmUgX19NVDY1NzNQTVVfRTFfVlNJTTJfVk9MU0VMX0lTU1VFX18KKwkjZGVmaW5lIF9fRFJWX1VQTVVfVlBBX1YxX18KKworICAgICAgICAjZGVmaW5lIFBNSUNfRklYRURfM19BRENfQ0gKKyAgICAgICAgI2RlZmluZSBQTUlDX0ZJWEVEX0NIUl9FSU5UCisJI2RlZmluZSBQTUlDX0NIUl9ERVRFQ1RfTk9ORQorCisJI2lmbmRlZiBQTUlDX1BSRVNFTlQKKwkjZGVmaW5lIFBNSUNfUFJFU0VOVAorCSNlbmRpZiAvLyAjaWZuZGVmIFBNSUNfUFJFU0VOVAorCisjZWxpZiBkZWZpbmVkKE1UNjMyNikKKwkjZGVmaW5lIFBNSUNfVlNJTV9TRUwKKwkjZGVmaW5lIFBNSUNfVlNJTTJfU0VMCisJI2RlZmluZSBQTUlDX0FVRElPX0FNUAorCSNkZWZpbmUgUE1JQ182MzI2X0NVU1RPTUlaQVRJT04KKwkjZGVmaW5lIFBNSUNfNjMyNl9VU0JfRlVOQ1RJT04KKwkjZGVmaW5lIFBNSUNfVkNBTURfU0VMCisJI2RlZmluZSBQTUlDX1ZDQU1EX0VOCisJI2RlZmluZSBQTUlDX1ZDQU1BX1NFTAorCSNkZWZpbmUgUE1JQ19WQ0FNQV9FTgorCisJI2RlZmluZSBQTUlDX0NIUl9VU0JfREVUX0VJTlRfRURHRV9UUklHR0VSIC8vIENIUi9VU0IgZGV0ZWN0aW9uIGlzIGVkZ2UgdHJpZ2dlcgorCisJLyogRm9yIGludGVybmFsIHVzZS4gKi8KKwkjZGVmaW5lIFBNSUNfNjMyNl9SRUdfQVBJCisJLy8gUE1JQyBzdXBwb3J0IGNoYXJnZSBXRFQgZnVuY3Rpb25hbGl0eQorCS8vIEJNVCBkcml2ZXIgd2lsbCByZWZlciB0aGUgY29tcGlsZSBvcHRpb24gdG8gZW5hYmxlL2Rpc2FibGUgQk1UIGxldmVsIFdEVAorCSNkZWZpbmUgUE1JQ19DSEFSR0VfV0RUCisKKwkjZGVmaW5lIFBNSUNfNjMyNl9DVl9UUklNX0NBTElCUkFUSU9OCisKKwkjZGVmaW5lIFBNSUNfUE1JQ19TRVJJRVMKKwkvKiBDaGFyZ2VyL1VTQiBkZXRlY3QgdGhyb3VnaCBVU0IgUEhZICovCisJI2RlZmluZSBQTUlDX0NIUl9VU0JfREVURUNUX1RIUk9VR0hfVVNCCisKKwkjaWZuZGVmIFBNSUNfUFJFU0VOVAorCSNkZWZpbmUgUE1JQ19QUkVTRU5UCisJI2VuZGlmIC8vICNpZm5kZWYgUE1JQ19QUkVTRU5UCisKKyAgI2RlZmluZSBfX0NIQVJHRVJfU09GVF9TVEFSVF9fCisKKyNlbGlmIGRlZmluZWQoTVQ2MzI5KQorICAgICNkZWZpbmUgUE1JQ19WU0lNX1NFTAorICAgICNkZWZpbmUgUE1JQ19WU0lNMl9TRUwKKyAgICAjZGVmaW5lIFBNSUNfQVVESU9fQU1QCisgICAgI2RlZmluZSBQTUlDXzYzMjlfQ1VTVE9NSVpBVElPTgorICAgICNkZWZpbmUgUE1JQ182MzI5X1VTQl9GVU5DVElPTgorICAgICNkZWZpbmUgUE1JQ19WQ0FNRF9TRUwKKyAgICAjZGVmaW5lIFBNSUNfVkNBTURfRU4KKyAgICAjZGVmaW5lIFBNSUNfVkNBTUFfU0VMCisgICAgI2RlZmluZSBQTUlDX1ZDQU1BX0VOCisKKyAgICAjZGVmaW5lIFBNSUNfQ0hSX1VTQl9ERVRfRUlOVF9FREdFX1RSSUdHRVIgLy8gQ0hSL1VTQiBkZXRlY3Rpb24gaXMgZWRnZSB0cmlnZ2VyCisKKyAgICAvKiBGb3IgaW50ZXJuYWwgdXNlLiAqLworICAgICNkZWZpbmUgUE1JQ182MzI5X1JFR19BUEkKKyAgICAvLyBQTUlDIHN1cHBvcnQgY2hhcmdlIFdEVCBmdW5jdGlvbmFsaXR5CisgICAgLy8gQk1UIGRyaXZlciB3aWxsIHJlZmVyIHRoZSBjb21waWxlIG9wdGlvbiB0byBlbmFibGUvZGlzYWJsZSBCTVQgbGV2ZWwgV0RUCisgICAgI2RlZmluZSBQTUlDX0NIQVJHRV9XRFQKKworICAgICNkZWZpbmUgUE1JQ182MzI5X0NWX1RSSU1fQ0FMSUJSQVRJT04KKworICAgICNkZWZpbmUgUE1JQ19QTUlDX1NFUklFUworICAgIC8qIENoYXJnZXIvVVNCIGRldGVjdCB0aHJvdWdoIFVTQiBQSFkgKi8KKyAgICAjZGVmaW5lIFBNSUNfQ0hSX1VTQl9ERVRFQ1RfVEhST1VHSF9VU0IKKworICAgICNpZm5kZWYgUE1JQ19QUkVTRU5UCisgICAgI2RlZmluZSBQTUlDX1BSRVNFTlQKKyAgICAjZW5kaWYgLy8gI2lmbmRlZiBQTUlDX1BSRVNFTlQKKworICAgICNkZWZpbmUgX19DSEFSR0VSX1NPRlRfU1RBUlRfXworCisjZWxpZiBkZWZpbmVkKE1UNjMyNykKKyAgICAjZGVmaW5lIFBNSUNfVlNJTV9TRUwKKworICAgIC8qIEZvciBpbnRlcm5hbCB1c2UuICovCisgICAgI2RlZmluZSBQTUlDXzYzMjdfUkVHX0FQSQorCisgICAgI2RlZmluZSBQTUlDX1BNSUNfU0VSSUVTCisgICAgCisgICAgI2RlZmluZSBQTUlDX0NIUl9ERVRFQ1RfTk9ORQorCisgICAgI2lmbmRlZiBQTUlDX1BSRVNFTlQKKyAgICAjZGVmaW5lIFBNSUNfUFJFU0VOVAorICAgICNlbmRpZiAvLyAjaWZuZGVmIFBNSUNfUFJFU0VOVAorICAgIAorI2Vsc2UKKworICAgICNkZWZpbmUgUE1JQ19DSFJfREVURUNUX05PTkUKKworI2VuZGlmCisKKyNlbmRpZiAvLyAjaWZuZGVmIERDTF9QTUlDX0ZFQVRVUkVTX0gKZGlmZiAtLWdpdCBhL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvZGNsX3BtdTYyMzVfaHcuaCBiL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvZGNsX3BtdTYyMzVfaHcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yOTg0MGM0Ci0tLSAvZGV2L251bGwKKysrIGIvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9kY2xfcG11NjIzNV9ody5oCkBAIC0wLDAgKzEsNDgzIEBACisKKworI2lmbmRlZiBfX0RDTF9QTUlDNjIzNV9IV19IX1NUUlVDVF9fCisjZGVmaW5lIF9fRENMX1BNSUM2MjM1X0hXX0hfU1RSVUNUX18KKworCisjaW5jbHVkZSAiZGNsX3BtaWNfZmVhdHVyZXMuaCIKKworI2lmIGRlZmluZWQoUE1JQ182MjIzX1JFR19BUEkpIHx8IGRlZmluZWQoUE1JQ182MjM4X1JFR19BUEkpCisKKyNkZWZpbmUgUE1VX0JBU0UgICAgICAgKE1JWEVEX2Jhc2UrMHgwODAwKQorI2RlZmluZSBQTVVfRU5EICAgICAgICAgKE1JWEVEX2Jhc2UrMHgwODQwKQorCisjaWZuZGVmIERSVl9QTUlDX09GRgorI2RlZmluZSBQTUlDX0NPTjAgICAgICAgICAgICAgICAgICAgIChNSVhFRF9iYXNlKzB4MDgwMCkKKyNkZWZpbmUgUE1JQ19DT04xICAgICAgICAgICAgICAgICAgICAoTUlYRURfYmFzZSsweDA4MDQpCisjZGVmaW5lIFBNSUNfQ09OMiAgICAgICAgICAgICAgICAgICAgKE1JWEVEX2Jhc2UrMHgwODA4KQorI2RlZmluZSBQTUlDX0NPTjMgICAgICAgICAgICAgICAgICAgIChNSVhFRF9iYXNlKzB4MDgwQykKKyNkZWZpbmUgUE1JQ19DT040ICAgICAgICAgICAgICAgICAgICAoTUlYRURfYmFzZSsweDA4MTApCisjZGVmaW5lIFBNSUNfQ09ONSAgICAgICAgICAgICAgICAgICAgKE1JWEVEX2Jhc2UrMHgwODE0KQorI2RlZmluZSBQTUlDX0NPTjYgICAgICAgICAgICAgICAgICAgIChNSVhFRF9iYXNlKzB4MDgxOCkKKyNkZWZpbmUgUE1JQ19DT043ICAgICAgICAgICAgICAgICAgICAoTUlYRURfYmFzZSsweDA4MUMpCisjaWYgZGVmaW5lZChQTUlDXzYyMzhfUkVHX0FQSSkKKyNkZWZpbmUgUE1JQ19DT044ICAgICAgICAgICAgICAgICAgICAoTUlYRURfYmFzZSsweDA4MjApCisjZGVmaW5lIFBNSUNfQ09OOSAgICAgICAgICAgICAgICAgICAgKE1JWEVEX2Jhc2UrMHgwODI0KQorI2RlZmluZSBQTUlDX0NPTkEgICAgICAgICAgICAgICAgICAgIChNSVhFRF9iYXNlKzB4MDgyOCkKKyNkZWZpbmUgUE1JQ19DT05CICAgICAgICAgICAgICAgICAgICAoTUlYRURfYmFzZSsweDA4MkMpCisjZGVmaW5lIFBNSUNfQ09OQyAgICAgICAgICAgICAgICAgICAgKE1JWEVEX2Jhc2UrMHgwODMwKQorI2RlZmluZSBQTUlDX0NPTkQgICAgICAgICAgICAgICAgICAgIChNSVhFRF9iYXNlKzB4MDgzNCkKKyNkZWZpbmUgUE1JQ19DT05FICAgICAgICAgICAgICAgICAgICAoTUlYRURfYmFzZSsweDA4MzgpCisjZGVmaW5lIFBNSUNfQ09ORiAgICAgICAgICAgICAgICAgICAgKE1JWEVEX2Jhc2UrMHgwODNDKQorI2RlZmluZSBQTUlDX0NPTkcgICAgICAgICAgICAgICAgICAgIChNSVhFRF9iYXNlKzB4MDg0MCkKKyNlbmRpZiAvLyAjaWYgZGVmaW5lZChQTUlDXzYyMzhfUkVHX0FQSSkKKyNlbmRpZiAvLyAjaWZuZGVmIERSVl9QTUlDX09GRgorCisvKiBQTUlDX0NPTjA6IENvbnRyb2wgTERDIG9mIFZyZiBhbmQgdGVzdCBzZXR0aW5nICovCisjZGVmaW5lIFZSRl9TVEFUVVMgICAgICAgICAweDAwMDEKKyAgICNkZWZpbmUgVlJGX1NUQVRVU19TSElGVCAgICAgIDAKKyNkZWZpbmUgVlJGX0VOICAgICAgICAgICAgIDB4MDAwMgorICAgI2RlZmluZSBWUkZfRU5fU0hJRlQgICAgICAgICAgMQorI2RlZmluZSBWUkZfRU5fRk9SQ0UgICAgICAgMHgwMDA0CisgICAjZGVmaW5lIFZSRl9FTl9GT1JDRV9TSElGVCAgICAyCisjZGVmaW5lIFZSRl9QTE5NT1NfRElTICAgICAweDAwMDgKKyAgICNkZWZpbmUgVlJGX1BMTk1PU19ESVNfU0hJRlQgIDMgICAgIAorI2RlZmluZSBJQ0FMUkZfRU4gICAgICAgICAgMHgwMDMwCisgICAjZGVmaW5lIElDQUxSRl9FTl9TSElGVCAgICAgICA0CisjZGVmaW5lIFZSRl9DQUwgICAgICAgICAgICAweDAzQzAKKyAgICNkZWZpbmUgVlJGX0NBTF9TSElGVCAgICAgICAgIDYKKyNpZiBkZWZpbmVkKFBNSUNfNjIzOF9SRUdfQVBJKQorICAgI2RlZmluZSBWUkZfT05fU0VMICAgICAgMHgwNDAwCisgICAgICAjZGVmaW5lIFZSRl9PTl9TRUxfU0hJRlQgICAxMAorI2VuZGlmCisjZGVmaW5lIFRQU0VMICAgICAgICAgICAgICAweEYwMDAKKyAgICNkZWZpbmUgVFBTRUxfU0hJRlQgICAgICAgICAgIDEyCisKKy8qIFBNSUNfQ09OMTogQ29udHJvbCBMRE8gb2YgVmNvcmUsIFZydGMsIGFuZCBzdGF0dXMgb2YgVmlvIGFuZCBWbSAqLworI2RlZmluZSBWQ09SRV9FTl9GT1JDRSAgICAgMHgwMDAxCisgICAjZGVmaW5lIFZDT1JFX0VOX0ZPUkNFX1NISUZUICAwCisKKyNpZiBkZWZpbmVkKFBNSUNfNjIyM19SRUdfQVBJKQorI2RlZmluZSBJQ0FMQ09SRV9FTiAgICAgICAgMHgwMDA2CisgICAjZGVmaW5lIElDQUxDT1JFX0VOX1NISUZUICAgICAxCisjZGVmaW5lIFZDT1JFX1NFTCAgICAgICAgICAweDAwMTgKKyAgICNkZWZpbmUgVkNPUkVfU0VMX1NISUZUICAgICAgIDMKKyNkZWZpbmUgVkNPUkVfQ0FMICAgICAgICAgIDB4MDFFMAorICAgI2RlZmluZSBWQ09SRV9DQUxfU0hJRlQgICAgICAgNQorI2RlZmluZSBWQ1RYT19QV1JTQVZFX0VOICAgMHgwMjAwCisgICAjZGVmaW5lIFZDVFhPX1BXUlNBVkVfRU5fU0hJRlQgOQorI2RlZmluZSBWUkZfUFdSU0FWRV9FTiAgICAgMHgwNDAwCisgICAjZGVmaW5lIFZSRl9QV1JTQVZFX0VOX1NISUZUICAxMAorCisjZWxpZiBkZWZpbmVkKFBNSUNfNjIzOF9SRUdfQVBJKQorI2RlZmluZSBBRENfSU5fRURHRSAgICAgICAgMHgwMDAyCisgICAjZGVmaW5lIEFEQ19JTl9FREdFX1NISUZUICAgICAxCisjZGVmaW5lIEZBU1RfU0xPVyAgICAgICAgICAweDAwMDQKKyAgICNkZWZpbmUgRkFTVF9TTE9XX1NISUZUICAgICAgIDIKKyNkZWZpbmUgUFdNQiAgICAgICAgICAgICAgIDB4MDAwOAorICAgI2RlZmluZSBQV01CX1NISUZUICAgICAgICAgICAgMworI2RlZmluZSBBQ0NfT1VUX0lOSVQgICAgICAgMHgwMEYwCisgICAjZGVmaW5lIEFDQ19PVVRfSU5JVF9TSElGVCAgICA0CisKKyNlbmRpZiAvKlBNSUNfNjIyM19SRUdfQVBJKi8KKworI2RlZmluZSBWUlRDX1NUQVRVUyAgICAgICAgMHgxMDAwCisgICAjZGVmaW5lIFZSVENfU1RBVFVTX1NISUZUICAgICAxMgorI2RlZmluZSBWUlRDX0VOX0ZPUkUgICAgICAgMHgyMDAwCisgICAjZGVmaW5lIFZSVENfRU5fRk9SRV9TSElGVCAgICAxMworI2RlZmluZSBWSU9fU1RBVFVTICAgICAgICAgMHg0MDAwCisgICAjZGVmaW5lIFZJT19TVEFUVVNfU0hJRlQgICAgICAxNAorCisjaWYgZGVmaW5lZChQTUlDXzYyMjNfUkVHX0FQSSkKKyNkZWZpbmUgVk1fU1RBVFVTICAgICAgICAgIDB4ODAwMAorICAgI2RlZmluZSBWTV9TVEFUVVNfU0hJRlQgICAgICAgMTUKKyNlbmRpZiAvKiBQTUlDXzYyMjNfUkVHX0FQSSovCisKKy8qIFBNSUNfQ09OMjogQ29udHJvbCBMRE8gb2YgVmlvIGFuZCBWbSAqLworI2RlZmluZSBWSU9fRU5fRk9SQ0UgICAgICAgMHgwMDAxCisgICAjZGVmaW5lIFZJT19FTl9GT1JDRV9TSElGVCAgICAwCisjZGVmaW5lIFZDQUxJT19FTiAgICAgICAgICAweDAwMDYKKyAgICNkZWZpbmUgVkNBTElPX0VOX1NISUZUICAgICAgIDEKKyNkZWZpbmUgQU5USVVEU0hfSU9fRE4gICAgIDB4MDAwOAorICAgI2RlZmluZSBBTlRJVURTSF9JT19ETl9TSElGVCAgMworI2RlZmluZSBWSU9fQ0FMICAgICAgICAgICAgMHgwMEYwCisgICAjZGVmaW5lIFZJT19DQUxfU0hJRlQgICAgICAgICA0CisjZGVmaW5lIFZNX0VOX0ZPUkNFICAgICAgICAweDAxMDAKKyAgICNkZWZpbmUgVk1fRU5fRk9SQ0VfU0hJRlQgICAgIDgKKyNkZWZpbmUgSUNBTE1fRU4gICAgICAgICAgIDB4MDYwMAorICAgI2RlZmluZSBJQ0FMTV9FTl9TSElGVCAgICAgICAgOQorI2RlZmluZSBBTlRJVURTSF9NX0ROICAgICAgMHgwODAwCisgICAjZGVmaW5lIEFOVElVRFNIX01fRE5fU0hJRlQgICAxMQorI2RlZmluZSBWTV9DQUwgICAgICAgICAgICAgMHhGMDAwCisgICAjZGVmaW5lIFZNX0NBTF9TSElGVCAgICAgICAgICAxMgorCisvKiBQTUlDX0NPTjM6IENvbnRyb2wgYW5kIFN0YXR1cyBvZiBMRE8gb2YgVnNpbSwgQ2FsaWJyYXRpb24gb2YgVnJ0YyAqLworI2RlZmluZSBWU0lNX1NUQVRVUyAgICAgICAgMHgwMDAxCisgICAjZGVmaW5lIFZTSU1fU1RBVFVTX1NISUZUICAgICAwCisjZGVmaW5lIFZTSU1fRU5fRk9SQ0UgICAgICAweDAwMDIKKyAgICNkZWZpbmUgVlNJTV9FTl9GT1JDRV9TSElGVCAgIDEKKyNkZWZpbmUgSUNBTFNJTV9FTiAgICAgICAgIDB4MDAwQworICAgI2RlZmluZSBJQ0FMU0lNX0VOX1NISUZUICAgICAgMgorI2RlZmluZSBBTlRJVURTSF9TSU1fRE4gICAgMHgwMDEwCisgICAjZGVmaW5lIEFOVElVRFNIX1NJTV9ETl9TSElGVCA0CisjZGVmaW5lIFZTSU1fUExOTU9TX0RJUyAgICAweDAwMjAKKyAgICNkZWZpbmUgVlNJTV9QTE5NT1NfRElTX1NISUZUIDUKKyNkZWZpbmUgVlNJTV9DQUwgICAgICAgICAgIDB4MDNDMAorICAgI2RlZmluZSBWU0lNX0NBTF9TSElGVCAgICAgICAgNgorI2RlZmluZSBWUlRDX1NURVAxX0NBTCAgICAgMHgxQzAwCisgICAjZGVmaW5lIFZSVENfU1RFUDFfQ0FMX1NISUZUICAxMAorI2RlZmluZSBWUlRDX1NURVAyX0NBTCAgICAgMHhFMDAwCisgICAjZGVmaW5lIFZSVENfU1RFUDJfQ0FMX1NISUZUICAxMworCisvKiBQTUlDX0NPTjQ6IENvbnRyb2wgYW5kIFN0YXR1cyBvZiBMREMgb2YgVmN0eG8gYW5kIFZhKi8KKyNkZWZpbmUgVkNUWE9fU1RBVFVTICAgICAgIDB4MDAwMQorICAgI2RlZmluZSBWQ1RYT19TVEFUVVNfU0hJRlQgICAgMAorI2RlZmluZSBWQ1RYT19FTl9GT1JDRSAgICAgMHgwMDAyCisgICAjZGVmaW5lIFZDVFhPX0VOX0ZPUkNFX1NISUZUICAxCisjZGVmaW5lIFZDVFhPX0VOICAgICAgICAgICAweDAwMDQKKyAgICNkZWZpbmUgVkNUWE9fRU5fU0hJRlQgICAgICAgIDIKKyNkZWZpbmUgVkNUWE9fUExOTU9TX0RJUyAgIDB4MDAwOAorICAgI2RlZmluZSBWQ1RYT19QTE5NT1NfRElTX1NISUZUICAgMworI2RlZmluZSBWQ1RYT19DQUwgICAgICAgICAgMHgwMEYwCisgICAjZGVmaW5lIFZDVFhPX0NBTF9TSElGVCAgICAgICA0CisjZGVmaW5lIFZBX1NUQVRVUyAgICAgICAgICAweDAxMDAKKyAgICNkZWZpbmUgVkFfU1RBVFVTX1NISUZUICAgICAgIDgKKyNkZWZpbmUgVkFfRU5fRk9SQ0UgICAgICAgIDB4MDIwMAorICAgI2RlZmluZSBWQV9FTl9GT1JDRV9TSElGVCAgICAgOQorI2RlZmluZSBWQV9FTl9TRUwgICAgICAgICAgMHgwNDAwCisgICAjZGVmaW5lIFZBX0VOX1NFTF9TSElGVCAgICAgICAxMAorI2RlZmluZSBWQV9DQUwgICAgICAgICAgICAgMHg3ODAwCisgICAjZGVmaW5lIFZBX0NBTF9TSElGVCAgICAgICAgICAxMQorI2RlZmluZSBWUlRDX0NBTF9MQVRDSF9FTiAgMHg4MDAwCisgICAjZGVmaW5lIFZSVENfQ0FMX0xBVENIX0VOX1NISUZUICAxNQorCisvKiBQTUlDX0NPTjU6IERyaXZlciBDb250cm9sIGFuZCBDaGFyZ2VyIFN0YXVzICovCisjZGVmaW5lIFZJQlJfRU4gICAgICAgICAgICAweDAwMDEKKyAgICNkZWZpbmUgVklCUl9FTl9TSElGVCAgICAgICAgIDAKKyNkZWZpbmUgS1BMRU5fRU4gICAgICAgICAgIDB4MDAwMgorICAgI2RlZmluZSBLUExFTl9FTl9TSElGVCAgICAgICAgMQorI2RlZmluZSBSTEVEX0VOICAgICAgICAgICAgMHgwMDA0CisgICAjZGVmaW5lIFJMRURfRU5fU0hJRlQgICAgICAgICAyCisjZGVmaW5lIEdMRU5fRU4gICAgICAgICAgICAweDAwMDgKKyAgICNkZWZpbmUgR0xFTl9FTl9TSElGVCAgICAgICAgIDMKKyNkZWZpbmUgQkxFTl9FTiAgICAgICAgICAgIDB4MDAxMAorICAgI2RlZmluZSBCTEVOX0VOX1NISUZUICAgICAgICAgNAorI2RlZmluZSBJTlRfTk9ERV9NVVggICAgICAgMHgwMEUwCisjZGVmaW5lIElOVF9OT0RFX01VWF9NU0IgICAweDAwODAKKyAgICNkZWZpbmUgSU5UX05PREVfTVVYX1NISUZUICAgIDUKKyNkZWZpbmUgVlNJTV9FTiAgICAgICAgICAgIDB4MDEwMAorICAgI2RlZmluZSBWU0lNX0VOX1NISUZUICAgICAgICAgOAorI2RlZmluZSBWU0lNX1NFTCAgICAgICAgICAgMHgwMjAwCisgICAjZGVmaW5lIFZTSU1fU0VMX1NISUZUICAgICAgICA5CisjZGVmaW5lIE9WUCAgICAgICAgICAgICAgICAweDA0MDAKKyAgICNkZWZpbmUgT1ZQX1NISUZUICAgICAgICAgICAgIDEwCisjZGVmaW5lIENIUl9ERVQgICAgICAgICAgICAweDA4MDAKKyAgICNkZWZpbmUgQ0hSX0RFVF9TSElGVCAgICAgICAgIDExCisjZGVmaW5lIEJBVF9PTiAgICAgICAgICAgICAweDEwMDAKKyAgICNkZWZpbmUgQkFUX09OX1NISUZUICAgICAgICAgIDEyCisjZGVmaW5lIEFDX0RFVCAgICAgICAgICAgICAweDIwMDAKKyAgICNkZWZpbmUgQUNfREVUX1NISUZUICAgICAgICAgIDEzCisjZGVmaW5lIENWICAgICAgICAgICAgICAgICAweDQwMDAKKyAgICNkZWZpbmUgQ1ZfU0hJRlQgICAgICAgICAgICAgIDE0CisjZGVmaW5lIENIUkdfRElTICAgICAgICAgICAweDgwMDAKKyAgICNkZWZpbmUgQ0hSR19ESVNfU0hJRlQgICAgICAgIDE1CisKKy8qIFBNSUNfQ09ONjogQ2hhcmdlciBDb250cm9sICovCisjZGVmaW5lIENIUl9FTiAgICAgICAgICAgICAweDAwMDEKKyAgICNkZWZpbmUgQ0hSX0VOX1NISUZUICAgICAgICAgIDAKKyNkZWZpbmUgQ0hPRlNUICAgICAgICAgICAgIDB4MDAwRQorICAgI2RlZmluZSBDSE9GU1RfU0hJRlQgICAgICAgICAgMQorI2RlZmluZSBDTEFTU19EICAgICAgICAgICAgMHgwMDcwCisgICAjZGVmaW5lIENMQVNTX0RfU0hJRlQgICAgICAgICA0CisjZGVmaW5lIENIUk9OX0ZPUkNFICAgICAgICAweDAwODAKKyAgICNkZWZpbmUgQ0hST05fRk9SQ0VfU0hJRlQgICAgIDcKKworI2lmIGRlZmluZWQoUE1JQ182MjIzX1JFR19BUEkpCisjZGVmaW5lIENIUl9BVVggICAgICAgICAgICAweEZGMDAKKyAgICNkZWZpbmUgQ0hSX0FVWF9TSElGVCAgICAgICAgIDgKKyAgICNkZWZpbmUgQ0hSX0FVWF9USEVSTUFMICAgICAgIDB4ODgwMAorICAgICAgI2RlZmluZSBDSFJfQVVYX1RIRVJNQUxfU0hJRlQgICAgMTEKKyAgICNkZWZpbmUgQ0hSX0FVWF9SRUZfVk9MVCAgICAgIDB4NzAwMAorICAgICAgI2RlZmluZSBDSFJfQVVYX1JFRl9WT0xUX1NISUZUICAgMTIKKyAgICNkZWZpbmUgQ0hSX0FVWF9DVl9WT0xUICAgICAgIDB4MDcwMAorICAgICAgI2RlZmluZSBDSFJfQVVYX0NWX1ZPTFRfU0hJRlQgICAgOAorCisjZWxpZiBkZWZpbmVkKFBNSUNfNjIzOF9SRUdfQVBJKQorI2RlZmluZSBDVl9SVCAgICAgICAgICAgICAgMHgwMzAwCisgICAjZGVmaW5lIENWX1JUX1NISUZUICAgICAgICAgICAgICA4CisjZGVmaW5lIENWX1RVTkUgICAgICAgICAgICAweDFDMDAKKyAgICNkZWZpbmUgQ1ZfVFVORV9TSElGVCAgICAgICAgICAgIDEwCisjZGVmaW5lIE1UVl9FTiAgICAgICAgICAgICAweDQwMDAKKyAgICNkZWZpbmUgTVRWX0VOX1NISUZUICAgICAgICAgICAgIDE0CisjZGVmaW5lIEdQSU9fRFJWICAgICAgICAgICAweDgwMDAKKyAgICNkZWZpbmUgR1BJT19EUlZfU0hJRlQgICAgICAgICAgIDE1CisKKyNlbmRpZgorCisvKiBQTUlDX0NPTjc6IFN0YXJ0IFVwKi8KKyNkZWZpbmUgVVZfU0VMICAgICAgICAgICAgIDB4MDAwMworICAgI2RlZmluZSBVVl9TRUxfU0hJRlQgICAgICAgICAgMAorI2RlZmluZSBSQkdTRUwgICAgICAgICAgICAgICAweDAwMUMKKyAgICNkZWZpbmUgUkJHU0VMX1NISUZUICAgICAgICAgICAgMgorI2RlZmluZSBJQkdTRUwgICAgICAgICAgICAgICAweDAwNjAKKyAgICNkZWZpbmUgSUJHU0VMX1NISUZUICAgICAgICAgICAgNQorI2RlZmluZSBPU0NESVMgICAgICAgICAgICAgIDB4MDA4MAorICAgI2RlZmluZSBPU0NESVNfU0hJRlQgICAgICAgICAgNworI2RlZmluZSBDS1NFTCAgICAgICAgICAgICAgMHgwMTAwCisgICAjZGVmaW5lIENLU0VMX1NISUZUICAgICAgICAgICA4CisjZGVmaW5lIFZCU1NFTCAgICAgICAgICAgICAweDA2MDAKKyAgICNkZWZpbmUgVkJTU0VMX1NISUZUICAgICAgICAgIDkKKworI2lmIGRlZmluZWQoUE1JQ182MjIzX1JFR19BUEkpCisjZGVmaW5lIFJFU0VUX0RSViAgICAgICAgICAweDA4MDAKKyAgICNkZWZpbmUgUkVTRVRfRFJWX1NISUZUICAgICAgIDExCisKKyNlbGlmIGRlZmluZWQoUE1JQ182MjM4X1JFR19BUEkpCisjZGVmaW5lIEJJQVNfR0VOX0ZPUkNFICAgICAgMHgwODAwCisgICAjZGVmaW5lIEJJQVNfR0VOX0ZPUkNFX1NISUZUICAxMQorCisjZW5kaWYKKworI2RlZmluZSBPVl9IWVNfRU5CICAgICAgICAgMHgxMDAwCisgICAjZGVmaW5lIE9WX0hZU19FTkJfU0hJRlQgICAgICAxMgorI2RlZmluZSBPVl9USEZSRUVaRSAgICAgICAgMHgyMDAwCisgICAjZGVmaW5lIE9WX1RIRlJFRVpFX1NISUZUICAgICAxMworI2RlZmluZSBQV1JLRVlfREVCICAgICAgICAgMHg4MDAwCisgICAjZGVmaW5lIFBXUktFWV9ERUJfU0hJRlQgICAgICAxNQorCisKKyNpZiBkZWZpbmVkKFBNSUNfNjIzOF9SRUdfQVBJKQorCisvKiBQTUlDX0NPTjg6IERDLURDIGNvbnRyb2xsZXIgVkNPUkUgKi8KKyNkZWZpbmUgU0RNX09SREVSICAgICAgICAgICAgIDB4MDAwMQorICAgI2RlZmluZSBTRE1fT1JERVJfU0hJRlQgICAgICAgICAgMAorI2RlZmluZSBHQUlOX1AgICAgICAgICAgICAgICAgMHgwMDBFCisgICAjZGVmaW5lIEdBSU5fUF9TSElGVCAgICAgICAgICAgICAxCisjZGVmaW5lIEdBSU4gICAgICAgICAgICAgICAgICAweDAwNzAKKyAgICNkZWZpbmUgR0FJTl9TSElGVCAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgR0FJTl9EICAgICAgICAgICAgICAgIDB4MDM4MAorICAgI2RlZmluZSBHQUlOX0RfU0hJRlQgICAgICAgICAgICAgNworI2RlZmluZSBEVVRZX0lOSVQgICAgICAgICAgICAgMHgzQzAwCisgICAjZGVmaW5lIERVVFlfSU5JVF9TSElGVCAgICAgICAgICAxMAorI2RlZmluZSBWT1NFTCAgICAgICAgICAgICAgICAgMHg0MDAwCisgICAjZGVmaW5lIFZPU0VMX1NISUZUICAgICAgICAgICAgICAxNAorI2RlZmluZSBTRE1fRkJfRU4gICAgICAgICAgICAgMHg4MDAwCisgICAjZGVmaW5lIFNETV9GQl9FTl9TSElGVCAgICAgICAgICAxNQorCisvKiBQTUlDX0NPTjk6IERDLURDIGNvbnRyb2xsZXIgVkNPUkUgKi8KKyNkZWZpbmUgVkZCQURKICAgICAgICAgICAgICAgIDB4MDAwRgorICAgI2RlZmluZSBWRkJBREpfU0hJRlQgICAgICAgICAgICAgMAorI2RlZmluZSBESVJFQ1RfQ1RSTF9FTiAgICAgICAgMHgwMDEwCisgICAjZGVmaW5lIERJUkVDVF9DVFJMX0VOX1NISUZUICAgICA0CisjZGVmaW5lIERDVl9DS19TRUwgICAgICAgICAgICAweDAwMjAKKyAgICNkZWZpbmUgRENWX0NLX1NFTF9TSElGVCAgICAgICAgIDUKKyNkZWZpbmUgSVNFTCAgICAgICAgICAgICAgICAgIDB4MDBDMAorICAgI2RlZmluZSBJU0VMX1NISUZUICAgICAgICAgICAgICAgNgorI2RlZmluZSBBREpDS1NFTCAgICAgICAgICAgICAgMHgwNzAwCisgICAjZGVmaW5lIEFESkNLU0VMX1NISUZUICAgICAgICAgICA4CisjZGVmaW5lIE1PREVTRVQgICAgICAgICAgICAgICAweDA4MDAKKyAgICNkZWZpbmUgTU9ERVNFVF9TSElGVCAgICAgICAgICAgIDExCisjZGVmaW5lIE1PREVFTjAgICAgICAgICAgICAgICAweDEwMDAKKyAgICNkZWZpbmUgTU9ERUVOMF9TSElGVCAgICAgICAgICAgIDEyCisjZGVmaW5lIE1PREVDTVAgICAgICAgICAgICAgICAweDIwMDAKKyAgICNkZWZpbmUgTU9ERUNNUF9TSElGVCAgICAgICAgICAgIDEzCisjZGVmaW5lIE1PREVTRUwxQSAgICAgICAgICAgICAweDQwMDAKKyAgICNkZWZpbmUgTU9ERVNFTDFBX1NISUZUICAgICAgICAgIDE0CisjZGVmaW5lIERDVl9URVNUX0VOICAgICAgICAgICAweDgwMDAKKyAgICNkZWZpbmUgRENWX1RFU1RfRU5fU0hJRlQgICAgICAgIDE1CisKKy8qIFBNSUNfQ09OQTogREMtREMgY29udHJvbGxlciBWQ09SRSAqLworI2RlZmluZSBQRk1TRUxfQ1VSUkVOVCAgICAgICAgMHgwMDBGCisgICAjZGVmaW5lIFBGTVNFTF9DVVJSRU5UX1NISUZUICAgICAwCisjZGVmaW5lIFBGTVNFTF9SRVNJU1RPUiAgICAgICAweDAwNzAKKyAgICNkZWZpbmUgUEZNU0VMX1JFU0lTVE9SX1NISUZUICAgIDQKKyNkZWZpbmUgTkNET0YgICAgICAgICAgICAgICAgIDB4MDE4MAorICAgI2RlZmluZSBOQ0RPRl9TSElGVCAgICAgICAgICAgICAgNworI2RlZmluZSBEQ1ZUUklNICAgICAgICAgICAgICAgMHgwRTAwCisgICAjZGVmaW5lIERDVlRSSU1fU0hJRlQgICAgICAgICAgICA5CisjZGVmaW5lIElBU0VMICAgICAgICAgICAgICAgICAweDMwMDAKKyAgICNkZWZpbmUgSUFTRUxfU0hJRlQgICAgICAgICAgICAgIDEyCisjZGVmaW5lIFJTRUwgICAgICAgICAgICAgICAgICAweEMwMDAKKyAgICNkZWZpbmUgUlNFTF9TSElGVCAgICAgICAgICAgICAgIDE0CisKKy8qIFBNSUNfQ09OQjogQ29udHJvbCBhbmQgU3RhdHVzIG9mIExETyBvZiBWdXNiICovCisjZGVmaW5lIFZVU0JfU1RBVVMgICAgICAgICAgICAweDAwMDEKKyAgICNkZWZpbmUgVlVTQl9TVEFVU19TSElGVCAgICAgICAgIDAKKyNkZWZpbmUgVlVTQl9FTl9GT1JDRSAgICAgICAgIDB4MDAwMgorICAgI2RlZmluZSBWVVNCX0VOX0ZPUkNFX1NISUZUICAgICAgMQorI2RlZmluZSBWVVNCX0VOICAgICAgICAgICAgICAgMHgwMDA0CisgICAjZGVmaW5lIFZVU0JfRU5fU0hJRlQgICAgICAgICAgICAyCisjZGVmaW5lIElDQUxVU0JfRU4gICAgICAgICAgICAweDAwMTgKKyAgICNkZWZpbmUgSUNBTFVTQl9FTl9TSElGVCAgICAgICAgIDMKKyNkZWZpbmUgQU5USVVEU0hfVVNCX0ROICAgICAgIDB4MDAyMAorICAgI2RlZmluZSBBTlRJVURTSF9VU0JfRE5fU0hJRlQgICAgNQorI2RlZmluZSBWVVNCX1BMTk1PU19ESVMgICAgICAgMHgwMDQwCisgICAjZGVmaW5lIFZVU0JfUExOTU9TX0RJU19TSElGVCAgICA2CisjZGVmaW5lIFZVU0JfQ0FMICAgICAgICAgICAgICAweDA3ODAKKyAgICNkZWZpbmUgVlVTQl9DQUxfU0hJRlQgICAgICAgICAgIDcKKyNkZWZpbmUgTU9ERUVOMSAgICAgICAgICAgICAgIDB4MDgwMAorICAgI2RlZmluZSBNT0RFRU4xX1NISUZUICAgICAgICAgICAgMTEKKyNkZWZpbmUgVkZCQURKX1NMUCAgICAgICAgICAgIDB4RjAwMAorICAgI2RlZmluZSBWRkJBREpfU0xQX1NISUZUICAgICAgICAgMTIKKworLyogUE1JQ19DT05DOiBDb250cm9sIGFuZCBTdGF0dXMgb2YgTERPIG9mIFZzaW0yICovCisjZGVmaW5lIFZTSU0yX1NUQVVTICAgICAgICAgICAgMHgwMDAxCisgICAjZGVmaW5lIFZTSU0yX1NUQVVTX1NISUZUICAgICAgICAgMAorI2RlZmluZSBWU0lNMl9FTl9GT1JDRSAgICAgICAgIDB4MDAwMgorICAgI2RlZmluZSBWU0lNMl9FTl9GT1JDRV9TSElGVCAgICAgIDEKKyNkZWZpbmUgSUNBTFNJTTJfRU4gICAgICAgICAgICAweDAwMEMKKyAgICNkZWZpbmUgSUNBTFNJTTJfRU5fU0hJRlQgICAgICAgICAyCisjZGVmaW5lIEFOVElVRFNIX1NJTTJfRE4gICAgICAgMHgwMDEwCisgICAjZGVmaW5lIEFOVElVRFNIX1NJTTJfRE5fU0hJRlQgICAgNAorI2RlZmluZSBWU0lNMl9QTE5NT1NfRElTICAgICAgIDB4MDAyMAorICAgI2RlZmluZSBWU0lNMl9QTE5NT1NfRElTX1NISUZUICAgIDUKKyNkZWZpbmUgVlNJTTJfQ0FMICAgICAgICAgICAgICAweDAzQzAKKyAgICNkZWZpbmUgVlNJTTJfQ0FMX1NISUZUICAgICAgICAgICA2CisjZGVmaW5lIENMS19TT1VSQ0VfU0VMICAgICAgICAgMHgwNDAwCisgICAjZGVmaW5lIENMS19TT1VSQ0VfU0VMX1NISUZUICAgICAgMTAKKyNkZWZpbmUgVlRDWE9fT05fU0VMICAgICAgICAgICAweDA4MDAKKyAgICNkZWZpbmUgVlRDWE9fT05fU0VMX1NISUZUICAgICAgICAxMQorI2RlZmluZSBWU0lNX1BXUl9TQVZJTkcgICAgICAgIDB4MTAwMAorICAgI2RlZmluZSBWU0lNX1BXUl9TQVZJTkdfU0hJRlQgICAgIDEyCisjZGVmaW5lIFZTSU0yX0VOICAgICAgICAgICAgICAgMHg0MDAwCisgICAjZGVmaW5lIFZTSU0yX0VOX1NISUZUICAgICAgICAgICAgMTQKKyNkZWZpbmUgVlNJTTJfU0VMICAgICAgICAgICAgICAweDgwMDAKKyAgICNkZWZpbmUgVlNJTTJfU0VMX1NISUZUICAgICAgICAgICAxNQorCisvKiBQTUlDX0NPTkQ6IENvbnRyb2wgYW5kIFN0YXR1cyBvZiBMRE8gb2YgVm1jLCBOb3QgdXNlZCBmcm9tIG5vdyovCisvLyNkZWZpbmUgVk1DX1NUQVVTICAgICAgICAgICAgMHgwMDAxCisvLyAgICNkZWZpbmUgVk1DX1NUQVVTX1NISUZUICAgICAgICAgMAorLy8jZGVmaW5lIFZNQ19FTl9GT1JDRSAgICAgICAgIDB4MDAwMgorLy8gICAjZGVmaW5lIFZNQ19FTl9GT1JDRV9TSElGVCAgICAgIDEKKy8vI2RlZmluZSBJQ0FMTUNfRU4gICAgICAgICAgICAweDAwMEMKKy8vICAgI2RlZmluZSBJQ0FMTUNfRU5fU0hJRlQgICAgICAgICAyCisvLyNkZWZpbmUgQU5USVVEU0hfTUNfRE4gICAgICAgMHgwMDEwCisvLyAgICNkZWZpbmUgQU5USVVEU0hfTUNfRE5fU0hJRlQgICAgNAorLy8jZGVmaW5lIFZNQ19QTE5NT1NfRElTICAgICAgIDB4MDAyMAorLy8gICAjZGVmaW5lIFZNQ19QTE5NT1NfRElTX1NISUZUICAgIDUKKy8vI2RlZmluZSBWTUNfQ0FMICAgICAgICAgICAgICAweDAzQzAKKy8vICAgI2RlZmluZSBWTUNfQ0FMX1NISUZUICAgICAgICAgICA2CisvLyNkZWZpbmUgVk1DX0VOICAgICAgICAgICAgICAgMHg0MDAwCisvLyAgICNkZWZpbmUgVk1DX0VOX1NISUZUICAgICAgICAgICAgMTQKKy8vI2RlZmluZSBWTUNfU0VMICAgICAgICAgICAgICAweDgwMDAKKy8vICAgI2RlZmluZSBWTUNfU0VMX1NISUZUICAgICAgICAgICAxNQorLyogUE1JQ19DT05EOiBDb250cm9sIGFuZCBTdGF0dXMgb2YgTERPIG9mIFZidCAqLworI2RlZmluZSBWQlRfU1RBVVMgICAgICAgICAgICAweDAwMDEKKyAgICNkZWZpbmUgVkJUX1NUQVVTX1NISUZUICAgICAgICAgMAorI2RlZmluZSBWQlRfRU5fRk9SQ0UgICAgICAgICAweDAwMDIKKyAgICNkZWZpbmUgVkJUX0VOX0ZPUkNFX1NISUZUICAgICAgMQorI2RlZmluZSBJQ0FMQlRfRU4gICAgICAgICAgICAweDAwMEMKKyAgICNkZWZpbmUgSUNBTEJUX0VOX1NISUZUICAgICAgICAgMgorI2RlZmluZSBBTlRJVURTSF9CVF9ETiAgICAgICAweDAwMTAKKyAgICNkZWZpbmUgQU5USVVEU0hfQlRfRE5fU0hJRlQgICAgNAorI2RlZmluZSBWQlRfUExOTU9TX0RJUyAgICAgICAweDAwMjAKKyAgICNkZWZpbmUgVkJUX1BMTk1PU19ESVNfU0hJRlQgICAgNQorI2RlZmluZSBWQlRfQ0FMICAgICAgICAgICAgICAweDAzQzAKKyAgICNkZWZpbmUgVkJUX0NBTF9TSElGVCAgICAgICAgICAgNgorI2RlZmluZSBWQlRfRU4gICAgICAgICAgICAgICAweDQwMDAKKyAgICNkZWZpbmUgVkJUX0VOX1NISUZUICAgICAgICAgICAgMTQKKyNkZWZpbmUgVkJUX1NFTCAgICAgICAgICAgICAgMHg4MDAwCisgICAjZGVmaW5lIFZCVF9TRUxfU0hJRlQgICAgICAgICAgIDE1CisKKy8qIFBNSUNfQ09ORTogQ29udHJvbCBhbmQgU3RhdHVzIG9mIExETyBvZiBWY2FtZXJhLCBOT1QgdXNlZCBmcm9tIG5vdyAqLworLy8jZGVmaW5lIFZDQU1FUkFfU1RBVVMgICAgICAgICAgICAweDAwMDEKKy8vICAgI2RlZmluZSBWQ0FNRVJBX1NUQVVTX1NISUZUICAgICAgICAgMAorLy8jZGVmaW5lIFZDQU1FUkFfRU5fRk9SQ0UgICAgICAgICAweDAwMDIKKy8vICAgI2RlZmluZSBWQ0FNRVJBX0VOX0ZPUkNFX1NISUZUICAgICAgMQorLy8jZGVmaW5lIElDQUxDQU1FUkFfRU4gICAgICAgICAgICAweDAwMEMKKy8vICAgI2RlZmluZSBJQ0FMQ0FNRVJBX0VOX1NISUZUICAgICAgICAgMgorLy8jZGVmaW5lIEFOVElVRFNIX0NBTUVSQV9ETiAgICAgICAweDAwMTAKKy8vICAgI2RlZmluZSBBTlRJVURTSF9DQU1FUkFfRE5fU0hJRlQgICAgNAorLy8jZGVmaW5lIFZDQU1FUkFfUExOTU9TX0RJUyAgICAgICAweDAwMjAKKy8vICAgI2RlZmluZSBWQ0FNRVJBX1BMTk1PU19ESVNfU0hJRlQgICAgNQorLy8jZGVmaW5lIFZDQU1FUkFfQ0FMICAgICAgICAgICAgICAweDAzQzAKKy8vICAgI2RlZmluZSBWQ0FNRVJBX0NBTF9TSElGVCAgICAgICAgICAgNgorLy8jZGVmaW5lIERDVl9TTEVXX0NUUkwgICAgICAgICAgICAweDFDMDAKKy8vICAgI2RlZmluZSBEQ1ZfU0xFV19DVFJMX1NISUZUICAgICAgICAgMTAKKy8vI2RlZmluZSBWQ0FNRVJBX0VOICAgICAgICAgICAgICAgMHgyMDAwCisvLyAgICNkZWZpbmUgVkNBTUVSQV9FTl9TSElGVCAgICAgICAgICAgIDEzCisvLyNkZWZpbmUgVkNBTUVSQV9TRUwgICAgICAgICAgICAgIDB4QzAwMAorLy8gICAjZGVmaW5lIFZDQU1FUkFfU0VMX1NISUZUICAgICAgICAgICAxNAorLyogUE1JQ19DT05FOiBDb250cm9sIGFuZCBTdGF0dXMgb2YgTERPIG9mIFZjYW1fZCAqLworI2RlZmluZSBWQ0FNX0RfU1RBVVMgICAgICAgICAgICAweDAwMDEKKyAgICNkZWZpbmUgVkNBTV9EX1NUQVVTX1NISUZUICAgICAgICAgMAorI2RlZmluZSBWQ0FNX0RfRU5fRk9SQ0UgICAgICAgICAweDAwMDIKKyAgICNkZWZpbmUgVkNBTV9EX0VOX0ZPUkNFX1NISUZUICAgICAgMQorI2RlZmluZSBJQ0FMQ0FNX0RfRU4gICAgICAgICAgICAweDAwMEMKKyAgICNkZWZpbmUgSUNBTENBTV9EX0VOX1NISUZUICAgICAgICAgMgorI2RlZmluZSBBTlRJVURTSF9DQU1fRF9ETiAgICAgICAweDAwMTAKKyAgICNkZWZpbmUgQU5USVVEU0hfQ0FNX0RfRE5fU0hJRlQgICAgNAorI2RlZmluZSBWQ0FNX0RfUExOTU9TX0RJUyAgICAgICAweDAwMjAKKyAgICNkZWZpbmUgVkNBTV9EX1BMTk1PU19ESVNfU0hJRlQgICAgNQorI2RlZmluZSBWQ0FNX0RfQ0FMICAgICAgICAgICAgICAweDAzQzAKKyAgICNkZWZpbmUgVkNBTV9EX0NBTF9TSElGVCAgICAgICAgICAgNgorI2RlZmluZSBEQ1ZfU0xFV19DVFJMICAgICAgICAgICAgMHgxQzAwCisgICAjZGVmaW5lIERDVl9TTEVXX0NUUkxfU0hJRlQgICAgICAgICAxMAorI2RlZmluZSBWQ0FNX0RfRU4gICAgICAgICAgICAgICAweDIwMDAKKyAgICNkZWZpbmUgVkNBTV9EX0VOX1NISUZUICAgICAgICAgICAgMTMKKyNkZWZpbmUgVkNBTV9EX1NFTCAgICAgICAgICAgICAgMHhDMDAwCisgICAjZGVmaW5lIFZDQU1fRF9TRUxfU0hJRlQgICAgICAgICAgIDE0CisKKworLyogUE1JQ19DT05GOiBDb250cm9sIGFuZCBTdGF0dXMgb2YgTERPIG9mIFZzd2EsIFZ0Y3hvLCBWYSwgTk9UIHVzZWQgZnJvbSBub3cgKi8KKy8vI2RlZmluZSBWU1dfQV9TVEFVUyAgICAgICAgICAgIDB4MDAwMQorLy8gICAjZGVmaW5lIFZTV19BX1NUQVVTX1NISUZUICAgICAgICAgMAorLy8jZGVmaW5lIFZTV19BX0VOX0ZPUkNFICAgICAgICAgMHgwMDAyCisvLyAgICNkZWZpbmUgVlNXX0FfRU5fRk9SQ0VfU0hJRlQgICAgICAxCisvLyNkZWZpbmUgSUNBTFNXX0VOICAgICAgICAgICAgMHgwMDBDCisvLyAgICNkZWZpbmUgSUNBTFNXX0VOX1NISUZUICAgICAgICAgMgorLy8jZGVmaW5lIFZTV19BX1NFTCAgICAgICAgICAgIDB4MDAzMAorLy8gICAjZGVmaW5lIFZTV19BX1NFTF9TSElGVCAgICAgICAgIDQKKy8vI2RlZmluZSBWU1dfQV9DQUwgICAgICAgICAgICAweDAzQzAKKy8vICAgI2RlZmluZSBWU1dfQV9DQUxfU0hJRlQgICAgICAgICA2CisvLyNkZWZpbmUgSUNBTEFfRU4gICAgICAgICAgICAgMHgwQzAwCisvLyAgICNkZWZpbmUgSUNBTEFfRU5fU0hJRlQgICAgICAgICAgMTAKKy8vI2RlZmluZSBJQ0FMVENYT19FTiAgICAgICAgICAgMHgzMDAwCisvLyAgICNkZWZpbmUgSUNBTFRDWE9fRU5fU0hJRlQgICAgICAgIDEyCisvLyNkZWZpbmUgVlNXX0FfRU4gICAgICAgICAgICAgMHg0MDAwCisvLyAgICNkZWZpbmUgVlNXX0FfRU5fU0hJRlQgICAgICAgICAgMTQKKy8vI2RlZmluZSBPQ19GT0xEX0VOICAgICAgICAgICAweDgwMDAKKy8vICAgI2RlZmluZSBPQ19GT0xEX0VOX1NISUZUICAgICAgICAxNQorLyogUE1JQ19DT05GOiBDb250cm9sIGFuZCBTdGF0dXMgb2YgTERPIG9mIFZjYW1fYSwgVnRjeG8sIFZhICovCisjZGVmaW5lIFZDQU1fQV9TVEFVUyAgICAgICAgICAgIDB4MDAwMQorICAgI2RlZmluZSBWQ0FNX0FfU1RBVVNfU0hJRlQgICAgICAgICAwCisjZGVmaW5lIFZDQU1fQV9FTl9GT1JDRSAgICAgICAgIDB4MDAwMgorICAgI2RlZmluZSBWQ0FNX0FfRU5fRk9SQ0VfU0hJRlQgICAgICAxCisjZGVmaW5lIElDQUxDQU1fQV9FTiAgICAgICAgICAgIDB4MDAwQworICAgI2RlZmluZSBJQ0FMQ0FNX0FfRU5fU0hJRlQgICAgICAgICAyCisjZGVmaW5lIFZDQU1fQV9TRUwgICAgICAgICAgICAweDAwMzAKKyAgICNkZWZpbmUgVkNBTV9BX1NFTF9TSElGVCAgICAgICAgIDQKKyNkZWZpbmUgVkNBTV9BX0NBTCAgICAgICAgICAgIDB4MDNDMAorICAgI2RlZmluZSBWQ0FNX0FfQ0FMX1NISUZUICAgICAgICAgNgorI2RlZmluZSBJQ0FMQV9FTiAgICAgICAgICAgICAweDBDMDAKKyAgICNkZWZpbmUgSUNBTEFfRU5fU0hJRlQgICAgICAgICAgMTAKKyNkZWZpbmUgSUNBTFRDWE9fRU4gICAgICAgICAgIDB4MzAwMAorICAgI2RlZmluZSBJQ0FMVENYT19FTl9TSElGVCAgICAgICAgMTIKKyNkZWZpbmUgVkNBTV9BX0VOICAgICAgICAgICAgIDB4NDAwMAorICAgI2RlZmluZSBWQ0FNX0FfRU5fU0hJRlQgICAgICAgICAgMTQKKyNkZWZpbmUgT0NfRk9MRF9FTiAgICAgICAgICAgMHg4MDAwCisgICAjZGVmaW5lIE9DX0ZPTERfRU5fU0hJRlQgICAgICAgIDE1CisvKiBQTUlDX0NPTkc6IFN0YXJ0IFVwICYgQVVYQURDIFJlbGF0ZWQgQ29udHJvbCBSZWdpc3RlciAyICovCisjZGVmaW5lIFZSRUZfQkcgICAgICAgICAgICAgIDB4MDAwNworICAgI2RlZmluZSBWUkVGX0JHX1NISUZUICAgICAgICAgICAwCisjZGVmaW5lIFRIUl9TRUwgICAgICAgICAgICAgIDB4MDAxOAorICAgI2RlZmluZSBUSFJfU0VMX1NISUZUICAgICAgICAgICAzCisjZGVmaW5lIExET19TT0ZUX1NUICAgICAgICAgIDB4MDAyMAorICAgI2RlZmluZSBMRE9fU09GVF9TVF9TSElGVCAgICAgICA1CisjZGVmaW5lIFRQU0VMX0xFRCAgICAgICAgICAgIDB4MEYwMAorICAgI2RlZmluZSBUUFNFTF9MRURfU0hJRlQgICAgICAgICA4CisjZGVmaW5lIElTRU5TRV9PVVRfRU4gICAgICAgIDB4MTAwMAorICAgI2RlZmluZSBJU0VOU0VfT1VUX0VOX1NISUZUICAgICAxMgorI2RlZmluZSBWQkFUX09VVF9FTiAgICAgICAgICAweDIwMDAKKyAgICNkZWZpbmUgVkJBVF9PVVRfRU5fU0hJRlQgICAgICAgMTMKKworI2VuZGlmIC8qUE1JQ182MjM4X1JFR19BUEkqLworCisjZW5kaWYgLyogZGVmaW5lZChQTUlDXzYyMjNfUkVHX0FQSSkgfHwgZGVmaW5lZChQTUlDXzYyMzhfUkVHX0FQSSkgKi8KKworCisjZW5kaWYgLy8gI2lmbmRlZiBfX0RDTF9QTUlDNjIzNV9IV19IX1NUUlVDVF9fCisKKworCisKZGlmZiAtLWdpdCBhL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvZGNsX3BtdTYyMzVfc3cuaCBiL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvZGNsX3BtdTYyMzVfc3cuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNzFmZDEyCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9kY2xfcG11NjIzNV9zdy5oCkBAIC0wLDAgKzEsNjIxIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMDUKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4gCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRmlsZW5hbWU6CisgKiAtLS0tLS0tLS0KKyAqICAgIGRjbF9wbXU2MjM1X3N3LmgKKyAqCisgKiBQcm9qZWN0OgorICogLS0tLS0tLS0KKyAqICAgTWF1aV9Tb2Z0d2FyZQorICoKKyAqIERlc2NyaXB0aW9uOgorICogLS0tLS0tLS0tLS0tCisgKiAgIFRoaXMgZmlsZSBpcyBmb3IgUE1VNjIzNQorICoKKyAqIEF1dGhvcjoKKyAqIC0tLS0tLS0KKyAqIC0tLS0tLS0KKyAqCisgKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqICAgICAgICAgICAgIEhJU1RPUlkKKyAqIEJlbG93IHRoaXMgbGluZSwgdGhpcyBwYXJ0IGlzIGNvbnRyb2xsZWQgYnkgUFZDUyBWTS4gRE8gTk9UIE1PRElGWSEhCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKgorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIFVwcGVyIHRoaXMgbGluZSwgdGhpcyBwYXJ0IGlzIGNvbnRyb2xsZWQgYnkgUFZDUyBWTS4gRE8gTk9UIE1PRElGWSEhCisgKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisKKyNpZm5kZWYgX19EQ0xfUE1VNjIzNV9TV19IX1NUUlVDVF9fCisjZGVmaW5lIF9fRENMX1BNVTYyMzVfU1dfSF9TVFJVQ1RfXworCisKKyNpZiBkZWZpbmVkKFBNSUNfNjIzNV9SRUdfQVBJKSB8fCBkZWZpbmVkKFBNSUNfNjIzOF9SRUdfQVBJKQorCisvL3dvcmthcm91bmQgdGlsbCBwbXVfc3cuaCBpcyByZW1vdmVkCisjaWYgIWRlZmluZWQoUE1VNjIzNV9PTERfU1RSKQorI2RlZmluZSBQTVU2MjM1X09MRF9TVFIKKwordHlwZWRlZiBlbnVtIAoreworCUlDQUxfUkZfMV8wPTAsCisJSUNBTF9SRl8wXzU9MSwKKwlJQ0FMX1JGXzJfMD0yLAorCUlDQUxfUkZfM18wPTMKK31wbXVfaWNhbHJmX2NvZGU7CisKK3R5cGVkZWYgZW51bSAKK3sKKwlJQ0FMX0NPUkVfMV8wPTAsCisJSUNBTF9DT1JFXzBfNT0xLAorCUlDQUxfQ09SRV8yXzA9MiwKKwlJQ0FMX0NPUkVfM18wPTMKK31wbXVfaWNhbGNvcmVfY29kZTsKKwordHlwZWRlZiBlbnVtIAoreworCUlDQUxfSU9fMV8wPTAsCisJSUNBTF9JT18wXzU9MSwKKwlJQ0FMX0lPXzJfMD0yLAorCUlDQUxfSU9fM18wPTMKK31wbXVfaWNhbGlvX2NvZGU7CisKK3R5cGVkZWYgZW51bSAKK3sKKwlJQ0FMX01fMV8wPTAsCisJSUNBTF9NXzBfNT0xLAorCUlDQUxfTV8yXzA9MiwKKwlJQ0FMX01fM18wPTMKK31wbXVfaWNhbG1fY29kZTsKKwordHlwZWRlZiBlbnVtIAoreworCUlDQUxfU0lNXzFfMD0wLAorCUlDQUxfU0lNXzBfNT0xLAorCUlDQUxfU0lNXzJfMD0yLAorCUlDQUxfU0lNXzNfMD0zCit9cG11X2ljYWxzaW1fY29kZTsKKwordHlwZWRlZiBlbnVtIAoreyAgIAorICAgVlNJTV9TRUxfMV84PTAsCisgICBWU0lNX1NFTF8zXzAKK31wbXVfdnNpbV92b2x0OworCisKKwordHlwZWRlZiBlbnVtIAoreworICAgQ0hSX0NVUl9PRkZTRVRfTk9ORT0wLAorICAgQ0hSX0NVUl9PRkZTRVRfUExVU18xPTEsCisgICBDSFJfQ1VSX09GRlNFVF9QTFVTXzI9MiwKKyAgIENIUl9DVVJfT0ZGU0VUX01JTlVTXzI9NiwKKyAgIENIUl9DVVJfT0ZGU0VUX01JTlVTXzE9NworfXBtdV9jaHJfY3VyX29mZnNldDsKKwordHlwZWRlZiBlbnVtIAoreworICAgQ0hSX0NVUl81MD0wLAorICAgQ0hSX0NVUl84N181PTEsCisgICBDSFJfQ1VSXzE1MD0yLAorICAgQ0hSX0NVUl8yMjU9MywKKyAgIENIUl9DVVJfMzAwPTQsCisgICBDSFJfQ1VSXzQ1MD01LAorICAgQ0hSX0NVUl82NTA9NiwKKyAgIENIUl9DVVJfODAwPTcKK31wbXVfY2hyX2N1cl9sZXZlbDsKKworCit0eXBlZGVmIGVudW0gCit7CisgICBUSEVSTUFMX1RIUkVTX0lOSVQ9MHgwMDAwLAorICAgVEhFUk1BTF9USFJFU19QTFVTXzEwQz0weDAwMDEsCisgICBUSEVSTUFMX1RIUkVTX01JTlVTXzIwQz0weDAwMTAsCisgICBUSEVSTUFMX1RIUkVTX01JTlVTXzEwQz0weDAwMTEKK31wbXVfY2hyX3RoZXJtYWxfdGhyZXM7CisKK3R5cGVkZWYgZW51bSAKK3sKKyAgIFZPTFRfU1RFUF9JTklUPTAsCisgICBWT0xUX1NURVBfTUlOVVNfMT0xLAorICAgVk9MVF9TVEVQX01JTlVTXzI9MiwKKyAgIFZPTFRfU1RFUF9NSU5VU18zPTMsCisgICBWT0xUX1NURVBfUExVU180PTQsCisgICBWT0xUX1NURVBfUExVU18zPTUsCisgICBWT0xUX1NURVBfUExVU18yPTYsCisgICBWT0xUX1NURVBfUExVU18xPTcKK31wbXVfcmVmX3ZvbHRfc3RlcDsKKwordHlwZWRlZiBlbnVtIAoreworICAgVkJHX1ZPTFRfMV8yX1YgPSAwLAorICAgVkJHX1ZPTFRfMV8yMDVfViA9IDEsCisgICBWQkdfVk9MVF8xXzIxMF9WID0gMiwKKyAgIFZCR19WT0xUXzFfMjE1X1YgPSAzLAorICAgVkJHX1ZPTFRfMV8xODBfViA9IDQsCisgICBWQkdfVk9MVF8xXzE4NV9WID0gNSwKKyAgIFZCR19WT0xUXzFfMTkwX1YgPSA2LAorICAgVkJHX1ZPTFRfMV8xOTVfViA9IDcKK31wbXVfdmJnX3ZvbHQ7CisKK3R5cGVkZWYgZW51bSAKK3sKKyAgIEdQSU9fRFJWXzhNQSA9IDAsCisgICBHUElPX0RSVl80TUEgPSAxCit9cG11X2dwaW9fZHJ2X3N0cmVuZ3RoOworCit0eXBlZGVmIGVudW0gCit7CisgICBVVkxPX1ZPTFRfMl85X1Y9MCwKKyAgIFVWTE9fVk9MVF8yXzc1X1Y9MSwKKyAgIFVWTE9fVk9MVF8yXzZfVj0yLAorICAgVVZMT19WT0xUX0FTX0RETE89MworfXBtdV91dmxvX3ZvbHQ7CisKK3R5cGVkZWYgZW51bSAKK3sKKyAgIFJCR1NFTF9JTklUPTAsCisgICBSQkdTRUxfUExVU18xX1NURVA9MSwKKyAgIFJCR1NFTF9QTFVTXzJfU1RFUD0yLAorICAgUkJHU0VMX1BMVVNfM19TVEVQPTMsCisgICBSQkdTRUxfTUlOVVNfNF9TVEVQPTQsCisgICBSQkdTRUxfTUlOVVNfM19TVEVQPTUsCisgICBSQkdTRUxfTUlOVVNfMl9TVEVQPTYsCisgICBSQkdTRUxfTUlOVVNfMV9TVEVQPTcKK31wbXVfcmJnc2VsOworCit0eXBlZGVmIGVudW0gCit7CisgICBJQkdTRUxfSU5JVD0wLAorICAgSUJHU0VMX1BMVVNfMV9TVEVQPTEsCisgICBJQkdTRUxfTUlOVVNfMl9TVEVQPTIsCisgICBJQkdTRUxfTUlOVVNfMV9TVEVQPTMKK31wbXVfaWJnc2VsOworCit0eXBlZGVmIGVudW0gCit7CisgICBDS19TRUxfMTBLSFo9MCwKKyAgIENLX1NFTF81S0haPTEKK31wbXVfY2tzZWw7CisKK3R5cGVkZWYgZW51bSAKK3sKKyAgIFZCU19TRUxfMTIwMEs9MCwKKyAgIFZCU19TRUxfMTMyMEs9MSwKKyAgIFZCU19TRUxfOTYwSz0yLAorICAgVkJTX1NFTF8xMDgwSz0zCit9cG11X3Zic3NlbDsKKwordHlwZWRlZiBlbnVtIAoreworICAgT1ZfSFlTX0VOQl9MT1dFUj0wLAorICAgT1ZfSFlTX0VOQl9ISUdIRVI9MQorfXBtdV9vdl9oeXNfZW5iOworCit0eXBlZGVmIGVudW0gCit7CisgICBPVl9USEZSRUVaRV9BVVRPPTAsCisgICBPVl9USEZSRUVaRV9GSVhFRD0xCit9cG11X292X3RoZnJlZXplOworCit0eXBlZGVmIGVudW0gCit7CisgICBTRE1fMVNUX09SREVSID0gMCwKKyAgIFNETV8yTkRfT1JERVIgPSAxCit9cG11X3NkbV9vcmRlcjsKKwordHlwZWRlZiBlbnVtIAoreworICAgUElEX0dBSU5fUF8wXzI1ID0gMCwKKyAgIFBJRF9HQUlOX1BfMF8zNzUgPSAxLAorICAgUElEX0dBSU5fUF8wXzUgPSAyLAorICAgUElEX0dBSU5fUF8wXzc1ID0gMywKKyAgIFBJRF9HQUlOX1BfMSA9IDQsCisgICBQSURfR0FJTl9QXzFfNSA9IDUsCisgICBQSURfR0FJTl9QXzIgPSA2LAorICAgUElEX0dBSU5fUF8zID0gNworfXBtdV9waWRfZ2Fpbl9wOworCit0eXBlZGVmIGVudW0gCit7CisgICBQSURfR0FJTl8wXzAxNTYyNSA9IDAsCisgICBQSURfR0FJTl8wXzAyMzQzNzUgPSAxLAorICAgUElEX0dBSU5fMF8wMzEyNSA9IDIsCisgICBQSURfR0FJTl8wXzA0Njg3NSA9IDMsCisgICBQSURfR0FJTl8wXzA2MjUgPSA0LAorICAgUElEX0dBSU5fMF8wOTM3NSA9IDUsCisgICBQSURfR0FJTl8wXzEyNSA9IDYsCisgICBQSURfR0FJTl8wXzE4NzUgPSA3Cit9cG11X3BpZF9nYWluOworCit0eXBlZGVmIGVudW0gCit7CisgICBQSURfR0FJTl9EXzIgPSAwLAorICAgUElEX0dBSU5fRF8zID0gMSwKKyAgIFBJRF9HQUlOX0RfNCA9IDIsCisgICBQSURfR0FJTl9EXzYgPSAzLAorICAgUElEX0dBSU5fRF84ID0gNCwKKyAgIFBJRF9HQUlOX0RfMTIgPSA1LAorICAgUElEX0dBSU5fRF8xNiA9IDYsCisgICBQSURfR0FJTl9EXzI0ID0gNworfXBtdV9waWRfZ2Fpbl9kOworCit0eXBlZGVmIGVudW0gCit7CisgICBWQ09SRV8xXzhWID0gMCwKKyAgIFZDT1JFXzFfMlYgPSAxCit9cG11X3Zjb3JlX3ZvbHQ7CisKK3R5cGVkZWYgZW51bSAKK3sKKyAgIERDVl9JTlRFUk5BTCA9IDAsCisgICBEQ1ZfQ0xLX1RDWE8gPSAxCit9cG11X2Rjdl9jazsKKwordHlwZWRlZiBlbnVtIAoreworICAgSVNFTF8wXzI1ID0gMCwKKyAgIElTRUxfMV81ID0gMSwKKyAgIElTRUxfMSA9IDIsCisgICBJU0VMXzIgPSAzCit9cG11X2lzZWw7CisKK3R5cGVkZWYgZW51bSAKK3sKKyAgIE1PREVfU0VUX1BXTSA9IDAsCisgICBNT0RFX1NFVF9QRk0gPSAxCit9cG11X21vZGVfc2V0OworCit0eXBlZGVmIGVudW0gCit7CisgICBNT0RFX0NNUF9MT1dfT0ZGU0VUID0gMCwKKyAgIE1PREVfQ01QX0FVVE9fWkVSTyA9IDEKK31wbXVfbW9kZV9jbXA7CisKK3R5cGVkZWYgZW51bSAKK3sKKyAgIE1PREVfTkRDID0gMCwKKyAgIE1PREVfQVZFX0NVUlJFTlQgPSAxCit9cG11X21vZGVfYXZlX2N1cnJlbnQ7CisKKyNlbmRpZiAvLyNpZiAhZGVmaW5lZChQTVU2MjM1X09MRF9TVFIpCisKKy8qIFBGTSBtYXggbG9hZCBjdXJyZW50IHNlbGVjdC4gQ2FuIE9SIHRvZ2V0aGVyLiAqLworI2RlZmluZSAgIFBGTV9NQVhfMTYwX01BX0VOICAweDA4CisjZGVmaW5lICAgUEZNX01BWF84MF9NQV9FTiAgIDB4MDQKKyNkZWZpbmUgICBQRk1fTUFYXzQwX01BX0VOICAgMHgwMgorI2RlZmluZSAgIFBGTV9NQVhfMjBfTUFfRU4gICAweDAxCisKKy8qIFBGTSBtYXggbG9hZCByZXNpc3RvciBzZWxlY3QuIENhbiBPUiB0b2dldGhlciovCisjZGVmaW5lICAgUEZNX1JFU0lTVE9SXzUwX09ITSAweDA0CisjZGVmaW5lICAgUEZNX1JFU0lTVE9SXzEwMF9PSE0gMHgwMgorI2RlZmluZSAgIFBGTV9SRVNJU1RPUl8yMDBfT0hNIDB4MDEKKwordHlwZWRlZiBlbnVtIAoreworICAgTkRDX09GRlNFVF9NSU5VU18zbVYgPSAwLAorICAgTkRDX09GRlNFVF81bVYgPSAxLAorICAgTkRDX09GRlNFVF8xMm1WID0gMiwKKyAgIE5EQ19PRkZTRVRfMTdtViA9IDMKK31wbXVfbmRjX29mZnNldDsKKwordHlwZWRlZiBlbnVtIAoreworICAgSUFTRUxfNTBtViA9IDAsCisgICBJQVNFTF8xMDBtViA9IDEsCisgICBJQVNFTF8xNTBtViA9IDIsCisgICBJQVNFTF8yMDBtViA9IDMKK31wbXVfaWFzZWw7CisKK3R5cGVkZWYgZW51bSAKK3sKKyAgIFJTRUxfMzJrID0gMCwKKyAgIFJTRUxfMjhrID0gMSwKKyAgIFJTRUxfMjRrID0gMiwKKyAgIFJTRUxfMThrID0gMworfXBtdV9yc2VsOworCit0eXBlZGVmIGVudW0gCit7CisJSUNBTF9VU0JfMV8wPTAsCisJSUNBTF9VU0JfMF81PTEsCisJSUNBTF9VU0JfMl8wPTIsCisJSUNBTF9VU0JfM18wPTMKK31wbXVfaWNhbHVzYl9jb2RlOworCit0eXBlZGVmIGVudW0gCit7CisJQ0xLX1NSQ19GUk9NX0NMS1NRPTAsCisJQ0xLX1NSQ19GUk9NX1RDWE8yNk1fQ0s9MQorfXBtdV9jbGtfc3JjX3NlbDsKKwordHlwZWRlZiBlbnVtIAoreworCVZUQ1hPX0xET19XSVRIX1ZUQ1hPX0VOPTAsCisJVlRDWE9fTERPX1dJVEhfUkdfVlRDWE9fRU49MQorfXBtdV92dGN4b19vbl9zZWw7CisKK3R5cGVkZWYgZW51bSAKK3sKKwlJQ0FMX1NJTTJfMV8wPTAsCisJSUNBTF9TSU0yXzBfNT0xLAorCUlDQUxfU0lNMl8yXzA9MiwKKwlJQ0FMX1NJTTJfM18wPTMKK31wbXVfaWNhbHNpbTJfY29kZTsKKworLy90eXBlZGVmIGVudW0gCisvL3sKKy8vCUlDQUxfTUNfMV8wPTAsCisvLwlJQ0FMX01DXzBfNT0xLAorLy8JSUNBTF9NQ18yXzA9MiwKKy8vCUlDQUxfTUNfM18wPTMKKy8vfXBtdV9pY2FsbWNfY29kZTsKKy8vIHZtYyByZWxhdGVkIGl0ZW1zIGFyZSBjaGFuZ2VkIGFzIHZidAordHlwZWRlZiBlbnVtIAoreworCUlDQUxfQlRfMV8wPTAsCisJSUNBTF9CVF8wXzU9MSwKKwlJQ0FMX0JUXzJfMD0yLAorCUlDQUxfQlRfM18wPTMKK31wbXVfaWNhbGJ0X2NvZGU7CisKKy8vdHlwZWRlZiBlbnVtIAorLy97ICAgCisvLyAgIFZNQ19TRUxfMV84PTAsCisvLyAgIFZNQ19TRUxfM18wCisvL31wbXVfdm1jX3ZvbHQ7CisvLyB2bWMgcmVsYXRlZCBpdGVtcyBhcmUgY2hhbmdlZCBhcyB2YnQKK3R5cGVkZWYgZW51bSAKK3sgICAKKyAgIFZCVF9TRUxfMl84PTAsCisgICBWQlRfU0VMXzNfMAorfXBtdV92YnRfdm9sdDsKKworLy90eXBlZGVmIGVudW0gCisvL3sKKy8vCUlDQUxfQ0FNRVJBXzFfMD0wLAorLy8JSUNBTF9DQU1FUkFfMF81PTEsCisvLwlJQ0FMX0NBTUVSQV8yXzA9MiwKKy8vCUlDQUxfQ0FNRVJBXzNfMD0zCisvL31wbXVfaWNhbGNhbWVyYV9jb2RlOworLy8gdmNhbWVyYSA9PT4gdmNhbV9kCit0eXBlZGVmIGVudW0gCit7CisJSUNBTF9DQU1fRF8xXzA9MCwKKwlJQ0FMX0NBTV9EXzBfNT0xLAorCUlDQUxfQ0FNX0RfMl8wPTIsCisJSUNBTF9DQU1fRF8zXzA9MworfXBtdV9pY2FsY2FtX2RfY29kZTsKKworLy90eXBlZGVmIGVudW0gCisvL3sgICAKKy8vICAgVkNBTUVSQV9TRUxfMV8zPTAsCisvLyAgIFZDQU1FUkFfU0VMXzFfNT0xLAorLy8gICBWQ0FNRVJBX1NFTF8xXzg9MiwKKy8vICAgVkNBTUVSQV9TRUxfMl84PTMKKy8vfXBtdV92Y2FtZXJhX3ZvbHQ7CisvLyB2Y2FtZXJhID09PiB2Y2FtX2QKK3R5cGVkZWYgZW51bSAKK3sgICAKKyAgIFZDQU1fRF9TRUxfMV8zPTAsCisgICBWQ0FNX0RfU0VMXzFfNT0xLAorICAgVkNBTV9EX1NFTF8xXzg9MiwKKyAgIFZDQU1fRF9TRUxfMl84PTMKK31wbXVfdmNhbV9kX3ZvbHQ7CisKKy8vdHlwZWRlZiBlbnVtIAorLy97CisvLwlJQ0FMX1NXXzFfMD0wLAorLy8JSUNBTF9TV18wXzU9MSwKKy8vCUlDQUxfU1dfMl8wPTIsCisvLwlJQ0FMX1NXXzNfMD0zCisvL31wbXVfaWNhbHN3X2NvZGU7Cit0eXBlZGVmIGVudW0gCit7CisJSUNBTF9DQU1fQV8xXzA9MCwKKwlJQ0FMX0NBTV9BXzBfNT0xLAorCUlDQUxfQ0FNX0FfMl8wPTIsCisJSUNBTF9DQU1fQV8zXzA9MworfXBtdV9pY2FsY2FtX2FfY29kZTsKKworLy90eXBlZGVmIGVudW0gCisvL3sgICAKKy8vICAgVlNXX0FfU0VMXzFfMz0wLAorLy8gICBWU1dfQV9TRUxfMV81PTEsCisvLyAgIFZTV19BX1NFTF8xXzg9MiwKKy8vICAgVlNXX0FfU0VMXzJfOD0zCisvL31wbXVfdnN3X2Ffdm9sdDsKK3R5cGVkZWYgZW51bSAKK3sgICAKKyAgIFZDQU1fQV9TRUxfMV8zPTAsCisgICBWQ0FNX0FfU0VMXzFfNT0xLAorICAgVkNBTV9BX1NFTF8xXzg9MiwKKyAgIFZDQU1fQV9TRUxfMl84PTMKK31wbXVfdmNhbV9hX3ZvbHQ7CisKK3R5cGVkZWYgZW51bSAKK3sKKwlJQ0FMX0FfMV8wPTAsCisJSUNBTF9BXzBfNT0xLAorCUlDQUxfQV8yXzA9MiwKKwlJQ0FMX0FfM18wPTMKK31wbXVfaWNhbGFfY29kZTsKKwordHlwZWRlZiBlbnVtIAoreworCUlDQUxfVENYT18xXzA9MCwKKwlJQ0FMX1RDWE9fMF81PTEsCisJSUNBTF9UQ1hPXzJfMD0yLAorCUlDQUxfVENYT18zXzA9MworfXBtdV9pY2FsdGN4b19jb2RlOworCit0eXBlZGVmIGVudW0gCit7CisJVlJFRl9CR19JTklUPTAsCisJVlJFRl9CR19QTFVTXzFfU1RFUD0xLAorCVZSRUZfQkdfUExVU18yX1NURVA9MiwKKwlWUkVGX0JHX1BMVVNfM19TVEVQPTMsCisgICBWUkVGX0JHX01JTlVTXzRfU1RFUD00LAorICAgVlJFRl9CR19NSU5VU18zX1NURVA9NSwKKyAgIFZSRUZfQkdfTUlOVVNfMl9TVEVQPTYsCisgICBWUkVGX0JHX01JTlVTXzFfU1RFUD03Cit9cG11X3ZyZWZfYmc7CisKK3R5cGVkZWYgZW51bSAKK3sKKwlUSFJfU0VMX0lOSVQ9MCwKKwlUSFJfU0VMX1BMVVNfMTBDPTEsCisJVEhSX1NFTF9NSU5VU18yMEM9MiwKKwlUSFJfU0VMX01JTlVTXzEwQz0zCit9cG11X3Rocl9zZWw7CisKKyNkZWZpbmUgUE1VX0FEQ19WSVNFTlNFX0NIX05VTSAgIDQKKyNkZWZpbmUgUE1VX0FEQ19WQkFUX0NIX05VTSAgICAgIDUKKyNkZWZpbmUgUE1VX0FEQ19WQ0hBUkdFUl9DSF9OVU0gIDYKKworI2RlZmluZSBQTVVfQURDX0ZBQ1RPUl9WQkFUICAgICAgMTAwCisjZGVmaW5lIFBNVV9BRENfRkFDVE9SX1ZJU0VOU0UgICAxMDAKKyNkZWZpbmUgUE1VX0FEQ19GQUNUT1JfVkNIQVJHRVIgIDI1MAorCisjZGVmaW5lIFBNVV9CTVRfQ1ZfVEFSR0VUX1ZPTFRBR0UJUE1VX1ZPTFRfMDRfMjAwMDAwX1YJCisKKyNpZiBkZWZpbmVkKFBNSUNfRklYRURfQ0hSX0VJTlQpCisjZGVmaW5lIFBNVV9DSFJfRUlOVF9QSU4gICAgICA4CisjZW5kaWYgLy8gI2lmIGRlZmluZWQoUE1JQ19GSVhFRF9DSFJfRUlOVCkKKworLyoKK3R5cGVkZWYgZW51bQoreworCVZDT1JFLAorCVZJTywKKwlWUkYsCisJVkEsCisJVlJUQywKKwlWTSwKKwlWU0lNLAorCVZUQ1hPLAorCVZTSU0yLAorCVZVU0IsCisJVkJULAorCVZDQU1BLAorCVZDQU1ELAorCVBNVV9MRE9fQlVDS19NQVgsCisJVk1DLAorCVZJQlIsCisJVlJGMTgsCisJVkZNCit9UE1VX0xET19CVUNLX0xJU1RfRU5VTTsKKwordHlwZWRlZiBlbnVtCit7CisJVlBBMSwKKwlQTVVfVlBBX01BWAorfVBNVV9WUEFfTElTVF9FTlVNOworCisKK3R5cGVkZWYgZW51bQoreworCUtQTEVELAorCVBNVV9LUExFRF9NQVgKK31QTVVfS1BMRURfTElTVF9FTlVNOworCit0eXBlZGVmIGVudW0KK3sKKwlDSFIsCisJUE1VX0NIUl9NQVgKK31QTVVfQ0hSX0xJU1RfRU5VTTsKKwordHlwZWRlZiBlbnVtCit7CisJUE1VX0lTSU5LX01BWAorfVBNVV9JU0lOS19MSVNUX0VOVU07CisKK3R5cGVkZWYgZW51bQoreworCVBNVV9CT09TVF9NQVgKK31QTVVfQk9PU1RfTElTVF9FTlVNOworCit0eXBlZGVmIGVudW0KK3sKKwlQTVVfU1BLX01BWAorfVBNVV9TUEtfTElTVF9FTlVNOworKi8KKworI2VuZGlmIC8vI2lmIGRlZmluZWQoUE1JQ182MjM1X1JFR19BUEkpCisjZW5kaWYgLy8jaWZuZGVmIF9fRENMX1BNVTYyNTVfU1dfSF9TVFJVQ1RfXworCisKKworCisKKworCisKZGlmZiAtLWdpdCBhL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvZGNsX3BtdTYyMzZfaHcuaCBiL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvZGNsX3BtdTYyMzZfaHcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMTZlYmVlCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9kY2xfcG11NjIzNl9ody5oCkBAIC0wLDAgKzEsODA4IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMDUKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4gCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRmlsZW5hbWU6CisgKiAtLS0tLS0tLS0KKyAqICAgIGRjbF9wbXU2MjM2X2h3LmgKKyAqCisgKiBQcm9qZWN0OgorICogLS0tLS0tLS0KKyAqICAgTWF1aV9Tb2Z0d2FyZQorICoKKyAqIERlc2NyaXB0aW9uOgorICogLS0tLS0tLS0tLS0tCisgKiAgIFRoaXMgZmlsZSBpcyBmb3IgUE1VNjIzNgorICoKKyAqIEF1dGhvcjoKKyAqIC0tLS0tLS0KKyAqIC0tLS0tLS0KKyAqCisgKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqICAgICAgICAgICAgIEhJU1RPUlkKKyAqIEJlbG93IHRoaXMgbGluZSwgdGhpcyBwYXJ0IGlzIGNvbnRyb2xsZWQgYnkgUFZDUyBWTS4gRE8gTk9UIE1PRElGWSEhCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogVXBwZXIgdGhpcyBsaW5lLCB0aGlzIHBhcnQgaXMgY29udHJvbGxlZCBieSBQVkNTIFZNLiBETyBOT1QgTU9ESUZZISEKKyAqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKworI2lmbmRlZiBfX0RDTF9QTUlDNjIzNl9IV19IX1NUUlVDVF9fCisjZGVmaW5lIF9fRENMX1BNSUM2MjM2X0hXX0hfU1RSVUNUX18KKworCisjaW5jbHVkZSAiZGNsX3BtaWNfZmVhdHVyZXMuaCIKKworI2lmIGRlZmluZWQoUE1JQ182MjM2X1JFR19BUEkpCisKKyNkZWZpbmUgUE1VX0JBU0UgICAgICAgIE1JWEVEX2Jhc2UKKyNkZWZpbmUgUE1VX0VORCAgICAgICAgIChQTVVfQkFTRSsweDEwMDApIAorCisvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKKyNkZWZpbmUgUE1JQ19MRE9fQkFTRTAgICAgICAgKFBNVV9CQVNFKzB4ODAwKSAKKyNkZWZpbmUgUE1JQ19MRE9fQkFTRTEgICAgICAgKFBNVV9CQVNFKzB4ODA0KSAKKworI2RlZmluZSBQTUlDX1ZSRl9DT04wICAgICAgIChQTVVfQkFTRSsweDgwMCkgCisjZGVmaW5lIFBNSUNfVlJGX0NPTjEgICAgICAgKFBNVV9CQVNFKzB4ODA0KSAKKyNkZWZpbmUgUE1JQ19WUkZfQ09OMiAgICAgICAoUE1VX0JBU0UrMHg4MDgpIAorI2RlZmluZSBQTUlDX1ZSRl9DT04zICAgICAgIChQTVVfQkFTRSsweDgwQykgCisKKyNkZWZpbmUgUE1JQ19WVENYT19DT04wICAgICAoUE1VX0JBU0UrMHg4MTApIAorI2RlZmluZSBQTUlDX1ZUQ1hPX0NPTjEgICAgIChQTVVfQkFTRSsweDgxNCkgCisjZGVmaW5lIFBNSUNfVlRDWE9fQ09OMiAgICAgKFBNVV9CQVNFKzB4ODE4KSAKKworI2RlZmluZSBQTUlDX1ZBX0NPTjAgICAgICAgIChQTVVfQkFTRSsweDgyMCkgCisjZGVmaW5lIFBNSUNfVkFfQ09OMSAgICAgICAgKFBNVV9CQVNFKzB4ODI0KSAKKyNkZWZpbmUgUE1JQ19WQV9DT04yICAgICAgICAoUE1VX0JBU0UrMHg4MjgpIAorCisjZGVmaW5lIFBNSUNfVkNBTUFfQ09OMCAgICAgKFBNVV9CQVNFKzB4ODMwKSAKKyNkZWZpbmUgUE1JQ19WQ0FNQV9DT04xICAgICAoUE1VX0JBU0UrMHg4MzQpIAorI2RlZmluZSBQTUlDX1ZDQU1BX0NPTjIgICAgIChQTVVfQkFTRSsweDgzOCkgCisKKyNkZWZpbmUgUE1JQ19WQ0FNRF9DT04wICAgICAoUE1VX0JBU0UrMHg4NDApIAorI2RlZmluZSBQTUlDX1ZDQU1EX0NPTjEgICAgIChQTVVfQkFTRSsweDg0NCkgCisjZGVmaW5lIFBNSUNfVkNBTURfQ09OMiAgICAgKFBNVV9CQVNFKzB4ODQ4KSAKKworI2RlZmluZSBQTUlDX1ZJT19DT04wICAgICAgIChQTVVfQkFTRSsweDg1MCkgCisjZGVmaW5lIFBNSUNfVklPX0NPTjEgICAgICAgKFBNVV9CQVNFKzB4ODU0KSAKKyNkZWZpbmUgUE1JQ19WSU9fQ09OMiAgICAgICAoUE1VX0JBU0UrMHg4NTgpIAorCisjZGVmaW5lIFBNSUNfVlVTQl9DT04wICAgICAgKFBNVV9CQVNFKzB4ODYwKSAKKyNkZWZpbmUgUE1JQ19WVVNCX0NPTjEgICAgICAoUE1VX0JBU0UrMHg4NjQpIAorI2RlZmluZSBQTUlDX1ZVU0JfQ09OMiAgICAgIChQTVVfQkFTRSsweDg2OCkgCisKKyNkZWZpbmUgUE1JQ19WQlRfQ09OMCAgICAgICAoUE1VX0JBU0UrMHg4NzApIAorI2RlZmluZSBQTUlDX1ZCVF9DT04xICAgICAgIChQTVVfQkFTRSsweDg3NCkgCisjZGVmaW5lIFBNSUNfVkJUX0NPTjIgICAgICAgKFBNVV9CQVNFKzB4ODc4KSAKKworI2RlZmluZSBQTUlDX1ZTSU1fQ09OMCAgICAgIChQTVVfQkFTRSsweDg4MCkgCisjZGVmaW5lIFBNSUNfVlNJTV9DT04xICAgICAgKFBNVV9CQVNFKzB4ODg0KSAKKyNkZWZpbmUgUE1JQ19WU0lNX0NPTjIgICAgICAoUE1VX0JBU0UrMHg4ODgpIAorI2RlZmluZSBQTUlDX1ZTSU1fQ09OMyAgICAgIChQTVVfQkFTRSsweDg4QykgCisKKyNkZWZpbmUgUE1JQ19WU0lNMl9DT04wICAgICAoUE1VX0JBU0UrMHg4OTApIAorI2RlZmluZSBQTUlDX1ZTSU0yX0NPTjEgICAgIChQTVVfQkFTRSsweDg5NCkgCisjZGVmaW5lIFBNSUNfVlNJTTJfQ09OMiAgICAgKFBNVV9CQVNFKzB4ODk4KSAKKyNkZWZpbmUgUE1JQ19WU0lNMl9DT04zICAgICAoUE1VX0JBU0UrMHg4OUMpIAorCisjZGVmaW5lIFBNSUNfVkJBQ0tVUF9DT04wICAgKFBNVV9CQVNFKzB4OEEwKSAKKyNkZWZpbmUgUE1JQ19WQkFDS1VQX0NPTjEgICAoUE1VX0JBU0UrMHg4QTQpIAorI2RlZmluZSBQTUlDX1ZCQUNLVVBfQ09OMiAgIChQTVVfQkFTRSsweDhBOCkgCisKKyNkZWZpbmUgUE1JQ19WQklSX0NPTjAgICAgICAoUE1VX0JBU0UrMHg4QjApIAorI2RlZmluZSBQTUlDX1ZCSVJfQ09OMSAgICAgIChQTVVfQkFTRSsweDhCNCkgCisjZGVmaW5lIFBNSUNfVkJJUl9DT04yICAgICAgKFBNVV9CQVNFKzB4OEI4KSAKKworI2RlZmluZSBQTUlDX1ZNQ19DT04wICAgICAgIChQTVVfQkFTRSsweDhDMCkgCisjZGVmaW5lIFBNSUNfVk1DX0NPTjEgICAgICAgKFBNVV9CQVNFKzB4OEM0KSAKKyNkZWZpbmUgUE1JQ19WTUNfQ09OMiAgICAgICAoUE1VX0JBU0UrMHg4QzgpIAorCisjZGVmaW5lIFBNSUNfVkNPUkVfQ09OMCAgICAgKFBNVV9CQVNFKzB4OTAwKQorI2RlZmluZSBQTUlDX1ZDT1JFX0NPTjEgICAgIChQTVVfQkFTRSsweDkwNCkKKyNkZWZpbmUgUE1JQ19WQ09SRV9DT04yICAgICAoUE1VX0JBU0UrMHg5MDgpCisjZGVmaW5lIFBNSUNfVkNPUkVfQ09OMyAgICAgKFBNVV9CQVNFKzB4OTBDKQorI2RlZmluZSBQTUlDX1ZDT1JFX0NPTjQgICAgIChQTVVfQkFTRSsweDkxMCkKKyNkZWZpbmUgUE1JQ19WQ09SRV9DT041ICAgICAoUE1VX0JBU0UrMHg5MTQpCisjZGVmaW5lIFBNSUNfVkNPUkVfQ09ONiAgICAgKFBNVV9CQVNFKzB4OTE4KQorCisjZGVmaW5lIFBNSUNfVk1fQ09OMCAgICAgICAgKFBNVV9CQVNFKzB4OTIwKQorI2RlZmluZSBQTUlDX1ZNX0NPTjEgICAgICAgIChQTVVfQkFTRSsweDkyNCkKKyNkZWZpbmUgUE1JQ19WTV9DT04yICAgICAgICAoUE1VX0JBU0UrMHg5MjgpCisjZGVmaW5lIFBNSUNfVk1fQ09OMyAgICAgICAgKFBNVV9CQVNFKzB4OTJDKQorI2RlZmluZSBQTUlDX1ZNX0NPTjQgICAgICAgIChQTVVfQkFTRSsweDkzMCkKKyNkZWZpbmUgUE1JQ19WTV9DT041ICAgICAgICAoUE1VX0JBU0UrMHg5MzQpCisjZGVmaW5lIFBNSUNfVk1fQ09ONiAgICAgICAgKFBNVV9CQVNFKzB4OTM4KQorCisKKyNkZWZpbmUgUE1JQ19CT09TVF9DT04wICAgICAoUE1VX0JBU0UrMHhCMDApIAorI2RlZmluZSBQTUlDX0JPT1NUX0NPTjEgICAgIChQTVVfQkFTRSsweEIwNCkgCisjZGVmaW5lIFBNSUNfQk9PU1RfQ09OMiAgICAgKFBNVV9CQVNFKzB4QjA4KSAKKyNkZWZpbmUgUE1JQ19CT09TVF9DT04zICAgICAoUE1VX0JBU0UrMHhCMEMpIAorCisjZGVmaW5lIFBNSUNfQkxfQ09OMCAgICAgICAgKFBNVV9CQVNFKzB4QjgwKSAKKyNkZWZpbmUgUE1JQ19CTF9DT04xICAgICAgICAoUE1VX0JBU0UrMHhCODQpIAorCisKKyNkZWZpbmUgUE1JQ19DSFJfQ09OMCAgICAgICAoUE1VX0JBU0UrMHhBMDApIAorI2RlZmluZSBQTUlDX0NIUl9DT04xICAgICAgIChQTVVfQkFTRSsweEEwNCkKKyNkZWZpbmUgUE1JQ19DSFJfQ09OMiAgICAgICAoUE1VX0JBU0UrMHhBMDgpCisjZGVmaW5lIFBNSUNfQ0hSX0NPTjMgICAgICAgKFBNVV9CQVNFKzB4QTBDKQorI2RlZmluZSBQTUlDX0NIUl9DT040ICAgICAgIChQTVVfQkFTRSsweEExMCkKKyNkZWZpbmUgUE1JQ19DSFJfQ09ONSAgICAgICAoUE1VX0JBU0UrMHhBMTQpCisjZGVmaW5lIFBNSUNfQ0hSX0NPTjYgICAgICAgKFBNVV9CQVNFKzB4QTE4KQorI2RlZmluZSBQTUlDX0NIUl9DT043ICAgICAgIChQTVVfQkFTRSsweEExQykKKyNkZWZpbmUgUE1JQ19DSFJfQ09OOCAgICAgICAoUE1VX0JBU0UrMHhBMjApCisjZGVmaW5lIFBNSUNfQ0hSX0NPTjkgICAgICAgKFBNVV9CQVNFKzB4QTI0KQorCisjZGVmaW5lIFBNSUNfU1RSVVBfQ09OMCAgICAgKFBNVV9CQVNFKzB4QTgwKSAKKyNkZWZpbmUgUE1JQ19TVFJVUF9DT04xICAgICAoUE1VX0JBU0UrMHhBODQpIAorCisjZGVmaW5lIFBNSUNfSVNJTkswX0NPTjAgICAgKFBNVV9CQVNFKzB4QzAwKSAKKyNkZWZpbmUgUE1JQ19JU0lOSzBfQ09OMSAgICAoUE1VX0JBU0UrMHhDMDQpIAorCisjZGVmaW5lIFBNSUNfSVNJTksxX0NPTjAgICAgKFBNVV9CQVNFKzB4QzEwKSAKKyNkZWZpbmUgUE1JQ19JU0lOSzJfQ09OMCAgICAoUE1VX0JBU0UrMHhDMjApIAorI2RlZmluZSBQTUlDX0lTSU5LM19DT04wICAgIChQTVVfQkFTRSsweEMzMCkgCisjZGVmaW5lIFBNSUNfSVNJTks0X0NPTjAgICAgKFBNVV9CQVNFKzB4QzQwKSAKKworI2RlZmluZSBQTUlDX0tQTEVEX0NPTjAgICAgIChQTVVfQkFTRSsweEM4MCkgCisjZGVmaW5lIFBNSUNfS1BMRURfQ09OMSAgICAgKFBNVV9CQVNFKzB4Qzg0KSAgIAorCisjZGVmaW5lIFBNSUNfRkxBU0hfQ09OMCAgICAgKFBNVV9CQVNFKzB4QzkwKSAKKyNkZWZpbmUgUE1JQ19GTEFTSF9DT04xICAgICAoUE1VX0JBU0UrMHhDOTQpICAgCisKKworI2RlZmluZSBQTUlDX1NQS19DT04wICAgICAgIChQTVVfQkFTRSsweEQwMCkKKyNkZWZpbmUgUE1JQ19TUEtfQ09OMSAgICAgICAoUE1VX0JBU0UrMHhEMDQpCisjZGVmaW5lIFBNSUNfU1BLX0NPTjIgICAgICAgKFBNVV9CQVNFKzB4RDA4KQorI2RlZmluZSBQTUlDX1NQS19DT04zICAgICAgIChQTVVfQkFTRSsweEQwQykKKworCisjZGVmaW5lIFBNSUNfVEVTVF9DT04wICAgICAgKFBNVV9CQVNFKzB4RjAwKQorI2RlZmluZSBQTUlDX1RFU1RfQ09OMSAgICAgIChQTVVfQkFTRSsweEYwNCkKKworI2RlZmluZSBQTUlDX09DX0NPTjAgICAgICAgIChQTVVfQkFTRSsweEUwMCkgCisjZGVmaW5lIFBNSUNfT0NfQ09OMSAgICAgICAgKFBNVV9CQVNFKzB4RTA0KSAKKyNkZWZpbmUgUE1JQ19PQ19DT04yICAgICAgICAoUE1VX0JBU0UrMHhFMDgpIAorI2RlZmluZSBQTUlDX09DX0NPTjMgICAgICAgIChQTVVfQkFTRSsweEUwQykgCisjZGVmaW5lIFBNSUNfT0NfQ09ONCAgICAgICAgKFBNVV9CQVNFKzB4RTEwKSAKKyNkZWZpbmUgUE1JQ19PQ19DT041ICAgICAgICAoUE1VX0JBU0UrMHhFMTQpIAorI2RlZmluZSBQTUlDX09DX0NPTjYgICAgICAgIChQTVVfQkFTRSsweEUxOCkgCisjZGVmaW5lIFBNSUNfT0NfQ09ONyAgICAgICAgKFBNVV9CQVNFKzB4RTFDKSAKKworCisjZGVmaW5lIExET19FTl9NQVNLICAgICAgICAgICAgIDB4MDAwMQorI2RlZmluZSBMRDBfRU5fU0hJRlQgICAgICAgICAgICAwCisjZGVmaW5lIExET19PTl9TRUxfTUFTSyAgICAgICAgIDB4MDAwMgorI2RlZmluZSBMRE9fT05fU0VMX1NISUZUICAgICAgICAxCisjZGVmaW5lIExET19TRU5TRV9NQVNLICAgICAgICAgIDB4MDAwNAorI2RlZmluZSBMRE9fU0VOU0VfU0hJRlQgICAgICAgICAyCisjZGVmaW5lIExET19PQ0ZCX0VOX01BU0sgICAgICAgIDB4MjAwMAorI2RlZmluZSBMRE9fT0NGQl9FTl9TSElGVCAgICAgICAxMworI2RlZmluZSBMRE9fU1RBVFVTX01BU0sgICAgICAgICAweDgwMDAKKyNkZWZpbmUgTERPX1NUQVRVU19TSElGVCAgICAgICAgMTUKKworI2RlZmluZSBMRE9fQ0FMX01BU0sgICAgICAgICAgICAweDAwRjAKKyNkZWZpbmUgTERPX0NBTF9TSElGVCAgICAgICAgICAgNAorCisKKy8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy8vICgweDgwMCkgVlJGX0NPTjAKKyNkZWZpbmUgVlJGX0VOX01BU0sgICAgICAgICAgICAgMHgwMDAxCisjZGVmaW5lIFZSRl9FTl9TSElGVCAgICAgICAgICAgIDAKKyNkZWZpbmUgVlJGX09OX1NFTF9NQVNLICAgICAgICAgMHgwMDAyCisjZGVmaW5lIFZSRl9PTl9TRUxfU0hJRlQgICAgICAgIDEKKyNkZWZpbmUgVlJGX1JFTU9URV9TRU5TRV9NQVNLICAgMHgwMDA0CisjZGVmaW5lIFZSRl9SRU1PVEVfU0VOU0VfU0hJRlQgIDIKKyNkZWZpbmUgVlJGX05ESVNfRU5fTUFTSyAgICAgICAgMHgwNDAwCisjZGVmaW5lIFZSRl9ORElTX0VOX1NISUZUICAgICAgIDEwCisjZGVmaW5lIFZSRl9TVEJfRU5fTUFTSyAgICAgICAgIDB4MDgwMAorI2RlZmluZSBWUkZfU1RCX0VOX1NISUZUICAgICAgICAxMQorI2RlZmluZSBWUkZfT0NfQVVUT19PRkZfTUFTSyAgICAweDEwMDAKKyNkZWZpbmUgVlJGX09DX0FVVE9fT0ZGX1NISUZUICAgMTIKKyNkZWZpbmUgVlJGX09DRkJfRU5fTUFTSyAgICAgICAgMHgyMDAwCisjZGVmaW5lIFZSRl9PQ0ZCX0VOX1NISUZUICAgICAgIDEzCisjZGVmaW5lIFZSRl9TVEFUVVNfTUFTSyAgICAgICAgIDB4ODAwMAorI2RlZmluZSBWUkZfU1RBVFVTX1NISUZUICAgICAgICAxNQorCisvLyAoMHg4MDQpIFZSRl9DT04xCisjZGVmaW5lIFZSRl9DQUxfTUFTSyAgICAgICAgICAgIDB4MDBGMAorI2RlZmluZSBWUkZfQ0FMX1NISUZUICAgICAgICAgICA0CisKKy8vICgweDgxMCkgVlRDWE9fQ09OMAorI2RlZmluZSBWVENYT19FTl9NQVNLICAgICAgICAgICAgICAgMHgwMDAxCisjZGVmaW5lIFZUQ1hPX0VOX1NISUZUICAgICAgICAgICAgICAwCisjZGVmaW5lIFZUQ1hPX09OX1NFTF9NQVNLICAgICAgICAgICAweDAwMDIKKyNkZWZpbmUgVlRDWE9fT05fU0VMX1NISUZUICAgICAgICAgIDEKKyNkZWZpbmUgVlRDWE9fUkVNT1RFX1NFTlNFX01BU0sgICAgIDB4MDAwNAorI2RlZmluZSBWVENYT19SRU1PVEVfU0VOU0VfU0hJRlQgICAgMgorI2RlZmluZSBWVENYT19ORElTX0VOX01BU0sgICAgICAgICAgMHgwNDAwCisjZGVmaW5lIFZUQ1hPX05ESVNfRU5fU0hJRlQgICAgICAgICAxMAorI2RlZmluZSBWVENYT19TVEJfRU5fTUFTSyAgICAgICAgICAgMHgwODAwCisjZGVmaW5lIFZUQ1hPX1NUQl9FTl9TSElGVCAgICAgICAgICAxMQorI2RlZmluZSBWVENYT19PQ19BVVRPX09GRl9NQVNLICAgICAgMHgxMDAwCisjZGVmaW5lIFZUQ1hPX09DX0FVVE9fT0ZGX1NISUZUICAgICAxMgorI2RlZmluZSBWVENYT19PQ0ZCX0VOX01BU0sgICAgICAgICAgMHgyMDAwCisjZGVmaW5lIFZUQ1hPX09DRkJfRU5fU0hJRlQgICAgICAgICAxMworI2RlZmluZSBWVENYT19TVEFUVVNfTUFTSyAgICAgICAgICAgMHg4MDAwCisjZGVmaW5lIFZUQ1hPX1NUQVRVU19TSElGVCAgICAgICAgICAxNQorCisvLyAoMHg4MTQpIFZUQ1hPX0NPTjEKKyNkZWZpbmUgVlRDWE9fQ0FMX01BU0sgICAgICAgICAgICAgIDB4MDBGMAorI2RlZmluZSBWVENYT19DQUxfU0hJRlQgICAgICAgICAgICAgNAorCisvLyAoMHg4MjApIFZBX0NPTjAKKyNkZWZpbmUgVkFfUkVNT1RFX1NFTlNFX01BU0sgICAgICAgIDB4MDAwNAorI2RlZmluZSBWQV9SRU1PVEVfU0VOU0VfU0hJRlQgICAgICAgMgorI2RlZmluZSBWQV9ORElTX0VOX01BU0sgICAgICAgICAgICAgMHgwNDAwCisjZGVmaW5lIFZBX05ESVNfRU5fU0hJRlQgICAgICAgICAgICAxMAorI2RlZmluZSBWQV9TVEJfRU5fTUFTSyAgICAgICAgICAgICAgMHgwODAwCisjZGVmaW5lIFZBX1NUQl9FTl9TSElGVCAgICAgICAgICAgICAxMQorI2RlZmluZSBWQV9PQ19BVVRPX09GRl9NQVNLICAgICAgICAgMHgxMDAwCisjZGVmaW5lIFZBX09DX0FVVE9fT0ZGX1NISUZUICAgICAgICAxMgorI2RlZmluZSBWQV9PQ0ZCX0VOX01BU0sgICAgICAgICAgICAgMHgyMDAwCisjZGVmaW5lIFZBX09DRkJfRU5fU0hJRlQgICAgICAgICAgICAxMworI2RlZmluZSBWQV9TVEFUVVNfTUFTSyAgICAgICAgICAgICAgMHg4MDAwCisjZGVmaW5lIFZBX1NUQVRVU19TSElGVCAgICAgICAgICAgICAxNQorCisvLyAoMHg4MjQpIFZBX0NPTjEKKyNkZWZpbmUgVkFfQ0FMX01BU0sgICAgICAgICAgICAgICAgIDB4MDBGMAorI2RlZmluZSBWQV9DQUxfU0hJRlQgICAgICAgICAgICAgICAgNAorCisvLyAoMHg4MzApIFZDQU1BX0NPTjAKKyNkZWZpbmUgVkNBTUFfRU5fTUFTSyAgICAgICAgICAgICAgIDB4MDAwMQorI2RlZmluZSBWQ0FNQV9FTl9TSElGVCAgICAgICAgICAgICAgMAorI2RlZmluZSBWQ0FNQV9PTl9TRUxfTUFTSyAgICAgICAgICAgMHgwMDAyCisjZGVmaW5lIFZDQU1BX09OX1NFTF9TSElGVCAgICAgICAgICAxCisjZGVmaW5lIFZDQU1BX1ZPU0VMX01BU0sgICAgICAgICAgICAweDAwMzAKKyNkZWZpbmUgVkNBTUFfVk9TRUxfU0hJRlQgICAgICAgICAgIDQKKyNkZWZpbmUgVkNBTUFfTkRJU19FTl9NQVNLICAgICAgICAgIDB4MDQwMAorI2RlZmluZSBWQ0FNQV9ORElTX0VOX1NISUZUICAgICAgICAgMTAKKyNkZWZpbmUgVkNBTUFfU1RCX0VOX01BU0sgICAgICAgICAgIDB4MDgwMAorI2RlZmluZSBWQ0FNQV9TVEJfRU5fU0hJRlQgICAgICAgICAgMTEKKyNkZWZpbmUgVkNBTUFfT0NfQVVUT19PRkZfTUFTSyAgICAgIDB4MTAwMAorI2RlZmluZSBWQ0FNQV9PQ19BVVRPX09GRl9TSElGVCAgICAgMTIKKyNkZWZpbmUgVkNBTUFfT0NGQl9FTl9NQVNLICAgICAgICAgIDB4MjAwMAorI2RlZmluZSBWQ0FNQV9PQ0ZCX0VOX1NISUZUICAgICAgICAgMTMKKyNkZWZpbmUgVkNBTUFfU1RBVFVTX01BU0sgICAgICAgICAgIDB4ODAwMAorI2RlZmluZSBWQ0FNQV9TVEFUVVNfU0hJRlQgICAgICAgICAgMTUKKworLy8gKDB4ODM0KSBWQ0FNQV9DT04xCisjZGVmaW5lIFZDQU1BX0NBTF9NQVNLICAgICAgICAgICAgICAweDAwRjAKKyNkZWZpbmUgVkNBTUFfQ0FMX1NISUZUICAgICAgICAgICAgIDQKKworLy8gKDB4ODM4KSBWQ0FNQV9DT04yCisjZGVmaW5lIFZDQU1BX09DX1REX01BU0sgICAgICAgICAgICAweDAwMzAKKyNkZWZpbmUgVkNBTUFfT0NfVERfU0hJRlQgICAgICAgICAgIDQKKyNkZWZpbmUgVkNBTUFfU1RCX1REX01BU0sgICAgICAgICAgIDB4MDBDMAorI2RlZmluZSBWQ0FNQV9TVEJfVERfU0hJRlQgICAgICAgICAgNgorCisvLyAoMHg4NDApIFZDQU1EX0NPTjAKKyNkZWZpbmUgVkNBTURfRU5fTUFTSyAgICAgICAgICAgICAgIDB4MDAwMQorI2RlZmluZSBWQ0FNRF9FTl9TSElGVCAgICAgICAgICAgICAgMAorI2RlZmluZSBWQ0FNRF9PTl9TRUxfTUFTSyAgICAgICAgICAgMHgwMDAyCisjZGVmaW5lIFZDQU1EX09OX1NFTF9TSElGVCAgICAgICAgICAxCisjZGVmaW5lIFZDQU1EX1ZPU0VMX01BU0sgICAgICAgICAgICAweDAwNzAKKyNkZWZpbmUgVkNBTURfVk9TRUxfU0hJRlQgICAgICAgICAgIDQKKyNkZWZpbmUgVkNBTURfTkRJU19FTl9NQVNLICAgICAgICAgIDB4MDQwMAorI2RlZmluZSBWQ0FNRF9ORElTX0VOX1NISUZUICAgICAgICAgMTAKKyNkZWZpbmUgVkNBTURfU1RCX0VOX01BU0sgICAgICAgICAgIDB4MDgwMAorI2RlZmluZSBWQ0FNRF9TVEJfRU5fU0hJRlQgICAgICAgICAgMTEKKyNkZWZpbmUgVkNBTURfT0NfQVVUT19PRkZfTUFTSyAgICAgIDB4MTAwMAorI2RlZmluZSBWQ0FNRF9PQ19BVVRPX09GRl9TSElGVCAgICAgMTIKKyNkZWZpbmUgVkNBTURfT0NGQl9FTl9NQVNLICAgICAgICAgIDB4MjAwMAorI2RlZmluZSBWQ0FNRF9PQ0ZCX0VOX1NISUZUICAgICAgICAgMTMKKyNkZWZpbmUgVkNBTURfU1RBVFVTX01BU0sgICAgICAgICAgIDB4ODAwMAorI2RlZmluZSBWQ0FNRF9TVEFUVVNfU0hJRlQgICAgICAgICAgMTUKKyAgICAgICAgICAgICAgICAgCisvLyAoMHg4NDQpIFZDQU1EIENPTjEKKyNkZWZpbmUgVkNBTURfQ0FMX01BU0sgICAgICAgICAgICAgIDB4MDBGMAorI2RlZmluZSBWQ0FNRF9DQUxfU0hJRlQgICAgICAgICAgICAgNAorCisvLyAoMHg4NTApIFZJT19DT04wCisjZGVmaW5lIFZJT19SRU1PVEVfU0VOU0VfTUFTSyAgICAgICAweDAwMDQKKyNkZWZpbmUgVklPX1JFTU9URV9TRU5TRV9TSElGVCAgICAgIDIKKyNkZWZpbmUgVklPX09DX0FVVE9fT0ZGX01BU0sgICAgICAgIDB4MTAwMAorI2RlZmluZSBWSU9fTkRJU19FTl9NQVNLICAgICAgICAgICAgMHgwNDAwCisjZGVmaW5lIFZJT19ORElTX0VOX1NISUZUICAgICAgICAgICAxMAorI2RlZmluZSBWSU9fU1RCX0VOX01BU0sgICAgICAgICAgICAgMHgwODAwCisjZGVmaW5lIFZJT19TVEJfRU5fU0hJRlQgICAgICAgICAgICAxMQorI2RlZmluZSBWSU9fT0NfQVVUT19PRkZfU0hJRlQgICAgICAgMTIKKyNkZWZpbmUgVklPX09DRkJfRU5fTUFTSyAgICAgICAgICAgIDB4MjAwMAorI2RlZmluZSBWSU9fT0NGQl9FTl9TSElGVCAgICAgICAgICAgMTMKKyNkZWZpbmUgVklPX1NUQVRVU19NQVNLICAgICAgICAgICAgIDB4ODAwMAorI2RlZmluZSBWSU9fU1RBVFVTX1NISUZUICAgICAgICAgICAgMTUKKworLy8gKDB4ODU0KSBWSU9fQ09OMQorI2RlZmluZSBWSU9fQ0FMX01BU0sgICAgICAgICAgICAgICAgMHgwMEYwCisjZGVmaW5lIFZJT19DQUxfU0hJRlQgICAgICAgICAgICAgICA0CisKKy8vICgweDg1OCkgVklPX0NPTjIKKyNkZWZpbmUgVklPX09DX1REX01BU0sgICAgICAgICAgICAgIDB4MDAzMAorI2RlZmluZSBWSU9fT0NfVERfU0hJRlQgICAgICAgICAgICAgNAorCisvLyAoMHg4NjApIFZVU0JfQ09OMAorI2RlZmluZSBWVVNCX0VOX01BU0sgICAgICAgICAgICAgICAgMHgwMDAxCisjZGVmaW5lIFZVU0JfRU5fU0hJRlQgICAgICAgICAgICAgICAwCisjZGVmaW5lIFZVU0JfTkRJU19FTl9NQVNLICAgICAgICAgICAweDA0MDAKKyNkZWZpbmUgVlVTQl9ORElTX0VOX1NISUZUICAgICAgICAgIDEwCisjZGVmaW5lIFZVU0JfU1RCX0VOX01BU0sgICAgICAgICAgICAweDA4MDAKKyNkZWZpbmUgVlVTQl9TVEJfRU5fU0hJRlQgICAgICAgICAgIDExCisjZGVmaW5lIFZVU0JfT0NfQVVUT19PRkZfTUFTSyAgICAgICAweDEwMDAKKyNkZWZpbmUgVlVTQl9PQ19BVVRPX09GRl9TSElGVCAgICAgIDEyCisjZGVmaW5lIFZVU0JfT0NGQl9FTl9NQVNLICAgICAgICAgICAweDIwMDAKKyNkZWZpbmUgVlVTQl9PQ0ZCX0VOX1NISUZUICAgICAgICAgIDEzCisjZGVmaW5lIFZVU0JfU1RBVFVTX01BU0sgICAgICAgICAgICAweDgwMDAKKyNkZWZpbmUgVlVTQl9TVEFUVVNfU0hJRlQgICAgICAgICAgIDE1CisKKy8vICgweDg2NCkgVlVTQl9DT04xCisjZGVmaW5lIFZVU0JfQ0FMX01BU0sgICAgICAgICAgICAgICAweDAwRjAKKyNkZWZpbmUgVlVTQl9DQUxfU0hJRlQgICAgICAgICAgICAgIDQKKworLy8gKDB4ODY4KSBWVVNCX0NPTjIKKyNkZWZpbmUgVlVTQl9PQ19URF9NQVNLICAgICAgICAgICAgIDB4MDAzMAorI2RlZmluZSBWVVNCX09DX1REX1NISUZUICAgICAgICAgICAgNAorI2RlZmluZSBWVVNCX1NUQl9URF9NQVNLICAgICAgICAgICAgMHgwMEMwCisjZGVmaW5lIFZVU0JfU1RCX1REX1NISUZUICAgICAgICAgICA2CisKKy8vICgweDg3MCkgVkJUIENPTjAKKyNkZWZpbmUgVkJUX0VOX01BU0sgICAgICAgICAgICAgICAgIDB4MDAwMQorI2RlZmluZSBWQlRfRU5fU0hJRlQgICAgICAgICAgICAgICAgMAorI2RlZmluZSBWQlRfVk9TRUxfTUFTSyAgICAgICAgICAgICAgMHgwMDEwCisjZGVmaW5lIFZCVF9WT1NFTF9TSElGVCAgICAgICAgICAgICA0CisjZGVmaW5lIFZCVF9ORElTX0VOX01BU0sgICAgICAgICAgICAweDA0MDAKKyNkZWZpbmUgVkJUX05ESVNfRU5fU0hJRlQgICAgICAgICAgIDEwCisjZGVmaW5lIFZCVF9TVEJfRU5fTUFTSyAgICAgICAgICAgICAweDA4MDAKKyNkZWZpbmUgVkJUX1NUQl9FTl9TSElGVCAgICAgICAgICAgIDExCisjZGVmaW5lIFZCVF9PQ19BVVRPX09GRl9NQVNLICAgICAgICAweDEwMDAKKyNkZWZpbmUgVkJUX09DX0FVVE9fT0ZGX1NISUZUICAgICAgIDEyCisjZGVmaW5lIFZCVF9PQ0ZCX0VOX01BU0sgICAgICAgICAgICAweDIwMDAKKyNkZWZpbmUgVkJUX09DRkJfRU5fU0hJRlQgICAgICAgICAgIDEzCisjZGVmaW5lIFZCVF9TVEFUVVNfTUFTSyAgICAgICAgICAgICAweDgwMDAKKyNkZWZpbmUgVkJUX1NUQVRVU19TSElGVCAgICAgICAgICAgIDE1CisKKy8vICgweDg3NCkgVkJUIENPTjEKKyNkZWZpbmUgVkJUX0NBTF9NQVNLICAgICAgICAgICAgICAgIDB4MDBGMAorI2RlZmluZSBWQlRfQ0FMX1NISUZUICAgICAgICAgICAgICAgNAorCisvLyAoMHg4NzgpIFZCVCBDT04yCisjZGVmaW5lIFZCVF9PQ19URF9NQVNLICAgICAgICAgICAgICAweDAwMzAKKyNkZWZpbmUgVkJUX09DX1REX1NISUZUICAgICAgICAgICAgIDQKKyNkZWZpbmUgVkJUX1NUQl9URF9NQVNLICAgICAgICAgICAgIDB4MDBDMAorI2RlZmluZSBWQlRfU1RCX1REX1NISUZUICAgICAgICAgICAgNgorCisvLyAoMHg4ODApIFZTSU0gQ09OMAorI2RlZmluZSBWU0lNX0VOX01BU0sgICAgICAgICAgICAgICAgMHgwMDAxCisjZGVmaW5lIFZTSU1fRU5fU0hJRlQgICAgICAgICAgICAgICAwCisjZGVmaW5lIFZTSU1fVk9TRUxfTUFTSyAgICAgICAgICAgICAweDAwMTAKKyNkZWZpbmUgVlNJTV9WT1NFTF9TSElGVCAgICAgICAgICAgIDQKKyNkZWZpbmUgVlNJTV9ORElTX0VOX01BU0sgICAgICAgICAgIDB4MDQwMAorI2RlZmluZSBWU0lNX05ESVNfRU5fU0hJRlQgICAgICAgICAgMTAKKyNkZWZpbmUgVlNJTV9TVEJfRU5fTUFTSyAgICAgICAgICAgIDB4MDgwMAorI2RlZmluZSBWU0lNX1NUQl9FTl9TSElGVCAgICAgICAgICAgMTEKKyNkZWZpbmUgVlNJTV9PQ19BVVRPX09GRl9NQVNLICAgICAgIDB4MTAwMAorI2RlZmluZSBWU0lNX09DX0FVVE9fT0ZGX1NISUZUICAgICAgMTIKKyNkZWZpbmUgVlNJTV9PQ0ZCX0VOX01BU0sgICAgICAgICAgIDB4MjAwMAorI2RlZmluZSBWU0lNX09DRkJfRU5fU0hJRlQgICAgICAgICAgMTMKKyNkZWZpbmUgVlNJTV9TVEFUVVNfTUFTSyAgICAgICAgICAgIDB4ODAwMAorI2RlZmluZSBWU0lNX1NUQVRVU19TSElGVCAgICAgICAgICAgMTUKKworLy8gKDB4ODg0KSBWU0lNX0NPTjEKKyNkZWZpbmUgVlNJTV9DQUxfTUFTSyAgICAgICAgICAgICAgIDB4MDBGMAorI2RlZmluZSBWU0lNX0NBTF9TSElGVCAgICAgICAgICAgICAgNAorCisvLyAoMHg4ODgpIFZTSU1fQ09OMgorI2RlZmluZSBWU0lNX09DX1REX01BU0sgICAgICAgICAgICAgMHgwMDMwCisjZGVmaW5lIFZTSU1fT0NfVERfU0hJRlQgICAgICAgICAgICA0CisgICAgICAgICAgICAgICAgIAorLy8gKDB4ODkwKSBWU0lNMiBDT04wCisjZGVmaW5lIFZTSU0yX0VOX01BU0sgICAgICAgICAgICAgICAweDAwMDEKKyNkZWZpbmUgVlNJTTJfRU5fU0hJRlQgICAgICAgICAgICAgIDAKKyNkZWZpbmUgVlNJTTJfVk9TRUxfTUFTSyAgICAgICAgICAgIDB4MDA3MAorI2RlZmluZSBWU0lNMl9WT1NFTF9TSElGVCAgICAgICAgICAgNAorI2RlZmluZSBWU0lNMl9ORElTX0VOX01BU0sgICAgICAgICAgMHgwNDAwCisjZGVmaW5lIFZTSU0yX05ESVNfRU5fU0hJRlQgICAgICAgICAxMAorI2RlZmluZSBWU0lNMl9TVEJfRU5fTUFTSyAgICAgICAgICAgMHgwODAwCisjZGVmaW5lIFZTSU0yX1NUQl9FTl9TSElGVCAgICAgICAgICAxMQorI2RlZmluZSBWU0lNMl9PQ19BVVRPX09GRl9NQVNLICAgICAgMHgxMDAwCisjZGVmaW5lIFZTSU0yX09DX0FVVE9fT0ZGX1NISUZUICAgICAxMgorI2RlZmluZSBWU0lNMl9PQ0ZCX0VOX01BU0sgICAgICAgICAgMHgyMDAwCisjZGVmaW5lIFZTSU0yX09DRkJfRU5fU0hJRlQgICAgICAgICAxMworI2RlZmluZSBWU0lNMl9TVEFUVVNfTUFTSyAgICAgICAgICAgMHg4MDAwCisjZGVmaW5lIFZTSU0yX1NUQVRVU19TSElGVCAgICAgICAgICAxNQorCisvLyAoMHg4OTQpIFZTSU0yX0NPTjEKKyNkZWZpbmUgVlNJTTJfQ0FMX01BU0sgICAgICAgICAgICAgIDB4MDBGMAorI2RlZmluZSBWU0lNMl9DQUxfU0hJRlQgICAgICAgICAgICAgNAorCisvLyAoMHg4OTgpIFZTSU0yX0NPTjIKKyNkZWZpbmUgVlNJTTJfR1BMRE9fRU5fTUFTSyAgICAgICAgIDB4MDAwMgorI2RlZmluZSBWU0lNMl9HUExET19FTl9TSElGVCAgICAgICAgMQorCisKKy8vICgweDhBMCkgVkJBQ0tVUF9DT04wCisjZGVmaW5lIFZCQUNLVVBfRU5fTUFTSyAgICAgICAgICAgICAweDAwMDEKKyNkZWZpbmUgVkJBQ0tVUF9FTl9TSElGVCAgICAgICAgICAgIDAKKyNkZWZpbmUgVkJBQ0tVUF9ORElTX0VOX01BU0sgICAgICAgIDB4MDQwMAorI2RlZmluZSBWQkFDS1VQX05ESVNfRU5fU0hJRlQgICAgICAgMTAKKyNkZWZpbmUgVkJBQ0tVUF9TVEJfRU5fTUFTSyAgICAgICAgIDB4MDgwMAorI2RlZmluZSBWQkFDS1VQX1NUQl9FTl9TSElGVCAgICAgICAgMTEKKyNkZWZpbmUgVkJBQ0tVUF9PQ19BVVRPX09GRl9NQVNLICAgIDB4MTAwMAorI2RlZmluZSBWQkFDS1VQX09DX0FVVE9fT0ZGX1NISUZUICAgMTIKKyNkZWZpbmUgVkJBQ0tVUF9PQ0ZCX0VOX01BU0sgICAgICAgIDB4MjAwMAorI2RlZmluZSBWQkFDS1VQX09DRkJfRU5fU0hJRlQgICAgICAgMTMKKyNkZWZpbmUgVkJBQ0tVUF9TVEFUVVNfTUFTSyAgICAgICAgIDB4ODAwMAorI2RlZmluZSBWQkFDS1VQX1NUQVRVU19TSElGVCAgICAgICAgMTUKKworLy8gKDB4OEIwKSBWaWJyX0NPTjAKKyNkZWZpbmUgVklCUl9FTl9NQVNLICAgICAgICAgICAgICAgIDB4MDAwMQorI2RlZmluZSBWSUJSX0VOX1NISUZUICAgICAgICAgICAgICAgMAorI2RlZmluZSBWSUJSX1ZPU0VMX01BU0sgICAgICAgICAgICAgMHgwMDcwCisjZGVmaW5lIFZJQlJfVk9TRUxfU0hJRlQgICAgICAgICAgICA0CisjZGVmaW5lIFZJQlJfTkRJU19FTl9NQVNLICAgICAgICAgICAweDA0MDAKKyNkZWZpbmUgVklCUl9ORElTX0VOX1NISUZUICAgICAgICAgIDEwCisjZGVmaW5lIFZJQlJfU1RCX0VOX01BU0sgICAgICAgICAgICAweDA4MDAKKyNkZWZpbmUgVklCUl9TVEJfRU5fU0hJRlQgICAgICAgICAgIDExCisjZGVmaW5lIFZJQlJfT0NfQVVUT19PRkZfTUFTSyAgICAgICAweDEwMDAKKyNkZWZpbmUgVklCUl9PQ19BVVRPX09GRl9TSElGVCAgICAgIDEyCisjZGVmaW5lIFZJQlJfT0NGQl9FTl9NQVNLICAgICAgICAgICAweDIwMDAKKyNkZWZpbmUgVklCUl9PQ0ZCX0VOX1NISUZUICAgICAgICAgIDEzCisjZGVmaW5lIFZJQlJfU1RBVFVTX01BU0sgICAgICAgICAgICAweDgwMDAKKyNkZWZpbmUgVklCUl9TVEFUVVNfU0hJRlQgICAgICAgICAgIDE1CisKKy8vICgweDhCNCkgVklCUl9DT04xCisjZGVmaW5lIFZJQlJfQ0FMX01BU0sgICAgICAgICAgICAgICAweDAwRjAKKyNkZWZpbmUgVklCUl9DQUxfU0hJRlQgICAgICAgICAgICAgIDQKKworLy8gKDB4OEMwKSBWTUNfQ09OMAorI2RlZmluZSBWTUNfRU5fTUFTSyAgICAgICAgICAgICAgICAgMHgwMDAxCisjZGVmaW5lIFZNQ19FTl9TSElGVCAgICAgICAgICAgICAgICAwCisjZGVmaW5lIFZNQ19WT1NFTF9NQVNLICAgICAgICAgICAgICAweDAwNzAKKyNkZWZpbmUgVk1DX1ZPU0VMX1NISUZUICAgICAgICAgICAgIDQKKyNkZWZpbmUgVk1DX05ESVNfRU5fTUFTSyAgICAgICAgICAgIDB4MDQwMAorI2RlZmluZSBWTUNfTkRJU19FTl9TSElGVCAgICAgICAgICAgMTAKKyNkZWZpbmUgVk1DX1NUQl9FTl9NQVNLICAgICAgICAgICAgIDB4MDgwMAorI2RlZmluZSBWTUNfU1RCX0VOX1NISUZUICAgICAgICAgICAgMTEKKyNkZWZpbmUgVk1DX09DX0FVVE9fT0ZGX01BU0sgICAgICAgIDB4MTAwMAorI2RlZmluZSBWTUNfT0NfQVVUT19PRkZfU0hJRlQgICAgICAgMTIKKyNkZWZpbmUgVk1DX09DRkJfRU5fTUFTSyAgICAgICAgICAgIDB4MjAwMAorI2RlZmluZSBWTUNfT0NGQl9FTl9TSElGVCAgICAgICAgICAgMTMKKyNkZWZpbmUgVk1DX1NUQVRVU19NQVNLICAgICAgICAgICAgIDB4ODAwMAorI2RlZmluZSBWTUNfU1RBVFVTX1NISUZUICAgICAgICAgICAgMTUKKworLy8gKDB4MDhDNCkgVk1DX0NPTjEKKyNkZWZpbmUgVk1DX0NBTF9NQVNLICAgICAgICAgICAgICAgIDB4MDBGMAorI2RlZmluZSBWTUNfQ0FMX1NISUZUICAgICAgICAgICAgICAgNAorCisvLyAoMHg5MDApIFZDT1JFX0NPTjAKKyNkZWZpbmUgVkNPUkVfRU5fTUFTSyAgICAgICAgICAgICAgIDB4MDAwMQorI2RlZmluZSBWQ09SRV9FTl9TSElGVCAgICAgICAgICAgICAgMAorI2RlZmluZSBWQ09SRV9SRU1PVEVfU0VOU0VfTUFTSyAgICAgMHgwMDA0CisjZGVmaW5lIFZDT1JFX1JFTU9URV9TRU5TRV9TSElGVCAgICAyCisjZGVmaW5lIFZDT1JFX1ZGQkFESl9NQVNLICAgICAgICAgICAweDAxRjAKKyNkZWZpbmUgVkNPUkVfVkZCQURKX1NISUZUICAgICAgICAgIDQKKyNkZWZpbmUgVkNPUkVfU1RCX0VOX01BU0sgICAgICAgICAgIDB4MDgwMAorI2RlZmluZSBWQ09SRV9TVEJfRU5fU0hJRlQgICAgICAgICAgMTEKKyNkZWZpbmUgVkNPUkVfT0NfQVVUT19PRkZfTUFTSyAgICAgIDB4MTAwMAorI2RlZmluZSBWQ09SRV9PQ19BVVRPX09GRl9TSElGVCAgICAgMTIKKyNkZWZpbmUgVkNPUkVfT0NGQl9FTl9NQVNLICAgICAgICAgIDB4MjAwMAorI2RlZmluZSBWQ09SRV9PQ0ZCX0VOX1NISUZUICAgICAgICAgMTMKKyNkZWZpbmUgVkNPUkVfU1RBVFVTX01BU0sgICAgICAgICAgIDB4ODAwMAorI2RlZmluZSBWQ09SRV9TVEFUVVNfU0hJRlQgICAgICAgICAgMTUKKworLy8gKDB4OTA0KSBWQ09SRV9DT04xCisjZGVmaW5lIFZDT1JFX01PREVfU0VUX01BU0sgICAgICAgICAweDAwMDEKKyNkZWZpbmUgVkNPUkVfTU9ERV9TRVRfU0hJRlQgICAgICAgIDAKKyNkZWZpbmUgVkNPUkVfVkZCQURKX1NMRUVQX01BU0sgICAgIDB4MDFGMAorI2RlZmluZSBWQ09SRV9WRkJBREpfU0xFRVBfU0hJRlQgICAgNAorI2RlZmluZSBWQ09SRV9DUE1DS1NFTF9NQVNLICAgICAgICAgMHgwNDAwCisjZGVmaW5lIFZDT1JFX0NQTUNLU0VMX1NISUZUICAgICAgICAxMAorCisvLyAoMHg5MDgpIFZDT1JFX0NPTjIKKyNkZWZpbmUgVkNPUkVfVk9TRUxfTUFTSyAgICAgICAgICAgIDB4MDAwNworI2RlZmluZSBWQ09SRV9WT1NFTF9TSElGVCAgICAgICAgICAgMAorI2RlZmluZSBWQ09SRV9DQUxfTUFTSyAgICAgICAgICAgICAgMHgwMEYwCisjZGVmaW5lIFZDT1JFX0NBTF9TSElGVCAgICAgICAgICAgICA0CisgICAgICAgICAgICAgICAgIAorLy8gKDB4OTBDKSBWQ09SRV9DT04zCisjZGVmaW5lIFZDT1JFX0lDQUxfRU5fTUFTSyAgICAgICAgICAweDMwMDAKKyNkZWZpbmUgVkNPUkVfSUNBTF9FTl9TSElGVCAgICAgICAgIDEyCisKKy8vICgweDkxNCkgVkNPUkVfQ09ONQorI2RlZmluZSBWQ09SRV9DU0xfTUFTSyAgICAgICAgICAgICAgMHgwNzAwCisjZGVmaW5lIFZDT1JFX0NTTF9TSElGVCAgICAgICAgICAgICA4CisjZGVmaW5lIFZDT1JFX0JVUlNUX01BU0sgICAgICAgICAgICAweDMwMDAKKyNkZWZpbmUgVkNPUkVfQlVSU1RfU0hJRlQgICAgICAgICAgIDEyCisKKy8vICgweDkyMCkgVk1fQ09OMAorI2RlZmluZSBWTV9SRU1PVEVfU0VOU0VfTUFTSyAgICAgICAgMHgwMDA0CisjZGVmaW5lIFZNX1JFTU9URV9TRU5TRV9TSElGVCAgICAgICAyCisjZGVmaW5lIFZNX1NUQl9FTl9NQVNLICAgICAgICAgICAgICAweDA4MDAKKyNkZWZpbmUgVk1fU1RCX0VOX1NISUZUICAgICAgICAgICAgIDExCisjZGVmaW5lIFZNX09DX0FVVE9fT0ZGX01BU0sgICAgICAgICAweDEwMDAKKyNkZWZpbmUgVk1fT0NfQVVUT19PRkZfU0hJRlQgICAgICAgIDEyCisjZGVmaW5lIFZNX09DRkJfRU5fTUFTSyAgICAgICAgICAgICAweDIwMDAKKyNkZWZpbmUgVk1fT0NGQl9FTl9TSElGVCAgICAgICAgICAgIDEzCisjZGVmaW5lIFZNX1NUQVRVU19NQVNLICAgICAgICAgICAgICAweDgwMDAKKyNkZWZpbmUgVk1fU1RBVFVTX1NISUZUICAgICAgICAgICAgIDE1CisKKy8vICgweDkyOCkgVk1fQ09OMgorI2RlZmluZSBWTV9DQUxfTUFTSyAgICAgICAgIDB4MDBGMAorI2RlZmluZSBWTV9DQUxfU0hJRlQgICAgICAgIDQKKworLy8gKDB4OTJDKSBWTV9DT04zCisjZGVmaW5lIFZNX0lDQUxfRU5fTUFTSyAgICAgMHgzMDAwCisjZGVmaW5lIFZNX0lDQUxfRU5fU0hJRlQgICAgMTIKKworLy8gKDB4OTJDKSBWTV9DT041CisjZGVmaW5lIFZNX0NTTF9NQVNLICAgICAgICAgMHgwNzAwCisjZGVmaW5lIFZNX0NTTF9TSElGVCAgICAgICAgOAorI2RlZmluZSBWTV9CVVJTVF9NQVNLICAgICAgIDB4MzAwMAorI2RlZmluZSBWTV9CVVJTVF9TSElGVCAgICAgIDEyCisgICAgICAgICAgICAgICAgIAorLy8gKDB4QTAwKSAgQ0hSX0NPTjAKKyNkZWZpbmUgVkNEVF9MVl9WVEhfTUFTSyAgICAgICAgICAgIDB4MDAwRgorI2RlZmluZSBWQ0RUX0xWX1ZUSF9TSElGVCAgICAgICAgICAgMAorI2RlZmluZSBWQ0RUX0hWX1ZUSF9NQVNLICAgICAgICAgICAgMHgwMEYwCisjZGVmaW5lIFZDRFRfSFZfVlRIX1NISUZUICAgICAgICAgICA0CisjZGVmaW5lIFZDRFRfSFZfRU5fTUFTSyAgICAgICAgICAgICAweDAxMDAKKyNkZWZpbmUgVkNEVF9IVl9FTl9TSElGVCAgICAgICAgICAgIDgKKyNkZWZpbmUgQ1NEQUNfRU5fTUFTSyAgICAgICAgICAgICAgIDB4MDgwMAorI2RlZmluZSBDU0RBQ19FTl9TSElGVCAgICAgICAgICAgICAgMTEKKyNkZWZpbmUgQ0hSX0VOX01BU0sgICAgICAgICAgICAgICAgIDB4MTAwMAorI2RlZmluZSBDSFJfRU5fU0hJRlQgICAgICAgICAgICAgICAgMTIKKyNkZWZpbmUgQ0hSREVUX01BU0sgICAgICAgICAgICAgICAgIDB4MjAwMAorI2RlZmluZSBDSFJERVRfU0hJRlQgICAgICAgICAgICAgICAgMTMKKyNkZWZpbmUgVkNEVF9IVl9ERVRfTUFTSyAgICAgICAgICAgIDB4ODAwMAorI2RlZmluZSBWQ0RUX0hWX0RFVF9TSElGVCAgICAgICAgICAgMTUKKworLy8gKDB4QTA0KSAgQ0hSX0NPTjEKKyNkZWZpbmUgVkJBVF9DVl9WVEhfTUFTSyAgICAweDAwMUYKKyNkZWZpbmUgVkJBVF9DVl9WVEhfU0hJRlQgICAwCisjZGVmaW5lIFZCQVRfQ0NfVlRIX01BU0sgICAgMHgwMEMwCisjZGVmaW5lIFZCQVRfQ0NfVlRIX1NISUZUICAgNgorI2RlZmluZSBWQkFUX0NWX0VOX01BU0sgICAgIDB4MDEwMAorI2RlZmluZSBWQkFUX0NWX0VOX1NISUZUICAgIDgKKyNkZWZpbmUgVkJBVF9DQ19FTl9NQVNLICAgICAweDAyMDAKKyNkZWZpbmUgVkJBVF9DQ19FTl9TSElGVCAgICA5CisjZGVmaW5lIFZCQVRfQ1ZfREVUX01BU0sgICAgICAgICAgICAweDQwMDAKKyNkZWZpbmUgVkJBVF9DVl9ERVRfU0hJRlQgICAgICAgICAgIDE0CisjZGVmaW5lIFZCQVRfQ0NfREVUX01BU0sgICAgMHg4MDAwCisjZGVmaW5lIFZCQVRfQ0NfREVUX1NISUZUICAgMTUKKworLy8gKDB4QTA4KSAgQ0hSX0NPTjIKKyNkZWZpbmUgQ1NfRU5fTUFTSyAgICAgICAgICAgICAgICAgMHgxMDAwCisjZGVmaW5lIENTX0VOX1NISUZUICAgICAgICAgICAgICAgIDEyCisjZGVmaW5lIENTX1ZUSF9NQVNLICAgICAgICAgICAgICAgIDB4MDcwMAorI2RlZmluZSBDU19WVEhfU0hJRlQgICAgICAgICAgICAgICA4CisKKy8vICgweEEwQykgIENIUl9DT04zCisjZGVmaW5lIENTREFDX0RMWV9NQVNLICAgICAgICAgICAgIDB4MzAKKyNkZWZpbmUgQ1NEQUNfRExZX1NISUZUICAgICAgICAgICAgNAorI2RlZmluZSBDU0RBQ19TVFBfTUFTSyAgICAgICAgICAgICAweDMKKyNkZWZpbmUgQ1NEQUNfU1RQX1NISUZUICAgICAgICAgICAgMAorCisvLyAoMHhBMTQpICBDSFJfQ09ONQorI2RlZmluZSBQQ0hSX0ZMQUdfU0VMX01BU0sgICAgICAgICAweDAwMEYKKyNkZWZpbmUgUENIUl9GTEFHX1NFTF9TSElGVCAgICAgICAgMAorI2RlZmluZSBQQ0hSX0ZMQUdfRU5fTUFTSyAgICAgICAgICAweDAwODAKKyNkZWZpbmUgUENIUl9GTEFHX0VOX1NISUZUICAgICAgICAgNworI2RlZmluZSBQQ0hSX0ZMQUdfT1VUX01BU0sgICAgICAgICAweDBGMDAKKyNkZWZpbmUgUENIUl9GTEFHX09VVF9TSElGVCAgICAgICAgOAorICAvLyBQQ0hSIGNvbW1hbmQgcmVzdWx0IChUaGUgdmFsdWUgaXMgZmlsbGVkIGludG8gUENIUl9GTEFHX09VVCkKKyAgI2RlZmluZSBQQ0hSX1NUQVRFX01BU0sgICAgICAgICAgMHg3CisgICNkZWZpbmUgUENIUl9TVEFURV9TSElGVCAgICAgICAgIDAKKworCisvLyAoMHhBMTgpIENIUl9DT042CisjZGVmaW5lIENIUldEVF9URF9NQVNLICAgICAgICAgICAgIDB4MDAwNworI2RlZmluZSBDSFJXRFRfVERfU0hJRlQgICAgICAgICAgICAwCisjZGVmaW5lIENIUldEVF9FTl9NQVNLICAgICAgICAgICAgIDB4MDAxMAorI2RlZmluZSBDSFJXRFRfRU5fU0hJRlQgICAgICAgICAgICA0CisKKy8vICgweEExQykgQ0hSX0NPTjcKKyNkZWZpbmUgQ0hSV0RUX0lOVF9FTl9NQVNLICAgICAgICAgMHgwMDAxCisjZGVmaW5lIENIUldEVF9JTlRfRU5fU0hJRlQgICAgICAgIDAKKyNkZWZpbmUgQ0hSV0RUX0ZMQUdfTUFTSyAgICAgICAgICAgMHgwMDAyCisjZGVmaW5lIENIUldEVF9GTEFHX1NISUZUICAgICAgICAgIDEKKworLy8gKDB4QTIwKSBDSFJfQ09OOAorI2RlZmluZSBBRENJTl9WQkFUX0VOICAgICAgICAgICAgICAweDEwMDAKKyNkZWZpbmUgQURDSU5fVkJBVF9FTl9TSElGVCAgICAgICAgMTIKKyNkZWZpbmUgQURDSU5fVlNFTl9FTiAgICAgICAgICAgICAgMHgyMDAwCisjZGVmaW5lIEFEQ0lOX1ZTRU5fRU5fU0hJRlQgICAgICAgIDEzCisjZGVmaW5lIEFEQ0lOX1ZDSFJfRU4gICAgICAgICAgICAgIDB4NDAwMAorI2RlZmluZSBBRENJTl9WQ0hSX0VOX1NISUZUICAgICAgICAxNAorCisvLyAoMHhCMDApIEJPT1NUX0NPTjAKKyNkZWZpbmUgVkJPT1NUX0VOX01BU0sgICAgICAgICAgICAgIDB4MDAwMQorI2RlZmluZSBWQk9PU1RfRU5fU0hJRlQgICAgICAgICAgICAgMAorI2RlZmluZSBWQk9PU1RfVFlQRV9NQVNLICAgICAgICAgICAgMHgwMDAyCisjZGVmaW5lIFZCT09TVF9UWVBFX1NISUZUICAgICAgICAgICAxCisjZGVmaW5lIFZCT09TVF9NT0RFX01BU0sgICAgICAgICAgICAweDAwMDQKKyNkZWZpbmUgVkJPT1NUX01PREVfU0hJRlQgICAgICAgICAgIDIKKyNkZWZpbmUgVkJPT1NUX1ZSU0VMX01BU0sgICAgICAgICAgIDB4MDFGMAorI2RlZmluZSBWQk9PU1RfVlJTRUxfU0hJRlQgICAgICAgICAgNAorCisvLyAoMHhCMEMpIEJPT1NUX0NPTjMKKyNkZWZpbmUgVkJPT1NUX0NLU19QUkdfTUFTSyAgICAgICAgIDB4MDAzRgorI2RlZmluZSBWQk9PU1RfQ0tTX1BSR19TSElGVCAgICAgICAgMAorCisvLyAoMHhDMDApIElTSU5LMF9DT04wCisjZGVmaW5lIElTSU5LMF9FTl9NQVNLICAgICAgICAgICAgICAweDAwMDEKKyNkZWZpbmUgSVNJTkswX0VOX1NISUZUICAgICAgICAgICAgIDAKKyNkZWZpbmUgSVNJTkswX01PREVfTUFTSyAgICAgICAgICAgIDB4MDAwMgorI2RlZmluZSBJU0lOSzBfTU9ERV9TSElGVCAgICAgICAgICAgMQorI2RlZmluZSBJU0lOSzBfU1RFUF9NQVNLICAgICAgICAgICAgMHgwMDcwCisjZGVmaW5lIElTSU5LMF9TVEVQX1NISUZUICAgICAgICAgICA0CisjZGVmaW5lIElTSU5LMF9TVEFUVVNfTUFTSyAgICAgICAgICAweDgwMDAKKyNkZWZpbmUgSVNJTkswX1NUQVRVU19TSElGVCAgICAgICAgIDE1CisKKy8vICgweEMxMCkgSVNJTksxX0NPTjAKKyNkZWZpbmUgSVNJTksxX0VOX01BU0sgICAgICAgICAgICAgIDB4MDAwMQorI2RlZmluZSBJU0lOSzFfRU5fU0hJRlQgICAgICAgICAgICAgMAorI2RlZmluZSBJU0lOSzFfTU9ERV9NQVNLICAgICAgICAgICAgMHgwMDAyCisjZGVmaW5lIElTSU5LMV9NT0RFX1NISUZUICAgICAgICAgICAxCisjZGVmaW5lIElTSU5LMV9TVEVQX01BU0sgICAgICAgICAgICAweDAwNzAKKyNkZWZpbmUgSVNJTksxX1NURVBfU0hJRlQgICAgICAgICAgIDQKKyNkZWZpbmUgSVNJTksxX1NUQVRVU19NQVNLICAgICAgICAgIDB4ODAwMAorI2RlZmluZSBJU0lOSzFfU1RBVFVTX1NISUZUICAgICAgICAgMTUKKworLy8gKDB4QzIwKSBJU0lOSzJfQ09OMAorI2RlZmluZSBJU0lOSzJfRU5fTUFTSyAgICAgICAgICAgICAgMHgwMDAxCisjZGVmaW5lIElTSU5LMl9FTl9TSElGVCAgICAgICAgICAgICAwCisjZGVmaW5lIElTSU5LMl9NT0RFX01BU0sgICAgICAgICAgICAweDAwMDIKKyNkZWZpbmUgSVNJTksyX01PREVfU0hJRlQgICAgICAgICAgIDEKKyNkZWZpbmUgSVNJTksyX1NURVBfTUFTSyAgICAgICAgICAgIDB4MDA3MAorI2RlZmluZSBJU0lOSzJfU1RFUF9TSElGVCAgICAgICAgICAgNAorI2RlZmluZSBJU0lOSzJfU1RBVFVTX01BU0sgICAgICAgICAgMHg4MDAwCisjZGVmaW5lIElTSU5LMl9TVEFUVVNfU0hJRlQgICAgICAgICAxNQorCisvLyAoMHhDMzApIElTSU5LM19DT04wCisjZGVmaW5lIElTSU5LM19FTl9NQVNLICAgICAgICAgICAgICAweDAwMDEKKyNkZWZpbmUgSVNJTkszX0VOX1NISUZUICAgICAgICAgICAgIDAKKyNkZWZpbmUgSVNJTkszX01PREVfTUFTSyAgICAgICAgICAgIDB4MDAwMgorI2RlZmluZSBJU0lOSzNfTU9ERV9TSElGVCAgICAgICAgICAgMQorI2RlZmluZSBJU0lOSzNfU1RFUF9NQVNLICAgICAgICAgICAgMHgwMDcwCisjZGVmaW5lIElTSU5LM19TVEVQX1NISUZUICAgICAgICAgICA0CisjZGVmaW5lIElTSU5LM19TVEFUVVNfTUFTSyAgICAgICAgICAweDgwMDAKKyNkZWZpbmUgSVNJTkszX1NUQVRVU19TSElGVCAgICAgICAgIDE1CisKKy8vICgweEM0MCkgSVNJTks0X0NPTjAKKyNkZWZpbmUgSVNJTks0X0VOX01BU0sgICAgICAgICAgICAgIDB4MDAwMQorI2RlZmluZSBJU0lOSzRfRU5fU0hJRlQgICAgICAgICAgICAgMAorI2RlZmluZSBJU0lOSzRfTU9ERV9NQVNLICAgICAgICAgICAgMHgwMDAyCisjZGVmaW5lIElTSU5LNF9NT0RFX1NISUZUICAgICAgICAgICAxCisjZGVmaW5lIElTSU5LNF9TVEVQX01BU0sgICAgICAgICAgICAweDAwNzAKKyNkZWZpbmUgSVNJTks0X1NURVBfU0hJRlQgICAgICAgICAgIDQKKyNkZWZpbmUgSVNJTks0X1NUQVRVU19NQVNLICAgICAgICAgIDB4ODAwMAorI2RlZmluZSBJU0lOSzRfU1RBVFVTX1NISUZUICAgICAgICAgMTUKKworLy8gKDB4QzgwKSBLUExFRCBDT04wCisjZGVmaW5lIEtQTEVEX0VOX01BU0sgICAgICAgICAgICAgICAweDAwMDEKKyNkZWZpbmUgS1BMRURfRU5fU0hJRlQgICAgICAgICAgICAgIDAKKyNkZWZpbmUgS1BMRURfTU9ERV9NQVNLICAgICAgICAgICAgIDB4MDAwMgorI2RlZmluZSBLUExFRF9NT0RFX1NISUZUICAgICAgICAgICAgMQorI2RlZmluZSBLUExFRF9TRUxfTUFTSyAgICAgICAgICAgICAgMHgwMDcwCisjZGVmaW5lIEtQTEVEX1NFTF9TSElGVCAgICAgICAgICAgICA0CisjZGVmaW5lIEtQTEVEX1NUQVRVU19NQVNLICAgICAgICAgICAweDgwMDAKKyNkZWZpbmUgS1BMRURfU1RBVFVTX1NISUZUICAgICAgICAgIDE1CisKKy8vICgweEM5MCkgRkxBU0hfQ09OMAorI2RlZmluZSBGTEFTSF9FTl9NQVNLICAgICAgICAgICAgICAgMHgwMDAxCisjZGVmaW5lIEZMQVNIX0VOX1NISUZUICAgICAgICAgICAgICAwCisjZGVmaW5lIEZMQVNIX01PREVfTUFTSyAgICAgICAgICAgICAweDAwMDIKKyNkZWZpbmUgRkxBU0hfTU9ERV9TSElGVCAgICAgICAgICAgIDEKKyNkZWZpbmUgRkxBU0hfU0VMX01BU0sgICAgICAgICAgICAgIDB4MDA3MAorI2RlZmluZSBGTEFTSF9TRUxfU0hJRlQgICAgICAgICAgICAgNAorI2RlZmluZSBGTEFTSF9TVEFUVVNfTUFTSyAgICAgICAgICAgMHg4MDAwCisjZGVmaW5lIEZMQVNIX1NUQVRVU19TSElGVCAgICAgICAgICAxNQorCisvLyAoMHhEMDApIFNQS19DT04wCisjZGVmaW5lIFNQS19FTl9NQVNLICAgICAgICAgICAgICAgICAweDAwMDEKKyNkZWZpbmUgU1BLX0VOX1NISUZUICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgU1BLX1ZPTF9NQVNLICAgICAgICAgICAgICAgIDB4MDAxMAorI2RlZmluZSBTUEtfVk9MX1NISUZUICAgICAgICAgICAgICAgNAorI2RlZmluZSBTUEtfT0NGQl9FTl9NQVNLICAgICAgICAgICAgMHgyMDAwCisjZGVmaW5lIFNQS19PQ0ZCX0VOX1NISUZUICAgICAgICAgICAxMworCisvLyAoMHhFMDApIFBNSUNfT0NfQ09OMAorI2RlZmluZSBWUkZfT0NfSU5UX0VOX01BU0sgICAgICAgICAgMHgwMDAxCisjZGVmaW5lIFZSRl9PQ19JTlRfRU5fU0hJRlQgICAgICAgICAwCisjZGVmaW5lIFZUQ1hPX09DX0lOVF9FTl9NQVNLICAgICAgICAweDAwMDIKKyNkZWZpbmUgVlRDWE9fT0NfSU5UX0VOX1NISUZUICAgICAgIDEKKyNkZWZpbmUgVkFfT0NfSU5UX0VOX01BU0sgICAgICAgICAgIDB4MDAwNAorI2RlZmluZSBWQV9PQ19JTlRfRU5fU0hJRlQgICAgICAgICAgMgorI2RlZmluZSBWQ0FNQV9PQ19JTlRfRU5fTUFTSyAgICAgICAgMHgwMDA4CisjZGVmaW5lIFZDQU1BX09DX0lOVF9FTl9TSElGVCAgICAgICAzCisjZGVmaW5lIFZDQU1EX09DX0lOVF9FTl9NQVNLICAgICAgICAweDAwMTAKKyNkZWZpbmUgVkNBTURfT0NfSU5UX0VOX1NISUZUICAgICAgIDQKKyNkZWZpbmUgVklPX09DX0lOVF9FTl9NQVNLICAgICAgICAgIDB4MDAyMAorI2RlZmluZSBWSU9fT0NfSU5UX0VOX1NISUZUICAgICAgICAgNQorI2RlZmluZSBWVVNCX09DX0lOVF9FTl9NQVNLICAgICAgICAgMHgwMDQwCisjZGVmaW5lIFZVU0JfT0NfSU5UX0VOX1NISUZUICAgICAgICA2CisjZGVmaW5lIFZCVF9PQ19JTlRfRU5fTUFTSyAgICAgICAgICAweDAwODAKKyNkZWZpbmUgVkJUX09DX0lOVF9FTl9TSElGVCAgICAgICAgIDcKKyNkZWZpbmUgVlNJTV9PQ19JTlRfRU5fTUFTSyAgICAgICAgIDB4MDEwMAorI2RlZmluZSBWU0lNX09DX0lOVF9FTl9TSElGVCAgICAgICAgOAorI2RlZmluZSBWU0lNMl9PQ19JTlRfRU5fTUFTSyAgICAgICAgMHgwMjAwCisjZGVmaW5lIFZTSU0yX09DX0lOVF9FTl9TSElGVCAgICAgICA5CisjZGVmaW5lIFZCQUNLVVBfT0NfSU5UX0VOX01BU0sgICAgICAweDA0MDAKKyNkZWZpbmUgVkJBQ0tVUF9PQ19JTlRfRU5fU0hJRlQgICAgIDEwCisjZGVmaW5lIFZJQlJfT0NfSU5UX0VOX01BU0sgICAgICAgICAweDA4MDAKKyNkZWZpbmUgVklCUl9PQ19JTlRfRU5fU0hJRlQgICAgICAgIDExCisjZGVmaW5lIFZNQ19PQ19JTlRfRU5fTUFTSyAgICAgICAgICAweDEwMDAKKyNkZWZpbmUgVk1DX09DX0lOVF9FTl9TSElGVCAgICAgICAgIDEyCisKKy8vICgweEUwNCkgUE1JQ19PQ19DT04xCisjZGVmaW5lIFZDT1JFX09DX0lOVF9FTl9NQVNLICAgICAgICAweDAwMDEKKyNkZWZpbmUgVkNPUkVfT0NfSU5UX0VOX1NISUZUICAgICAgIDAKKyNkZWZpbmUgVk1fT0NfSU5UX0VOX01BU0sgICAgICAgICAgIDB4MDAwMgorI2RlZmluZSBWTV9PQ19JTlRfRU5fU0hJRlQgICAgICAgICAgMQorICAgICAgICAgICAgICAgICAKKworCisKKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKworCisKKyNlbmRpZiAvLyAjaWYgZGVmaW5lZChQTUlDXzYyMzZfUkVHX0FQSSkKKworI2VuZGlmIC8vICNpZm5kZWYgX19EQ0xfUE1JQzYyMzZfSFdfSF9TVFJVQ1RfXworCisKKworCmRpZmYgLS1naXQgYS9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL2RjbF9wbXU2MjM2X3N3LmggYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL2RjbF9wbXU2MjM2X3N3LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGE3MmU1YwotLS0gL2Rldi9udWxsCisrKyBiL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvZGNsX3BtdTYyMzZfc3cuaApAQCAtMCwwICsxLDkyMyBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDA1CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuIAorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZpbGVuYW1lOgorICogLS0tLS0tLS0tCisgKiAgICBkY2xfcG11NjIzNl9zdy5oCisgKgorICogUHJvamVjdDoKKyAqIC0tLS0tLS0tCisgKiAgIE1hdWlfU29mdHdhcmUKKyAqCisgKiBEZXNjcmlwdGlvbjoKKyAqIC0tLS0tLS0tLS0tLQorICogICBUaGlzIGZpbGUgaXMgZm9yIFBNVTYyMzYKKyAqCisgKiBBdXRob3I6CisgKiAtLS0tLS0tCisgKiAtLS0tLS0tCisgKgorICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKiAgICAgICAgICAgICBISVNUT1JZCisgKiBCZWxvdyB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogVXBwZXIgdGhpcyBsaW5lLCB0aGlzIHBhcnQgaXMgY29udHJvbGxlZCBieSBQVkNTIFZNLiBETyBOT1QgTU9ESUZZISEKKyAqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKworCisjaWZuZGVmIF9fRENMX1BNVTYyMzZfU1dfSF9TVFJVQ1RfXworI2RlZmluZSBfX0RDTF9QTVU2MjM2X1NXX0hfU1RSVUNUX18KKworI2luY2x1ZGUgImRjbF9wbWljX2ZlYXR1cmVzLmgiCisKKyNpZiBkZWZpbmVkKFBNSUNfNjIzNl9SRUdfQVBJKQorCisvKiBDaGFyZ2VyIGV4dGVybmFsIGludGVycnVwdCBpcyBmaXhlZC4gKi8KKworCisjZGVmaW5lIFBNVV9DSFJfRUlOVF9QSU4gICAgICAxNQorCisvKiBhZGMgbnVtYmVyIGZvciBtZWFzdXJpbmcgVkJBVC9WSVNFTlNFL1ZDSEFSR0VSIGlzIGZpeGVkIGludGVybmFsbHkuICovCisKKyNpZiBkZWZpbmVkKERSVl9NSVNDX1BNVV9BRENfQ0hBTk5FTF9GUk9NXzApCisjZGVmaW5lIFBNVV9BRENfVkJBVF9DSF9OVU0gICAgICAwCisjZGVmaW5lIFBNVV9BRENfVklTRU5TRV9DSF9OVU0gICAxCisjZGVmaW5lIFBNVV9BRENfVkNIQVJHRVJfQ0hfTlVNICAyCisjZWxzZSAvLyAjaWYgZGVmaW5lZChEUlZfTUlTQ19QTVVfQURDX0NIQU5ORUxfRlJPTV8wKQorI2RlZmluZSBQTVVfQURDX1ZCQVRfQ0hfTlVNICAgICAgMworI2RlZmluZSBQTVVfQURDX1ZJU0VOU0VfQ0hfTlVNICAgNAorI2RlZmluZSBQTVVfQURDX1ZDSEFSR0VSX0NIX05VTSAgNQorI2VuZGlmIC8vICNpZiBkZWZpbmVkKERSVl9NSVNDX1BNVV9BRENfQ0hBTk5FTF9GUk9NXzApCisKKworLyogYWRjIGZhY3RvciBmb3IgVkJBVC9WSVNFTlNFL1ZDSEFSR0VSICovCisjZGVmaW5lIFBNVV9BRENfRkFDVE9SX1ZCQVQgICAgICAxMDAKKyNkZWZpbmUgUE1VX0FEQ19GQUNUT1JfVklTRU5TRSAgIDEwMAorI2RlZmluZSBQTVVfQURDX0ZBQ1RPUl9WQ0hBUkdFUiAgNDczICAvLyAzNjkvMzkgKiA1MAorCisKKy8vIERlZmluZSB0byBlbmFibGUgcG11NjIzNiBjaGFyZ2VyIHdhdGNoIGRvZyB0aW1lciBraWNrCisvLyBXaGVuIGVuYWJsZSBjaGFyZ2VyLCBwbXU2MjM2IHdpbGwgZW5hYmxlIGEgd2F0Y2ggZG9nIHRpbWVyCisvLyBXZSBuZWVkIHRvIGtpY2sgdGhlIHRpbWVyIHBlcmlvZGljYWxseSwgdG8gb250aWZ5IHBtdTYyMzYgdGhhdCBCQiBpcyBhbGl2ZQorLy8gSWYgdGltZW91dCwgcG11NjIzNiB3aWxsIGRpc2FibGUgY2hhcmdlIGF1dG9tYXRpY2FsbHkKKy8vICMjIyMgSWYgdGhpcyBpcyBOT1QgZW5hYmxlZCwgd2Ugd2lsbCBkaXNhYmxlIHRoZSB3YXRjaCBkb2cgdGltZXIgZnVuY3Rpb24gYXQgYm9vdCB0aW1lCisvLyBUaGlzIHNob3VsZCBiZSBkZWZpbmVkIHdoZW4gUE1VIGRyaXZlciBuZWVkIHRvIHBlcmZvcm0gV0RUIGNsZWFyIAorLy8gQk1UIGFscmVhZHkgc3VwcG9ydCBjaGFyZ2UgV0RULCBzbyB0aGlzIHNob3VsZCBiZSBjb21tZW50CisvLyNkZWZpbmUgcG11NjIzNl9FTkFCTEVfRFJJVkVSX0NIQVJHRV9XRFQKKworCisvLyBEZWZpbmUgdG8gZGlzYWJsZSBjaGFyZ2UgV0RUIG9mIHBtdTYyMzYKKy8vIERlZmluZSBvbmx5IGZvciBkZWJ1ZyBwdXJwb3NlCisvLyNkZWZpbmUgREVCVUdfRElTQUJMRV9DSEFSR0VfV0RUCisKKyNkZWZpbmUgTERPX0FERFJFU1NfQklBUyAgICAgIDB4MTAKKyNkZWZpbmUgQ0FMX01BWCAgICAgICAgICAgICAgIDB4MTAKKyNkZWZpbmUgUE1VX1NUQVJUX0JBU0UgICAgICAgIE1JWEVEX2Jhc2UKKworCisKK3R5cGVkZWYgZW51bXsKKyAgICBQTVU2MjM2X0RFRkFVTFRfTE9DQUxfU0VOU0U9MCwKKyAgICBQTVU2MjM2X1JFTU9URV9TRU5TRQorfXBtdTYyMzZfc2Vuc2VfZW51bTsKKwordHlwZWRlZiBlbnVteworICAgIFZSRl9PTl9TRUxfU1JDTEtFTkE9MCwKKyAgICBWUkZfT05fU0VMX1ZSRl9FTgorfXBtdTYyMzZfdnJmX29uX3NlbF9lbnVtOworCisKK3R5cGVkZWYgZW51bXsKKyAgICBWVENYT19PTl9TRUxfU1JDTEtFTkE9MCwKKyAgICBWVENYT19PTl9TRUxfVlRDWE9fRU4KK31wbXU2MjM2X3Z0Y3hvX29uX3NlbF9lbnVtOworCit0eXBlZGVmIGVudW17CisgICAgcG11NjIzNl9WU0lNXzFfOFYgPSAwLAorICAgIHBtdTYyMzZfVlNJTV8zXzBWCit9cG11NjIzNl92c2ltX3Zvc2VsX2VudW07CisKK3R5cGVkZWYgZW51bXsKKyAgICBwbXU2MjM2X1ZTSU0yXzFfM1YgPSAwLAorICAgIHBtdTYyMzZfVlNJTTJfMV81ViwKKyAgICBwbXU2MjM2X1ZTSU0yXzFfOFYsCisgICAgcG11NjIzNl9WU0lNMl8yXzVWLAorICAgIHBtdTYyMzZfVlNJTTJfMl84ViwKKyAgICBwbXU2MjM2X1ZTSU0yXzNfMFYsCisgICAgcG11NjIzNl9WU0lNMl8zXzNWCisvLyAgICBwbXU2MjM2X1ZTSU0yXzNfM1YgICAgIC8vID8/Pz8/Cit9cG11NjIzNl92c2ltMl92b3NlbF9lbnVtOworCit0eXBlZGVmIGVudW17CisgICAgcG11NjIzNl9WTUNfMV8zViA9IDAsCisgICAgcG11NjIzNl9WTUNfMV81ViwKKyAgICBwbXU2MjM2X1ZNQ18xXzhWLAorICAgIHBtdTYyMzZfVk1DXzJfNVYsCisgICAgcG11NjIzNl9WTUNfMl84ViwKKyAgICBwbXU2MjM2X1ZNQ18zXzBWLAorICAgIHBtdTYyMzZfVk1DXzNfM1YKK31wbXU2MjM2X3ZtY192b3NlbF9lbnVtOworCit0eXBlZGVmIGVudW17CisgICAgVkJUX1NFTF8yXzhWID0gMCwKKyAgICBWQlRfU0VMXzNfMFYKK31wbXU2MjM2X3ZidF9zZWxfZW51bTsKKwordHlwZWRlZiBlbnVteworICAgIFZDQU1EX1NFTF8xXzNWID0gMCwKKyAgICBWQ0FNRF9TRUxfMV81ViwKKyAgICBWQ0FNRF9TRUxfMV84ViwKKyAgICBWQ0FNRF9TRUxfMl84ViwKKyAgICBWQ0FNRF9TRUxfUlNWMSwgICAgIC8vIHJlc2VydmVkCisgICAgVkNBTURfU0VMX1JTVjIsCisgICAgVkNBTURfU0VMX1JTVjMsCisgICAgVkNBTURfU0VMX1JTVjQgICAgCit9cG11NjIzNl92Y2FtZF92b3NlbF9lbnVtOworCit0eXBlZGVmIGVudW17CisgICAgVkNBTUFfU0VMXzFfNVYgPSAwLAorICAgIFZDQU1BX1NFTF8xXzhWLAorICAgIFZDQU1BX1NFTF8yXzVWLAorICAgIFZDQU1BX1NFTF8yXzhWCit9cG11NjIzNl92Y2FtYV92b3NlbF9lbnVtOworCit0eXBlZGVmIGVudW17CisgICAgVkNPUkVfVk9TRUxfMV8yViA9IDAgICAgCit9cG11NjIzNl92Y29yZV92b3NlbF9lbnVtOworCit0eXBlZGVmIGVudW17CisgICAgVkNPUkVfVkZCQURKXzFfMlYgICAgICA9IDAsCisgICAgVkNPUkVfVkZCQURKXzFfMjI1ViAgICA9IDEsICAgICAgICAgCisgICAgVkNPUkVfVkZCQURKXzFfMjVWICAgICA9IDIsCisgICAgVkNPUkVfVkZCQURKXzFfMjc1ViAgICA9IDMsCisgICAgVkNPUkVfVkZCQURKXzFfM1YgICAgICA9IDQsCisgICAgVkNPUkVfVkZCQURKXzFfM1ZfcmV2MSA9IDUsCisgICAgVkNPUkVfVkZCQURKXzFfM1ZfcmV2MiA9IDYsIAorICAgIFZDT1JFX1ZGQkFESl8xXzNWX3JldjMgPSA3LAorICAgIFZDT1JFX1ZGQkFESl8xXzNWX3JldjQgPSA4LCAKKyAgICBWQ09SRV9WRkJBREpfMV8zVl9yZXY1ID0gOSwKKyAgICBWQ09SRV9WRkJBREpfMV8zVl9yZXY2ID0gMTAsIAorICAgIFZDT1JFX1ZGQkFESl8xXzNWX3JldjcgPSAxMSwKKyAgICBWQ09SRV9WRkJBREpfMV8zVl9yZXY4ID0gMTIsIAorICAgIFZDT1JFX1ZGQkFESl8xXzNWX3JldjkgPSAxMywKKyAgICBWQ09SRV9WRkJBREpfMV8zVl9yZXYxMD0gMTQsIAorICAgIFZDT1JFX1ZGQkFESl8xXzNWX3JldjExPSAxNSwKKyAgICBWQ09SRV9WRkJBREpfMF84ViAgICAgID0gMTYsCisgICAgVkNPUkVfVkZCQURKXzBfODI1ViAgICA9IDE3LAorICAgIFZDT1JFX1ZGQkFESl8wXzg1ViAgICAgPSAxOCwKKyAgICBWQ09SRV9WRkJBREpfMF84NzVWICAgID0gMTksCisgICAgVkNPUkVfVkZCQURKXzBfOVYgICAgICA9IDIwLAorICAgIFZDT1JFX1ZGQkFESl8wXzkyNVYgICAgPSAyMSwKKyAgICBWQ09SRV9WRkJBREpfMF85NVYgICAgID0gMjIsCisgICAgVkNPUkVfVkZCQURKXzBfOTc1ViAgICA9IDIzLAorICAgIFZDT1JFX1ZGQkFESl8xXzBWICAgICAgPSAyNCwKKyAgICBWQ09SRV9WRkJBREpfMV8wMjVWICAgID0gMjUsCisgICAgVkNPUkVfVkZCQURKXzFfMDVWICAgICA9IDI2LAorICAgIFZDT1JFX1ZGQkFESl8xXzA3NVYgICAgPSAyNywKKyAgICBWQ09SRV9WRkJBREpfMV8xViAgICAgID0gMjgsICAgIAorICAgIFZDT1JFX1ZGQkFESl8xXzEyNVYgICAgPSAyOSwKKyAgICBWQ09SRV9WRkJBREpfMV8xNVYgICAgID0gMzAsCisgICAgVkNPUkVfVkZCQURKXzFfMTc1ViAgICA9IDMxCisgIAorfXBtdTYyMzZfdmNvcmVfdmZiYWRqX2VudW07CisKK3R5cGVkZWYgZW51bXsKKyAgICBWQ09SRV9NT0RFU0VUX0FVVE8gPSAwLAorICAgIFZDT1JFX01PREVTRVRfUFdNCit9cG11NjIzNl92Y29yZV9tb2Rlc2V0X2VudW07CisKK3R5cGVkZWYgZW51bXsKKyAgICBWQ09SRV9DU0xfMTMwSyA9IDAsCisgICAgVkNPUkVfQ1NMXzEyMEssCisgICAgVkNPUkVfQ1NMXzExMEssCisgICAgVkNPUkVfQ1NMXzEwMEssCisgICAgVkNPUkVfQ1NMXzkwSywKKyAgICBWQ09SRV9DU0xfODBLLAorICAgIFZDT1JFX0NTTF83MEssCisgICAgVkNPUkVfQ1NMXzYwSworfXBtdTYyMzZfdmNvcmVfY3NsX2VudW07CisKK3R5cGVkZWYgZW51bXsKKyAgICBWQ09SRV82MDBfNDUwID0gMCwKKyAgICBWQ09SRV82NTBfNTAwLAorICAgIFZDT1JFXzUwMF8zNTAsCisgICAgVkNPUkVfNTUwXzQwMAorfXBtdTYyMzZfdmNvcmVfYnVyc3RfZW51bTsKKwordHlwZWRlZiBlbnVteworICAgIFZNX0NTTF8xMzBLID0gMCwKKyAgICBWTV9DU0xfMTIwSywKKyAgICBWTV9DU0xfMTEwSywKKyAgICBWTV9DU0xfMTAwSywKKyAgICBWTV9DU0xfOTBLLAorICAgIFZNX0NTTF84MEssCisgICAgVk1fQ1NMXzcwSywKKyAgICBWTV9DU0xfNjBLCit9cG11NjIzNl92bV9jc2xfZW51bTsKKwordHlwZWRlZiBlbnVteworICAgIFZNXzYwMF80NTAgPSAwLAorICAgIFZNXzY1MF81MDAsCisgICAgVk1fNTAwXzM1MCwKKyAgICBWTV81NTBfNDAwCit9cG11NjIzNl92bV9idXJzdF9lbnVtOworCit0eXBlZGVmIGVudW17CisgICAgQ0hSX0NVUlJfODAwXzBNQSA9IDAsCisgICAgQ0hSX0NVUlJfNzAwXzBNQSwKKyAgICBDSFJfQ1VSUl82MDBfME1BLAorICAgIENIUl9DVVJSXzUwMF8wTUEsCisgICAgQ0hSX0NVUlJfNDAwXzBNQSwKKyAgICBDSFJfQ1VSUl8zMDBfME1BLAorICAgIENIUl9DVVJSXzIwMF8wTUEsCisgICAgQ0hSX0NVUlJfMTAwXzBNQQorfXBtdTYyMzZfY2hyX2N1cnJlbnRfZW51bTsKKwordHlwZWRlZiBlbnVteworICAgIENIUl9WQkFUX0NDXzNfMjUwViA9IDAsCisgICAgQ0hSX1ZCQVRfQ0NfM18yNzVWLAorICAgIENIUl9WQkFUX0NDXzNfMzAwViwKKyAgICBDSFJfVkJBVF9DQ18zXzMyNVYKK31wbXU2MjM2X2Nocl92YmF0X2NjX2VudW07CisKK3R5cGVkZWYgZW51bXsKKy8qMHgwMCovICAgIENIUl9WQkFUX0NWXzRfMDAwMFYgPSAwLAorLyoweDAxKi8gICAgQ0hSX1ZCQVRfQ1ZfNF8wMTI1ViwKKy8qMHgwMiovICAgIENIUl9WQkFUX0NWXzRfMDI1MFYsCisvKjB4MDMqLyAgICBDSFJfVkJBVF9DVl80XzAzNzVWLAorLyoweDA0Ki8gICAgQ0hSX1ZCQVRfQ1ZfNF8wNTAwViwKKy8qMHgwNSovICAgIENIUl9WQkFUX0NWXzRfMDYyNVYsCisvKjB4MDYqLyAgICBDSFJfVkJBVF9DVl80XzA3NTBWLAorLyoweDA3Ki8gICAgQ0hSX1ZCQVRfQ1ZfNF8wODc1ViwKKy8qMHgwOCovICAgIENIUl9WQkFUX0NWXzRfMTAwMFYsCisvKjB4MDkqLyAgICBDSFJfVkJBVF9DVl80XzExMjVWLAorLyoweDBhKi8gICAgQ0hSX1ZCQVRfQ1ZfNF8xMjUwViwKKy8qMHgwYiovICAgIENIUl9WQkFUX0NWXzRfMTM3NVYsCisvKjB4MGMqLyAgICBDSFJfVkJBVF9DVl80XzE1MDBWLAorLyoweDBkKi8gICAgQ0hSX1ZCQVRfQ1ZfNF8xNjI1ViwKKy8qMHgwZSovICAgIENIUl9WQkFUX0NWXzRfMTc1MFYsCisvKjB4MGYqLyAgICBDSFJfVkJBVF9DVl80XzE4NzVWLAorLyoweDEwKi8gICAgQ0hSX1ZCQVRfQ1ZfNF8yMDAwViwKKy8qMHgxMSovICAgIENIUl9WQkFUX0NWXzRfMjEyNVYsCisvKjB4MTIqLyAgICBDSFJfVkJBVF9DVl80XzIyNTBWLAorLyoweDEzKi8gICAgQ0hSX1ZCQVRfQ1ZfNF8yMzc1ViwKKy8qMHgxNCovICAgIENIUl9WQkFUX0NWXzRfMjUwMFYsCisvKjB4MTUqLyAgICBDSFJfVkJBVF9DVl80XzI2MjVWLAorLyoweDE2Ki8gICAgQ0hSX1ZCQVRfQ1ZfNF8yNzUwViwKKy8qMHgxNyovICAgIENIUl9WQkFUX0NWXzRfMjg3NVYKK31wbXU2MjM2X2Nocl92YmF0X2N2X2VudW07CisKK3R5cGVkZWYgZW51bXsKKyAgICBDVl9UVU5FXzFfMjA1ViA9IDAsCisgICAgQ1ZfVFVORV8xXzIxMFYsCisgICAgQ1ZfVFVORV8xXzIxNVYsCisgICAgQ1ZfVFVORV8xXzE4MFYsCisgICAgQ1ZfVFVORV8xXzE4NVYsCisgICAgQ1ZfVFVORV8xXzE5MFYsCisgICAgQ1ZfVFVORV8xXzE5NVYKK31wbXU2MjM2X2N2X3R1bmVfZW51bTsKKwordHlwZWRlZiBlbnVteworICAgIENBTF9QUkVDQ181MF8wTUEgPSAwLAorICAgIENBTF9QUkVDQ184N181X01BLAorICAgIENBTF9QUkVDQ18xNTBfME1BLAorICAgIENBTF9QUkVDQ18yMjVfME1BCit9cG11NjIzNl9jYWxfcHJlY2NfZW51bTsKKwordHlwZWRlZiBlbnVteworICAgIFNZU1RFTV9QV1JfU1JDX0RFRkFVTFQgPSAwLAorICAgIFNZU1RFTV9QV1JfU1JDX1JFRkVSX1BTX1NFVAorfXBtdTYyMzZfcHNfc2VsX2VudW07CisKK3R5cGVkZWYgZW51bXsKKyAgICBTWVNURU1fUFdSX1NSQ19WQkFUID0gMCwKKyAgICBTWVNURU1fUFdSX1NSQ19BQworfXBtdTYyMzZfcHNfc2V0X2VudW07CisKK3R5cGVkZWYgZW51bXsKKyAgICBDSFJfT1ZfNV81ViA9IDAsCisgICAgQ0hSX09WXzZfMFYsCisgICAgQ0hSX09WXzZfNVYsCisgICAgQ0hSX09WXzdfMFYKK31wbXU2MjM2X2Nocl9vdl9lbnVtOworCit0eXBlZGVmIGVudW17CisgICAgQ0hSX1dEVF80X1NFQyA9IDAsCisgICAgQ0hSX1dEVF84X1NFQywKKyAgICBDSFJfV0RUXzE2X1NFQywKKyAgICBDSFJfV0RUXzMyX1NFQywKKyAgICBDSFJfV0RUXzQ1X01JTgorfXBtdTYyMzZfY2hyX3dkdF90ZF9lbnVtOworCit0eXBlZGVmIGVudW17CisgICAgVklCUl9TRUxfMV8zViA9IDAsCisgICAgVklCUl9TRUxfMV81ViwKKyAgICBWSUJSX1NFTF8xXzhWLAorICAgIFZJQlJfU0VMXzJfNVYsCisgICAgVklCUl9TRUxfMl84ViwKKyAgICBWSUJSX1NFTF8zXzBWLAorICAgIFZJQlJfU0VMXzNfM1YKK31wbXU2MjM2X3ZpYnJfdm9zZWxfZW51bTsKKwordHlwZWRlZiBlbnVteworICAgIFNQS19WT0xfMTJEQiA9IDAsCisgICAgU1BLX1ZPTF8xOERCCit9cG11NjIzNl9zcGtfdm9sX2VudW07CisKK3R5cGVkZWYgZW51bXsKKyAgICBWQk9PU1RfVFlQRV9WT0xUQUdFX0NPTlRST0xMRVIgPSAwLAorICAgIFZCT09TVF9UWVBFX0NVUlJFTlRfQ09OVkVSVEVSCit9cG11NjIzNl92Ym9vc3RfdHlwZV9lbnVtOworCit0eXBlZGVmIGVudW17CisgICAgVkJPT1NUX0RJTU1JTkdfTU9ERSA9IDAsICAgLy8gQ29udHJvbGxlZCBieSBQV00KKyAgICBWQk9PU1RfUFdNX01PREUgPSAwLAorICAgIFZCT09TVF9SRUdJU1RFUl9DT05UUk9MX01PREUgPSAxLAorICAgIFZCT09TVF9OT1JNQUxfTU9ERSA9IDEKK31wbXU2MjM2X3Zib29zdF9tb2RlX2VudW07CisKKy8vdHlwZWRlZiBlbnVteworLy8gICAgVkJPT1NUX1BXTV9NT0RFID0gMCwKKy8vICAgIFZCT09TVF9SRUdJU1RFUl9DT05UUk9MX01PREUKKy8vfXBtdTYyMzZfdmJvb3N0X21vZGVfZW51bTsKKwordHlwZWRlZiBlbnVteworICAgIFBNVTYyMzZfSVNJTktfUFdNX01PREUgPSAwLAorICAgIFBNVTYyMzZfSVNJTktfUkVHSVNURVJfQ09OVFJPTF9NT0RFID0gMQorfXBtdTYyMzZfaXNpbmtfbW9kZV9lbnVtOworCit0eXBlZGVmIGVudW17CisgICAgSVNJTktfU1RFUF80TUEgPSAwLAorICAgIElTSU5LX1NURVBfOE1BLAorICAgIElTSU5LX1NURVBfMTJNQSwKKyAgICBJU0lOS19TVEVQXzE2TUEsCisgICAgSVNJTktfU1RFUF8yME1BLAorICAgIElTSU5LX1NURVBfMjRNQQorfXBtdTYyMzZfaXNpbmtfc3RlcF9lbnVtOworCisKK3R5cGVkZWYgZW51bXsKKyAgICBPQ19URF8xMDBfVVMgPSAwLAorICAgIE9DX1REXzIwMF9VUywKKyAgICBPQ19URF80MDBfVVMsCisgICAgT0NfVERfODAwX1VTCit9cG11NjIzNl9vY190ZF9lbnVtOworCisKK3R5cGVkZWYgZW51bXsKKyAgICBTVEJfVERfMTAwX1VTID0gMCwKKyAgICBTVEJfVERfMjAwX1VTLAorICAgIFNUQl9URF80MDBfVVMsCisgICAgU1RCX1REXzgwMF9VUworfXBtdTYyMzZfc3RiX3RkX2VudW07CisKKy8vICgweEM4MCkgS1BMRUQgQ09OMAordHlwZWRlZiBlbnVteworCVBNVTYyMzZfS1BMRURfUFdNX01PREUgPSAwLAorCVBNVTYyMzZfS1BMRURfUkVHSVNURVJfQ09OVFJPTF9NT0RFID0gMSwKKwlQTVU2MjM2X0tQTEVEX05PUk1BTF9NT0RFID0gMQorfXBtdTYyMzZfa3BsZWRfbW9kZV9lbnVtOworCisvLyAoMHhDOTApIEZMQVNIX0NPTjAKK3R5cGVkZWYgZW51bXsKKwlGTEFTSF9QV01fTU9ERSA9IDAsCisJRkxBU0hfUkVHSVNURVJfQ09OVFJPTF9NT0RFID0gMSwKKwlGTEFTSF9OT1JNQUxfTU9ERSA9IDEKK31wbXU2MjM2X2ZsYXNoX21vZGVfZW51bTsKKworLy90eXBlZGVmIGVudW17CisvLwlLUExFRF8xX1dMRURfMV9STEVEID0gMCwKKy8vCUtQTEVEXzRfV0xFRF80X1JMRUQgPSAzLAorLy8JS1BMRURfNF9XTEVEXzhfUkxFRCA9IDcKKy8vfXBtdTYyMzZfa3BsZWRfc2VsX2VudW07CisKKworLy8gVXNlZCB0byBmaWxsIFBDSFJfRkxBR19TRUwKK3R5cGVkZWYgZW51bXsKKwlQQ0hSX0NNRF9QQ0hSX1NUQVRFID0gMgorfXBtdTYyMzZfcGNocl9jbWRfZW51bTsKKwordHlwZWRlZiBlbnVteworCVBDSFJfU1RBVEVfSURMRSA9IDAKK31wbXU2MjM2X3BjaHJfc3RhdGVfZW51bTsKKworLyoKK3R5cGVkZWYgZW51bXsKKwlCTF9NT0RFXzEgPSAwLAorCUJMX01PREVfMiwKKwlCTF9NT0RFXzMKK31wbXU2MjM2X2JsX21vZGVfZW51bTsKKyovCisKKy8qCisvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisvLyAoMHg4MDApIFZSRl9DT04wCitleHRlcm4gdm9pZCBwbXU2MjM2X3ZyZl9lbmFibGUoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiB2b2lkIHBtdTYyMzZfdnJmX29uX3NlbChwbXU2MjM2X3ZyZl9vbl9zZWxfZW51bSBzZWwpOworZXh0ZXJuIHZvaWQgcG11NjIzNl92cmZfc2Vuc2UocG11NjIzNl9zZW5zZV9lbnVtIHNlbCk7CitleHRlcm4gdm9pZCBwbXU2MjM2X3ZyZl9uZGlzX2VuYWJsZShrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIHZvaWQgcG11NjIzNl92cmZfc3RiX2VuYWJsZShrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIHZvaWQgcG11NjIzNl92cmZfb2NfYXV0b19vZmYoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiB2b2lkIHBtdTYyMzZfdnJmX29jZmJfZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4ga2FsX2Jvb2wgcG11NjIzNl92cmZfc3RhdHVzKHZvaWQpOworCisvLyAgKDB4ODA0KSBWUkZfQ09OMQorZXh0ZXJuIHZvaWQgcG11NjIzNl92cmZfY2FsKGthbF91aW50OCB2YWwpOworCisvLyAoMHg4MTApIFZUQ1hPX0NPTjAKK2V4dGVybiB2b2lkIHBtdTYyMzZfdnRjeG9fZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4gdm9pZCBwbXU2MjM2X3Z0Y3hvX29uX3NlbChwbXU2MjM2X3Z0Y3hvX29uX3NlbF9lbnVtIHNlbCk7CitleHRlcm4gdm9pZCBwbXU2MjM2X3Z0Y3hvX25kaXNfZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4gdm9pZCBwbXU2MjM2X3Z0Y3hvX3N0Yl9lbmFibGUoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiB2b2lkIHBtdTYyMzZfdnRjeG9fb2NfYXV0b19vZmYoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiB2b2lkIHBtdTYyMzZfdnRjeG9fb2NmYl9lbmFibGUoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiBrYWxfYm9vbCBwbXU2MjM2X3Z0Y3hvX3N0YXR1cyh2b2lkKTsKKworLy8gKDB4ODE0KSBWVENYT19DT04xCitleHRlcm4gdm9pZCBwbXU2MjM2X3Z0Y3hvX2NhbChrYWxfdWludDggdmFsKTsKKworLy8gKDB4ODIwKSBWQV9DT04wCitleHRlcm4gdm9pZCBwbXU2MjM2X3ZhX3NlbnNlKHBtdTYyMzZfc2Vuc2VfZW51bSBzZWwpOworZXh0ZXJuIHZvaWQgcG11NjIzNl92YV9uZGlzX2VuYWJsZShrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIHZvaWQgcG11NjIzNl92YV9zdGJfZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4gdm9pZCBwbXU2MjM2X3ZhX29jX2F1dG9fb2ZmKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4gdm9pZCBwbXU2MjM2X3ZhX29jZmJfZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4ga2FsX2Jvb2wgcG11NjIzNl92YV9zdGF0dXModm9pZCk7CisKKy8vICgweDgyNCkgVkFfQ09OMQorZXh0ZXJuIHZvaWQgcG11NjIzNl92YV9jYWwoa2FsX3VpbnQ4IHZhbCk7CisKKy8vICgweDgzMCkgVkNBTUFfQ09OMAorZXh0ZXJuIHZvaWQgcG11NjIzNl92Y2FtYV9lbmFibGUoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiB2b2lkIHBtdTYyMzZfdmNhbWFfdm9zZWwocG11NjIzNl92Y2FtYV92b3NlbF9lbnVtIHNlbCk7CitleHRlcm4gdm9pZCBwbXU2MjM2X3ZjYW1hX25kaXNfZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4gdm9pZCBwbXU2MjM2X3ZjYW1hX3N0Yl9lbmFibGUoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiB2b2lkIHBtdTYyMzZfdmNhbWFfb2NfYXV0b19vZmYoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiB2b2lkIHBtdTYyMzZfdmNhbWFfb2NmYl9lbmFibGUoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiBrYWxfYm9vbCBwbXU2MjM2X3ZjYW1hX3N0YXR1cyh2b2lkKTsKKworLy8gKDB4ODM0KSBWQ0FNQV9DT04xCitleHRlcm4gdm9pZCBwbXU2MjM2X3ZjYW1hX2NhbChrYWxfdWludDggdmFsKTsKKworLy8gKDB4ODM4KSBWQ0FNQSBDT04yCitleHRlcm4gdm9pZCBwbXU2MjM2X3ZjYW1hX29jX3RkKHBtdTYyMzZfb2NfdGRfZW51bSBzZWwpOworZXh0ZXJuIHZvaWQgcG11NjIzNl92Y2FtYV9zdGJfdGQocG11NjIzNl9zdGJfdGRfZW51bSBzZWwpOworCisvLyAoMHg4NDApIFZDQU1EX0NPTjAKK2V4dGVybiB2b2lkIHBtdTYyMzZfdmNhbWRfZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4gdm9pZCBwbXU2MjM2X3ZjYW1kX3Zvc2VsKHBtdTYyMzZfdmNhbWRfdm9zZWxfZW51bSBzZWwpOworZXh0ZXJuIHZvaWQgcG11NjIzNl92Y2FtZF9uZGlzX2VuYWJsZShrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIHZvaWQgcG11NjIzNl92Y2FtZF9zdGJfZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4gdm9pZCBwbXU2MjM2X3ZjYW1kX29jX2F1dG9fb2ZmKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4gdm9pZCBwbXU2MjM2X3ZjYW1kX29jZmJfZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4ga2FsX2Jvb2wgcG11NjIzNl92Y2FtZF9zdGF0dXModm9pZCk7CisKKy8vICgweDg0NCkgVkNBTURfQ09OMQorZXh0ZXJuIHZvaWQgcG11NjIzNl92Y2FtZF9jYWwoa2FsX3VpbnQ4IHZhbCk7CisKKy8vICgweDg1MCkgVklPX0NPTjAKK2V4dGVybiB2b2lkIHBtdTYyMzZfdmlvX3NlbnNlKHBtdTYyMzZfc2Vuc2VfZW51bSBzZWwpOworZXh0ZXJuIHZvaWQgcG11NjIzNl92aW9fbmRpc19lbmFibGUoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiB2b2lkIHBtdTYyMzZfdmlvX3N0Yl9lbmFibGUoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiB2b2lkIHBtdTYyMzZfdmlvX29jX2F1dG9fb2ZmKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4gdm9pZCBwbXU2MjM2X3Zpb19vY2ZiX2VuYWJsZShrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIGthbF9ib29sIHBtdTYyMzZfdmlvX3N0YXR1cyh2b2lkKTsKKworLy8gKDB4ODU0KSBWSU9fQ09OMQorZXh0ZXJuIHZvaWQgcG11NjIzNl92aW9fY2FsKGthbF91aW50OCB2YWwpOworCisvLyAoMHg4NTgpIFZJT19DT04yCitleHRlcm4gdm9pZCBwbXU2MjM2X3Zpb19vY190ZChwbXU2MjM2X29jX3RkX2VudW0gc2VsKTsKKworLy8gKDB4ODYwKSBWVVNCX0NPTjAKK2V4dGVybiB2b2lkIHBtdTYyMzZfdnVzYl9lbmFibGUoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiB2b2lkIHBtdTYyMzZfdnVzYl9uZGlzX2VuYWJsZShrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIHZvaWQgcG11NjIzNl92dXNiX3N0Yl9lbmFibGUoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiB2b2lkIHBtdTYyMzZfdnVzYl9vY19hdXRvX29mZihrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIHZvaWQgcG11NjIzNl92dXNiX29jZmJfZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4ga2FsX2Jvb2wgcG11NjIzNl92dXNiX3N0YXR1cyh2b2lkKTsKKworLy8gKDB4ODY0KSBWVVNCX0NPTjEKK2V4dGVybiB2b2lkIHBtdTYyMzZfdnVzYl9jYWwoa2FsX3VpbnQ4IHZhbCk7CisKKy8vICgweDg2OCkgVlVTQl9DT04yCitleHRlcm4gdm9pZCBwbXU2MjM2X3Z1c2Jfb2NfdGQocG11NjIzNl9vY190ZF9lbnVtIHNlbCk7CisKKy8vICgweDg3MCkgVkJUX0NPTjAKK2V4dGVybiB2b2lkIHBtdTYyMzZfdmJ0X2VuYWJsZShrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIHZvaWQgcG11NjIzNl92YnRfdm9zZWwocG11NjIzNl92YnRfc2VsX2VudW0gc2VsKTsKK2V4dGVybiB2b2lkIHBtdTYyMzZfdmJ0X25kaXNfZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4gdm9pZCBwbXU2MjM2X3ZidF9zdGJfZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4gdm9pZCBwbXU2MjM2X3ZidF9vY19hdXRvX29mZihrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIHZvaWQgcG11NjIzNl92YnRfb2NmYl9lbmFibGUoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiBrYWxfYm9vbCBwbXU2MjM2X3ZidF9zdGF0dXModm9pZCk7CisKKy8vICgweDg3NCkgVkJUX0NPTjEKK2V4dGVybiB2b2lkIHBtdTYyMzZfdmJ0X2NhbChrYWxfdWludDggdmFsKTsKKworLy8gKDB4ODc4KSBWQlRfQ09OMgorZXh0ZXJuIHZvaWQgcG11NjIzNl92YnRfb2NfdGQocG11NjIzNl9vY190ZF9lbnVtIHNlbCk7CisKKy8vICgweDg4MCkgVlNJTV9DT04wCitleHRlcm4gdm9pZCBwbXU2MjM2X3ZzaW1fZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4gdm9pZCBwbXU2MjM2X3ZzaW1fdm9zZWwocG11NjIzNl92c2ltX3Zvc2VsX2VudW0gc2VsKTsKK2V4dGVybiB2b2lkIHBtdTYyMzZfdnNpbV9uZGlzX2VuYWJsZShrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIHZvaWQgcG11NjIzNl92c2ltX3N0Yl9lbmFibGUoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiB2b2lkIHBtdTYyMzZfdnNpbV9vY19hdXRvX29mZihrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIHZvaWQgcG11NjIzNl92c2ltX29jZmJfZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4ga2FsX2Jvb2wgcG11NjIzNl92c2ltX3N0YXR1cyh2b2lkKTsKKworLy8gKDB4ODg0KSBWU0lNX0NPTjEKK2V4dGVybiB2b2lkIHBtdTYyMzZfdnNpbV9jYWwoa2FsX3VpbnQ4IHZhbCk7CisKKy8vICgweDg4OCkgVlNJTV9DT04yCitleHRlcm4gdm9pZCBwbXU2MjM2X3ZzaW1fb2NfdGQocG11NjIzNl9vY190ZF9lbnVtIHNlbCk7CisKKy8vICgweDg5MCkgVlNJTTJfQ09OMAorZXh0ZXJuIHZvaWQgcG11NjIzNl92c2ltMl9lbmFibGUoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiB2b2lkIHBtdTYyMzZfdnNpbTJfdm9zZWwocG11NjIzNl92c2ltMl92b3NlbF9lbnVtIHNlbCk7CitleHRlcm4gdm9pZCBwbXU2MjM2X3ZzaW0yX25kaXNfZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4gdm9pZCBwbXU2MjM2X3ZzaW0yX3N0Yl9lbmFibGUoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiB2b2lkIHBtdTYyMzZfdnNpbTJfb2NfYXV0b19vZmYoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiB2b2lkIHBtdTYyMzZfdnNpbTJfb2NmYl9lbmFibGUoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiBrYWxfYm9vbCBwbXU2MjM2X3ZzaW0yX3N0YXR1cyh2b2lkKTsKKworLy8gKDB4ODk0KSBWU0lNMl9DT04xCitleHRlcm4gdm9pZCBwbXU2MjM2X3ZzaW0yX2NhbChrYWxfdWludDggdmFsKTsKKworLy8gKDB4ODk4KSBWU0lNMl9DT04yCitleHRlcm4gdm9pZCBwbXU2MjM2X3ZzaW0yX2dwbGRvX2VuKGthbF9ib29sIGVuYWJsZSk7CisKKy8vICgweDhBMCkgVkJBQ0tVUF9DT04wCitleHRlcm4gdm9pZCBwbXU2MjM2X3ZiYWNrdXBfZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4gdm9pZCBwbXU2MjM2X3ZiYWNrdXBfbmRpc19lbmFibGUoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiB2b2lkIHBtdTYyMzZfdmJhY2t1cF9zdGJfZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4gdm9pZCBwbXU2MjM2X3ZiYWNrdXBfb2NfYXV0b19vZmYoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiB2b2lkIHBtdTYyMzZfdmJhY2t1cF9vY2ZiX2VuYWJsZShrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIGthbF9ib29sIHBtdTYyMzZfdmJhY2t1cF9zdGF0dXModm9pZCk7CisKKy8vICgweDhCMCkgVklCUl9DT04wCitleHRlcm4gdm9pZCBwbXU2MjM2X3ZpYnJfZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4gdm9pZCBwbXU2MjM2X3ZpYnJfdm9zZWwocG11NjIzNl92aWJyX3Zvc2VsX2VudW0gc2VsKTsKK2V4dGVybiB2b2lkIHBtdTYyMzZfdmlicl9uZGlzX2VuYWJsZShrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIHZvaWQgcG11NjIzNl92aWJyX3N0Yl9lbmFibGUoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiB2b2lkIHBtdTYyMzZfdmlicl9vY19hdXRvX29mZihrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIHZvaWQgcG11NjIzNl92aWJyX29jZmJfZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4ga2FsX2Jvb2wgcG11NjIzNl92aWJyX3N0YXR1cyh2b2lkKTsKKworLy8gKDB4OEI0KSBWSUJSX0NPTjEKK2V4dGVybiB2b2lkIHBtdTYyMzZfdmlicl9jYWwoa2FsX3VpbnQ4IHZhbCk7CisKKy8vICgweDhDMCkgVk1DX0NPTjAKK2V4dGVybiB2b2lkIHBtdTYyMzZfdm1jX2VuYWJsZShrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIHZvaWQgcG11NjIzNl92bWNfdm9zZWwocG11NjIzNl92bWNfdm9zZWxfZW51bSBzZWwpOworZXh0ZXJuIHZvaWQgcG11NjIzNl92bWNfbmRpc19lbmFibGUoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiB2b2lkIHBtdTYyMzZfdm1jX3N0Yl9lbmFibGUoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiB2b2lkIHBtdTYyMzZfdm1jX29jX2F1dG9fb2ZmKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4gdm9pZCBwbXU2MjM2X3ZtY19vY2ZiX2VuYWJsZShrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIGthbF9ib29sIHBtdTYyMzZfdm1jX3N0YXR1cyh2b2lkKTsKKworLy8gKDB4OEM0KSBWTUNfQ09OMQorZXh0ZXJuIHZvaWQgcG11NjIzNl92bWNfY2FsKGthbF91aW50OCB2YWwpOworCisvLyAoMHg5MDApIFZDT1JFX0NPTjAKK2V4dGVybiB2b2lkIHBtdTYyMzZfdmNvcmVfZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4gdm9pZCBwbXU2MjM2X3Zjb3JlX3NlbnNlKHBtdTYyMzZfc2Vuc2VfZW51bSBzZWwpOworZXh0ZXJuIHZvaWQgcG11NjIzNl92Y29yZV92ZmJhZGoocG11NjIzNl92Y29yZV92ZmJhZGpfZW51bSBzZWwpOworZXh0ZXJuIGthbF91aW50MTYgcG11NjIzNl9nZXRfdmNvcmVfdmZiYWRqKHZvaWQpOworZXh0ZXJuIHZvaWQgcG11NjIzNl92Y29yZV9zdGJfZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4gdm9pZCBwbXU2MjM2X3Zjb3JlX29jX2F1dG9fb2ZmKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4gdm9pZCBwbXU2MjM2X3Zjb3JlX29jZmJfZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4ga2FsX2Jvb2wgcG11NjIzNl92Y29yZV9zdGF0dXModm9pZCk7CisKKy8vICgweDkwNCkgVkNPUkVfQ09OMQorZXh0ZXJuIHZvaWQgcG11NjIzNl92Y29yZV9tb2Rlc2V0KHBtdTYyMzZfdmNvcmVfbW9kZXNldF9lbnVtIG1vZGUpOworZXh0ZXJuIHZvaWQgcG11NjIzNl92Y29yZV92ZmJhZGpfc2xwKHBtdTYyMzZfdmNvcmVfdmZiYWRqX2VudW0gc2VsKTsKK2V4dGVybiBrYWxfdWludDE2IHBtdTYyMzZfZ2V0X3Zjb3JlX3ZmYmFkal9zbHAodm9pZCk7CisKKy8vICgweDkwOCkgVkNPUkVfQ09OMgorZXh0ZXJuIHZvaWQgcG11NjIzNl92Y29yZV92b3NlbChwbXU2MjM2X3Zjb3JlX3Zvc2VsX2VudW0gc2VsKTsKK2V4dGVybiB2b2lkIHBtdTYyMzZfdmNvcmVfY2FsKGthbF91aW50OCB2YWwpOworCisvLyAoMHg5MEMpIFZDT1JFX0NPTjMKK2V4dGVybiB2b2lkIHBtdTYyMzZfdmNvcmVfaWNhbF9lbihrYWxfdWludDggc2VsKTsKKworLy8gKDB4OTE0KSBWQ09SRV9DT041CitleHRlcm4gdm9pZCBwbXU2MjM2X3Zjb3JlX2NzbChwbXU2MjM2X3Zjb3JlX2NzbF9lbnVtIHNlbCk7CitleHRlcm4gdm9pZCBwbXU2MjM2X3Zjb3JlX2J1cnN0KHBtdTYyMzZfdmNvcmVfYnVyc3RfZW51bSBzZWwpOworCisvLyAoMHg5MjApIFZNX0NPTjAKK2V4dGVybiB2b2lkIHBtdTYyMzZfdm1fc2Vuc2UocG11NjIzNl9zZW5zZV9lbnVtIHNlbCk7CitleHRlcm4gdm9pZCBwbXU2MjM2X3ZtX3N0Yl9lbmFibGUoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiB2b2lkIHBtdTYyMzZfdm1fb2NfYXV0b19vZmYoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiB2b2lkIHBtdTYyMzZfdm1fb2NmYl9lbmFibGUoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiBrYWxfYm9vbCBwbXU2MjM2X3ZtX3N0YXR1cyh2b2lkKTsKKworLy8gKDB4OTI4KSBWTV9DT00yCitleHRlcm4gdm9pZCBwbXU2MjM2X3ZtX2NhbChrYWxfdWludDggdmFsKTsKKworLy8gKDB4OTJDKSBWTV9DT04zCitleHRlcm4gdm9pZCBwbXU2MjM2X3ZtX2ljYWxfZW4oa2FsX3VpbnQ4IHNlbCk7CisKKy8vICgweDkzNCkgVk1fQ09ONQorZXh0ZXJuIHZvaWQgcG11NjIzNl92bV9jc2wocG11NjIzNl92bV9jc2xfZW51bSB2YWwpOworZXh0ZXJuIHZvaWQgcG11NjIzNl92bV9idXJzdChwbXU2MjM2X3ZtX2J1cnN0X2VudW0gdmFsKTsKKworLy8gKDB4QTAwKSBDSFJfQ09OMAorZXh0ZXJuIHZvaWQgcG11NjIzNl9jaHJfdmNkdF9sdl92dGgoa2FsX3VpbnQ4IHZhbCk7CitleHRlcm4gdm9pZCBwbXU2MjM2X2Nocl92Y2R0X2h2X3Z0aChrYWxfdWludDggdmFsKTsKK2V4dGVybiB2b2lkIHBtdTYyMzZfY2hyX3ZjZHRfaHZfZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4gdm9pZCBwbXU2MjM2X2Nocl9lbmFibGUoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiBrYWxfYm9vbCBwbXU2MjM2X2Nocl9jaHJkZXQodm9pZCk7CitleHRlcm4ga2FsX2Jvb2wgcG11NjIzNl9jaHJfb3ZwKHZvaWQpOworCisvLyAoMHhBMDQpIENIUl9DT04xCitleHRlcm4gdm9pZCBwbXU2MjM2X2Nocl92YmF0X2N2X3Z0aChwbXU2MjM2X2Nocl92YmF0X2N2X2VudW0gY3YpOworZXh0ZXJuIHZvaWQgcG11NjIzNl9jaHJfdmJhdF9jY192dGgocG11NjIzNl9jaHJfdmJhdF9jY19lbnVtIGNjKTsKK2V4dGVybiB2b2lkIHBtdTYyMzZfY2hyX3ZiYXRfY3ZfZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4gdm9pZCBwbXU2MjM2X2Nocl92YmF0X2NjX2VuYWJsZShrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIGthbF9ib29sIHBtdTYyMzZfY2hyX2N2X2RldCh2b2lkKTsKK2V4dGVybiBrYWxfYm9vbCBwbXU2MjM2X2Nocl9jY19kZXQodm9pZCk7CisKKy8vICgweEEwOCkgQ0hSX0NPTjIKK2V4dGVybiB2b2lkIHBtdTYyMzZfY2hyX2NzX2VuYWJsZShrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIHZvaWQgcG11NjIzNl9jaHJfY3VycmVudChwbXU2MjM2X2Nocl9jdXJyZW50X2VudW0gc2VsKTsKKworLy8gKDB4QTBDKSBDSFJfQ09OMworZXh0ZXJuIHZvaWQgcG11NjIzNl9jaHJfY3NkYWNfZGx5KGthbF91aW50MzIgc2VsKTsKK2V4dGVybiB2b2lkIHBtdTYyMzZfY2hyX2NzZGFjX3N0cChrYWxfdWludDMyIHNlbCk7CisKKy8vICgweEExNCkgQ0hSX0NPTjUKK2V4dGVybiBrYWxfdWludDE2IHBtdTYyMzZfY2hyX2NvbnRyb2xfc3RhdGUoa2FsX3VpbnQxNiBzZWwpOworZXh0ZXJuIHBtdTYyMzZfcGNocl9zdGF0ZV9lbnVtIHBtdTYyMzZfZ2V0X3BjaHJfc3RhdGUodm9pZCk7CisKKy8vICgweEExOCkgQ0hSX0NPTjYKK2V4dGVybiB2b2lkIHBtdTYyMzZfY2hyX3dkdF90ZChwbXU2MjM2X2Nocl93ZHRfdGRfZW51bSBzZWwpOworZXh0ZXJuIHZvaWQgcG11NjIzNl9jaHJfd2R0X2VuYWJsZShrYWxfYm9vbCBlbmFibGUpOworCisvLyAoMHhBMUMpIENIUl9DT043CitleHRlcm4gdm9pZCBwbXU2MjM2X2Nocl93ZHRfaW50cl9lbmFibGUoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiBrYWxfYm9vbCBwbXU2MjM2X2Nocl93ZHRfc3RhdHVzKHZvaWQpOworZXh0ZXJuIHZvaWQgcG11NjIzNl9jaHJfd2R0X2NsZWFyKHZvaWQpOworCisvLyAoMHhBMjApIENIUl9DT044CitleHRlcm4gdm9pZCBwbWljNjIzNl9jaHJfYWRjX21lYXNfb24oa2FsX2Jvb2wgZW5hYmxlKTsKKworLy8gKDB4QjAwKSBCT09TVF9DT04wCitleHRlcm4gdm9pZCBwbXU2MjM2X3Zib29zdF9lbmFibGUoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiBrYWxfYm9vbCBwbXU2MjM2X2dldF92Ym9vc3RfZW5hYmxlKHZvaWQpOworZXh0ZXJuIHZvaWQgcG11NjIzNl92Ym9vc3RfdHlwZShwbXU2MjM2X3Zib29zdF90eXBlX2VudW0gc2VsKTsKK2V4dGVybiBwbXU2MjM2X3Zib29zdF90eXBlX2VudW0gcG11NjIzNl9nZXRfdmJvb3N0X3R5cGUodm9pZCk7CitleHRlcm4gdm9pZCBwbXU2MjM2X3Zib29zdF9tb2RlKHBtdTYyMzZfdmJvb3N0X21vZGVfZW51bSBzZWwpOworZXh0ZXJuIHBtdTYyMzZfdmJvb3N0X21vZGVfZW51bSBwbXU2MjM2X2dldF92Ym9vc3RfbW9kZSh2b2lkKTsKK2V4dGVybiB2b2lkIHBtdTYyMzZfdmJvb3N0X3Zyc2VsKGthbF91aW50MTYgdmFsKTsKK2V4dGVybiBrYWxfdWludDE2IHBtdTYyMzZfZ2V0X3Zib29zdF92cnNlbCh2b2lkKTsKKworLy8gKDB4QjBDKSBCT09TVF9DT04zCitleHRlcm4gdm9pZCBwbXU2MjM2X3Zib29zdF9ja3NfcHJnKGthbF91aW50OCB2YWwpOworCisvLyAoMHhDMDApIElTSU5LMF9DT04wCitleHRlcm4gdm9pZCBwbXU2MjM2X2lzaW5rMF9lbmFibGUoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiB2b2lkIHBtdTYyMzZfaXNpbmswX21vZGUocG11NjIzNl9pc2lua19tb2RlX2VudW0gc2VsKTsKK2V4dGVybiB2b2lkIHBtdTYyMzZfaXNpbmswX3N0ZXAocG11NjIzNl9pc2lua19zdGVwX2VudW0gc2VsKTsKK2V4dGVybiBrYWxfYm9vbCBwbXU2MjM2X2lzaW5rMF9zdGF0dXModm9pZCk7CisKKy8vICgweEMxMCkgSVNJTksxX0NPTjAKK2V4dGVybiB2b2lkIHBtdTYyMzZfaXNpbmsxX2VuYWJsZShrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIHZvaWQgcG11NjIzNl9pc2luazFfbW9kZShwbXU2MjM2X2lzaW5rX21vZGVfZW51bSBzZWwpOworZXh0ZXJuIHZvaWQgcG11NjIzNl9pc2luazFfc3RlcChwbXU2MjM2X2lzaW5rX3N0ZXBfZW51bSBzZWwpOworZXh0ZXJuIGthbF9ib29sIHBtdTYyMzZfaXNpbmsxX3N0YXR1cyh2b2lkKTsKKworLy8gKDB4QzIwKSBJU0lOSzJfQ09OMAorZXh0ZXJuIHZvaWQgcG11NjIzNl9pc2luazJfZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4gdm9pZCBwbXU2MjM2X2lzaW5rMl9tb2RlKHBtdTYyMzZfaXNpbmtfbW9kZV9lbnVtIHNlbCk7CitleHRlcm4gdm9pZCBwbXU2MjM2X2lzaW5rMl9zdGVwKHBtdTYyMzZfaXNpbmtfc3RlcF9lbnVtIHNlbCk7CitleHRlcm4ga2FsX2Jvb2wgcG11NjIzNl9pc2luazJfc3RhdHVzKHZvaWQpOworCisvLyAoMHhDMzApIElTSU5LM19DT04wCitleHRlcm4gdm9pZCBwbXU2MjM2X2lzaW5rM19lbmFibGUoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiB2b2lkIHBtdTYyMzZfaXNpbmszX21vZGUocG11NjIzNl9pc2lua19tb2RlX2VudW0gc2VsKTsKK2V4dGVybiB2b2lkIHBtdTYyMzZfaXNpbmszX3N0ZXAocG11NjIzNl9pc2lua19zdGVwX2VudW0gc2VsKTsKK2V4dGVybiBrYWxfYm9vbCBwbXU2MjM2X2lzaW5rM19zdGF0dXModm9pZCk7CisKKy8vICgweEM0MCkgSVNJTks0X0NPTjAKK2V4dGVybiB2b2lkIHBtdTYyMzZfaXNpbms0X2VuYWJsZShrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIHZvaWQgcG11NjIzNl9pc2luazRfbW9kZShwbXU2MjM2X2lzaW5rX21vZGVfZW51bSBzZWwpOworZXh0ZXJuIHZvaWQgcG11NjIzNl9pc2luazRfc3RlcChwbXU2MjM2X2lzaW5rX3N0ZXBfZW51bSBzZWwpOworZXh0ZXJuIGthbF9ib29sIHBtdTYyMzZfaXNpbms0X3N0YXR1cyh2b2lkKTsKKworLy8gKDB4MEM4MCkgS1BMRURfQ09OMAorZXh0ZXJuIHZvaWQgcG11NjIzNl9rcGxlZF9lbmFibGUoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiB2b2lkIHBtdTYyMzZfa3BsZWRfbW9kZShwbXU2MjM2X2twbGVkX21vZGVfZW51bSBzZWwpOworZXh0ZXJuIHZvaWQgcG11NjIzNl9rcGxlZF9zZWwoa2FsX3VpbnQ4IHZhbCk7CitleHRlcm4ga2FsX2Jvb2wgcG11NjIzNl9rcGxlZF9zdGF0dXModm9pZCk7CisKKy8vICgweDBDOTApIEZMQVNIX0NPTjAKK2V4dGVybiB2b2lkIHBtdTYyMzZfZmxhc2hfZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4gdm9pZCBwbXU2MjM2X2ZsYXNoX21vZGUocG11NjIzNl9mbGFzaF9tb2RlX2VudW0gc2VsKTsKK2V4dGVybiB2b2lkIHBtdTYyMzZfZmxhc2hfc2VsKGthbF91aW50OCBzZWwpOworZXh0ZXJuIGthbF9ib29sIHBtdTYyMzZfZmxhc2hfc3RhdHVzKHZvaWQpOworCisvLyAoMHhEMDApIFNQS19DT04wCitleHRlcm4gdm9pZCBwbXU2MjM2X3Nwa19lbmFibGUoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiBrYWxfYm9vbCBwbXU2MjM2X2dldF9zcGtfZW5hYmxlKHZvaWQpOworZXh0ZXJuIHZvaWQgcG11NjIzNl9zcGtfdm9sKHBtdTYyMzZfc3BrX3ZvbF9lbnVtIHZhbCk7CitleHRlcm4gcG11NjIzNl9zcGtfdm9sX2VudW0gcG11NjIzNl9nZXRfc3BrX3ZvbCh2b2lkKTsKK2V4dGVybiB2b2lkIHBtdTYyMzZfc3BrX29jZmJfZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CisKKy8vICgweEUwMCkgUE1JQ19PQ19DT04wCitleHRlcm4gdm9pZCBwbXU2MjM2X3ZyZl9vY19pbnRfZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4gdm9pZCBwbXU2MjM2X3Z0Y3hvX29jX2ludF9lbmFibGUoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiB2b2lkIHBtdTYyMzZfdmFfb2NfaW50X2VuYWJsZShrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIHZvaWQgcG11NjIzNl92Y2FtYV9vY19pbnRfZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4gdm9pZCBwbXU2MjM2X3ZjYW1kX29jX2ludF9lbmFibGUoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiB2b2lkIHBtdTYyMzZfdmlvX29jX2ludF9lbmFibGUoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiB2b2lkIHBtdTYyMzZfdnVzYl9vY19pbnRfZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4gdm9pZCBwbXU2MjM2X3ZidF9vY19pbnRfZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4gdm9pZCBwbXU2MjM2X3ZzaW1fb2NfaW50X2VuYWJsZShrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIHZvaWQgcG11NjIzNl92c2ltMl9vY19pbnRfZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4gdm9pZCBwbXU2MjM2X3ZiYWNrdXBfb2NfaW50X2VuYWJsZShrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIHZvaWQgcG11NjIzNl92aWJyX29jX2ludF9lbmFibGUoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiB2b2lkIHBtdTYyMzZfdm1jX29jX2ludF9lbmFibGUoa2FsX2Jvb2wgZW5hYmxlKTsKKworLy8gKDB4RTA0KSBQTUlDX09DX0NPTjEKK2V4dGVybiB2b2lkIHBtdTYyMzZfdmNvcmVfb2NfaW50X2VuYWJsZShrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIHZvaWQgcG11NjIzNl92bV9vY19pbnRfZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CisKKy8vIE90aGVyIGV4cG9ydGVkIEFQSXMKK2V4dGVybiB2b2lkIHBtdTYyMzZfaW5pdCh2b2lkKTsKK2V4dGVybiBwbXU2MjM2X2Nocl9jdXJyZW50X2VudW0gcG11NjIzNl9yZXRfY2hyX2N1cnJlbnQodm9pZCk7CitleHRlcm4gcG11NjIzNl9jaHJfY3VycmVudF9lbnVtIHBtdTYyMzZfcmV0X3VzYl9jdXJyZW50KHZvaWQpOworZXh0ZXJuIHZvaWQgcG11NjIzNl9pbml0X2JsKHBtdTYyMzZfYmxfbW9kZV9lbnVtIGJsX21vZGUpOworZXh0ZXJuIHZvaWQgcG11NjIzNl9lbmFibGVfYmwoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiB2b2lkIHBtdTYyMzZfRU1fcmVnX3dyaXRlKGthbF91aW50MzIgcmVnLCBrYWxfdWludDE2IHZhbCk7CitleHRlcm4ga2FsX3VpbnQxNiBwbXU2MjM2X0VNX3JlZ19yZWFkKGthbF91aW50MzIgcmVnKTsKKyNpZiBkZWZpbmVkKFBNSUNfNjIzNl9DVl9UUklNX0NBTElCUkFUSU9OKQorZXh0ZXJuIHBtdTYyMzZfY2hyX3ZiYXRfY3ZfZW51bSBtdDYyMzZfZWZ1c2VfdmJhdF9jdjsKKyNlbmRpZiAvLyAjaWYgZGVmaW5lZChQTUlDXzYyMzZfQ1ZfVFJJTV9DQUxJQlJBVElPTikKKyovCisKKy8vIFRoZSBmb2xsb3dpbmcgYXJlIGltcGxlbWVudGVkIGluIGN1c3RvbSBmaWxlcworLy8gTW9ESVMgcGFyc2VyIHNraXAgc3RhcnQKKy8vIE1vRElTIHBhcnNlciBza2lwIGVuZAorCisKKy8qCit0eXBlZGVmIGVudW0KK3sKKwlQTVVfRkFLRV9MRE9fQlVDS19NQVgKK31QTVVfRkFLRV9MRE9fQlVDS19MSVNUX0VOVU07CisKKwordHlwZWRlZiBlbnVtCit7CisJVlJGLAorCVZUQ1hPLAorCVZBLAorCVZDQU1BLAorCVZDQU1ELAorCVZJTywKKwlWVVNCLAorCVZCVCwKKwlWU0lNLAorCVZTSU0yLAorCVZCQUNLVVAsCisJVklCUiwKKwlWTUMsCisJVkNPUkUsCisJVk0sCisJUE1VX0xET19CVUNLX01BWCwKKwlWUkYxOCwKKwlWRk0KK31QTVVfTERPX0JVQ0tfTElTVF9FTlVNOworCit0eXBlZGVmIGVudW0KK3sKKwlWUEExLAorCVBNVV9WUEFfTUFYCit9UE1VX1ZQQV9MSVNUX0VOVU07CisKK3R5cGVkZWYgZW51bQoreworCUNIUiwKKwlQTVVfQ0hSX01BWAorfVBNVV9DSFJfTElTVF9FTlVNOworCit0eXBlZGVmIGVudW0KK3sKKwlTUEssCisJU1BLTCwKKwlTUEtSLAorCVBNVV9TUEtfTUFYCit9UE1VX1NQS19MSVNUX0VOVU07CisKK3R5cGVkZWYgZW51bQoreworCUlTSU5LMCwKKwlJU0lOSzEsCisJSVNJTksyLAorCUlTSU5LMywKKwlJU0lOSzQsCisJUE1VX0lTSU5LX01BWAorfVBNVV9JU0lOS19MSVNUX0VOVU07CisKK3R5cGVkZWYgZW51bQoreworCUJPT1NUMSwKKwlCT09TVDIsCisJUE1VX0JPT1NUX01BWAorfVBNVV9CT09TVF9MSVNUX0VOVU07CisqLworCisKKyNlbmRpZiAvLyAjaWZkZWYgUE1JQ182MjM2X1JFR19BUEkKKyNlbmRpZiAvLyAjaWZuZGVmIF9fRENMX1BNVTYyMzZfU1dfSF9TVFJVQ1RfXworCisKKwpkaWZmIC0tZ2l0IGEvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9kY2xfcG11NjI1MV9ody5oIGIvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9kY2xfcG11NjI1MV9ody5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFlNmQyY2EKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL2RjbF9wbXU2MjUxX2h3LmgKQEAgLTAsMCArMSw0NjkgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAwNQorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZpbGVuYW1lOgorICogLS0tLS0tLS0tCisgKiAgICBkY2xfcG11NjI1MV9ody5oCisgKgorICogUHJvamVjdDoKKyAqIC0tLS0tLS0tCisgKiAgIE1hdWlfU29mdHdhcmUKKyAqCisgKiBEZXNjcmlwdGlvbjoKKyAqIC0tLS0tLS0tLS0tLQorICogICBUaGlzIGZpbGUgaXMgaW50ZW5kZWQgZm9yIFBNSUMgNjI1MSBkcml2ZXIuCisgKgorICogQXV0aG9yOgorICogLS0tLS0tLQorICogLS0tLS0tLQorICoKKyAqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICogICAgICAgICAgICAgSElTVE9SWQorICogQmVsb3cgdGhpcyBsaW5lLCB0aGlzIHBhcnQgaXMgY29udHJvbGxlZCBieSBQVkNTIFZNLiBETyBOT1QgTU9ESUZZISEKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiBVcHBlciB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmbmRlZiBfX1BNVTYyNTFfSFdfSF9fCisjZGVmaW5lIF9fUE1VNjI1MV9IV19IX18KKworI2lmIGRlZmluZWQoUE1JQ182MjUxX1JFR19BUEkpCisKKyNkZWZpbmUgUE1VX0JBU0UgICAgICAgIE1JWEVEX2Jhc2UKKyNkZWZpbmUgUE1VX0VORCAgICAgICAgIChQTVVfQkFTRSsweDEwMDApCisKKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKy8vIExETyBncm91cAorI2RlZmluZSBWUkZfQ09OMCAgICAgICAgICAoUE1VX0JBU0UgKyAweDA4MDApCisjZGVmaW5lIFZUQ1hPX0NPTjAgICAgICAgIChQTVVfQkFTRSArIDB4MDgxMCkKKyNkZWZpbmUgVkFfQ09OMCAgICAgICAgICAgKFBNVV9CQVNFICsgMHgwODIwKQorI2RlZmluZSBWSU8yOF9DT04wICAgICAgICAoUE1VX0JBU0UgKyAweDA4NTApCisjZGVmaW5lIFZVU0JfQ09OMCAgICAgICAgIChQTVVfQkFTRSArIDB4MDg2MCkKKyNkZWZpbmUgVlNGX0NPTjAgICAgICAgICAgKFBNVV9CQVNFICsgMHgwODcwKQorI2RlZmluZSBWU0lNX0NPTjAgICAgICAgICAoUE1VX0JBU0UgKyAweDA4ODApCisjZGVmaW5lIFZTSU0yX0NPTjAgICAgICAgIChQTVVfQkFTRSArIDB4MDg5MCkKKyNkZWZpbmUgVlJUQ19DT04wICAgICAgICAgKFBNVV9CQVNFICsgMHgwOEEwKQorI2RlZmluZSBWSUJSX0NPTjAgICAgICAgICAoUE1VX0JBU0UgKyAweDA4QjApCisjZGVmaW5lIFZGTV9DT04wICAgICAgICAgIChQTVVfQkFTRSArIDB4MDhEMCkKKyNkZWZpbmUgVklPMThfQ09OMCAgICAgICAgKFBNVV9CQVNFICsgMHgwOEYwKQorCisvLyBCVUNLIGdyb3VwCisjZGVmaW5lIFZDT1JFX0NPTjAgICAgICAgIChQTVVfQkFTRSArIDB4MDkwMCkKKworLy8gQk9PU1QgZ3JvdXAKKyNkZWZpbmUgQk9PU1RfQ09OMCAgICAgICAgKFBNVV9CQVNFICsgMHgwQjAwKQorCisvLyBpU0lOSyBncm91cAorI2RlZmluZSBJU0lOSzBfQ09OMCAgICAgICAoUE1VX0JBU0UgKyAweDBDMDApCisjZGVmaW5lIElTSU5LMV9DT04wICAgICAgIChQTVVfQkFTRSArIDB4MEMxMCkKKyNkZWZpbmUgSVNJTksyX0NPTjAgICAgICAgKFBNVV9CQVNFICsgMHgwQzIwKQorI2RlZmluZSBJU0lOSzNfQ09OMCAgICAgICAoUE1VX0JBU0UgKyAweDBDMzApCisKKy8vIEtQTEVEIGdyb3VwCisjZGVmaW5lIEtQTEVEX0NPTjAgICAgICAgIChQTVVfQkFTRSArIDB4MEM4MCkKKworLy8gU1BLCisjZGVmaW5lIFNQS19DT04wICAgICAgICAgIChQTVVfQkFTRSArIDB4MEQwMCkKKworLy8gQ0hSCisjZGVmaW5lIENIUl9DT04wICAgICAgICAgIChQTVVfQkFTRSArIDB4MEEwMCkKKworI2lmIGRlZmluZWQoX19NVDYyNTFQTVVfRTFfQkMxMV9WU1JDX0VOX0FUX1RFU1RfQ09OMV9CSVQ0X18pCisjZGVmaW5lIFRFU1RfQ09OMSAgICAgICAgIChQTVVfQkFTRSArIDB4MEYwNCkKKyNlbmRpZiAvLyAjaWYgZGVmaW5lZChfX01UNjI1MVBNVV9FMV9CQzExX1ZTUkNfRU5fQVRfVEVTVF9DT04xX0JJVDRfXykKKworLy8gU1RBUlRVUAorI2RlZmluZSBTVFJVUF9DT04wICAgICAgICAoUE1VX0JBU0UgKyAweDBBODApCisKKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKworCisvLyBCQzExIFZTUkNfRU4KKyNkZWZpbmUgTVQ2MjUxX0UxX0JDMTFfVlNSQ19FTl9NQVNLICAgICAgMHgwMDMwCisjZGVmaW5lIE1UNjI1MV9FMV9CQzExX1ZTUkNfRU5fU0hJRlQgICAgIDQKKworCisjZGVmaW5lIENPTjBfT0ZGU0VUICAgICAgICAgICAweDAwCisjZGVmaW5lIENPTjFfT0ZGU0VUICAgICAgICAgICAweDA0CisjZGVmaW5lIENPTjJfT0ZGU0VUICAgICAgICAgICAweDA4CisjZGVmaW5lIENPTjNfT0ZGU0VUICAgICAgICAgICAweDBDCisjZGVmaW5lIENPTjRfT0ZGU0VUICAgICAgICAgICAweDEwCisjZGVmaW5lIENPTjVfT0ZGU0VUICAgICAgICAgICAweDE0CisjZGVmaW5lIENPTjZfT0ZGU0VUICAgICAgICAgICAweDE4CisjZGVmaW5lIENPTjdfT0ZGU0VUICAgICAgICAgICAweDFDCisjZGVmaW5lIENPTjhfT0ZGU0VUICAgICAgICAgICAweDIwCisjZGVmaW5lIENPTjlfT0ZGU0VUICAgICAgICAgICAweDI0CisKKy8vIExETyBhbmQgQlVDSyBjbWRzCisjZGVmaW5lIExET19CVUNLX0VOX09GRlNFVCAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBMRE9fQlVDS19FTl9NQVNLICAgICAgICAgICAgICAgMHgwMDAxCisjZGVmaW5lIExET19CVUNLX0VOX1NISUZUICAgICAgICAgICAgICAwCisKKyNkZWZpbmUgTERPX0JVQ0tfVk9MX1NFTF9PRkZTRVQJCUNPTjBfT0ZGU0VUCisjZGVmaW5lIExET19CVUNLX1ZPTF9TRUxfTUFTSyAgICAgICAgICAweDAxRjAKKyNkZWZpbmUgTERPX0JVQ0tfVk9MX1NFTF9TSElGVCAgICAgICAgIDQKKworI2RlZmluZSBMRE9fQlVDS19PQ19BVVRPX09GRl9PRkZTRVQgQ09OMF9PRkZTRVQKKyNkZWZpbmUgTERPX0JVQ0tfT0NfQVVUT19PRkZfTUFTSyAgICAgIDB4MTAwMAorI2RlZmluZSBMRE9fQlVDS19PQ19BVVRPX09GRl9TSElGVCAgICAgMTIKKworI2RlZmluZSBMRE9fQlVDS19TVEJfRU5fT0ZGU0VUCQlDT04wX09GRlNFVAorI2RlZmluZSBMRE9fQlVDS19TVEJfRU5fTUFTSyAgICAgICAgICAgMHgwODAwCisjZGVmaW5lIExET19CVUNLX1NUQl9FTl9TSElGVCAgICAgICAgICAxMQorCisjZGVmaW5lIExET19CVUNLX09OX1NFTF9PRkZTRVQJCUNPTjBfT0ZGU0VUCisjZGVmaW5lIExET19CVUNLX09OX1NFTF9NQVNLICAgICAgICAgICAweDAwMDIKKyNkZWZpbmUgTERPX0JVQ0tfT05fU0VMX1NISUZUICAgICAgICAgIDEKKworI2RlZmluZSBMRE9fQlVDS19ORElTX0VOX09GRlNFVAkJQ09OMF9PRkZTRVQKKyNkZWZpbmUgTERPX0JVQ0tfTkRJU19FTl9NQVNLICAgICAgICAgIDB4MDQwMAorI2RlZmluZSBMRE9fQlVDS19ORElTX0VOX1NISUZUICAgICAgICAgMTAKKworI2RlZmluZSBMRE9fQlVDS19PQ0ZCX0VOX09GRlNFVAkJQ09OMF9PRkZTRVQKKyNkZWZpbmUgTERPX0JVQ0tfT0NGQl9FTl9NQVNLICAgICAgICAgIDB4MjAwMAorI2RlZmluZSBMRE9fQlVDS19PQ0ZCX0VOX1NISUZUICAgICAgICAgMTMKKworCisvLyBMRE8gY21kcworI2RlZmluZSBMRE9fQ0FMX09GRlNFVAkJQ09OMV9PRkZTRVQKKyNkZWZpbmUgTERPX0NBTF9NQVNLICAgICAgICAgICAgICAweDAxRjAKKyNkZWZpbmUgTERPX0NBTF9TSElGVCAgICAgICAgICAgICA0CisKKyNkZWZpbmUgTERPX1NUQl9URF9PRkZTRVQJCUNPTjFfT0ZGU0VUCisjZGVmaW5lIExET19TVEJfVERfTUFTSyAgICAgICAgICAgMHgwMDAzCisjZGVmaW5lIExET19TVEJfVERfU0hJRlQgICAgICAgICAgMAorCisjZGVmaW5lIExET19PQ19URF9PRkZTRVQJCUNPTjJfT0ZGU0VUCisjZGVmaW5lIExET19PQ19URF9NQVNLICAgICAgICAgICAgMHgwMDMwCisjZGVmaW5lIExET19PQ19URF9TSElGVCAgICAgICAgICAgNAorCisvLyBCVUNLIGNtZHMKKyNkZWZpbmUgQlVDS19WRkJBREpfU0xFRVBfT0ZGU0VUCUNPTjFfT0ZGU0VUCisjZGVmaW5lIEJVQ0tfVkZCQURKX1NMRUVQX01BU0sgICAgMHgwMUYwCisjZGVmaW5lIEJVQ0tfVkZCQURKX1NMRUVQX1NISUZUICAgNAorCisjZGVmaW5lIEJVQ0tfSUNBTF9FTl9PRkZTRVQJQ09OM19PRkZTRVQKKyNkZWZpbmUgQlVDS19JQ0FMX0VOX01BU0sgICAgICAgICAweDMwMDAKKyNkZWZpbmUgQlVDS19JQ0FMX0VOX1NISUZUICAgICAgICAxMgorCisjZGVmaW5lIEJVQ0tfQ1NMX09GRlNFVAlDT041X09GRlNFVAorI2RlZmluZSBCVUNLX0NTTF9NQVNLICAgICAgICAgICAgIDB4MDcwMAorI2RlZmluZSBCVUNLX0NTTF9TSElGVCAgICAgICAgICAgIDgKKworI2RlZmluZSBCVUNLX1NUQl9URF9PRkZTRVQJCUNPTjNfT0ZGU0VUCisjZGVmaW5lIEJVQ0tfU1RCX1REX01BU0sgICAgICAgICAgMHgwMEMwCisjZGVmaW5lIEJVQ0tfU1RCX1REX1NISUZUICAgICAgICAgNgorCisjZGVmaW5lIEJVQ0tfT0NfVEhEX09GRlNFVAlDT04zX09GRlNFVAorI2RlZmluZSBCVUNLX09DX1RIRF9NQVNLICAgICAgICAgIDB4MDMwMAorI2RlZmluZSBCVUNLX09DX1RIRF9TSElGVCAgICAgICAgIDgKKworI2RlZmluZSBCVUNLX0JVUlNUX09GRlNFVAkJQ09ONV9PRkZTRVQKKyNkZWZpbmUgQlVDS19CVVJTVF9NQVNLICAgICAgICAgICAweDMwMDAKKyNkZWZpbmUgQlVDS19CVVJTVF9TSElGVCAgICAgICAgICAxMgorCisvLyBTUEsKKyNkZWZpbmUgU1BLX0VOX09GRlNFVAkJCQlDT04wX09GRlNFVAorI2RlZmluZSBTUEtfRU5fTUFTSwkJCQkweDAwMDEKKyNkZWZpbmUgU1BLX0VOX1NISUZUCQkJCTAKKworI2RlZmluZSBTUEtfVk9MX09GRlNFVCAgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgU1BLX1ZPTF9NQVNLICAgICAgICAgICAgICAweDAxRjAKKyNkZWZpbmUgU1BLX1ZPTF9TSElGVCAgICAgICAgICAgICA0CisKKyNkZWZpbmUgU1BLX0NDT0RFX09GRlNFVCAgICAgICAgIENPTjFfT0ZGU0VUCisjZGVmaW5lIFNQS19DQ09ERV9NQVNLICAgICAgICAgICAgMHgwMEYwCisjZGVmaW5lIFNQS19DQ09ERV9TSElGVCAgICAgICAgICAgNAorCisjZGVmaW5lIFNQS19PQ19FTl9PRkZTRVQgCSAgICBDT04zX09GRlNFVCAgCisjZGVmaW5lIFNQS19PQ19FTl9NQVNLICAgICAgICAgICAgMHgwNDAwCisjZGVmaW5lIFNQS19PQ19FTl9TSElGVCAgICAgICAgICAgMTAKKworI2RlZmluZSBTUEtfT1NDX0lTRUxfT0ZGU0VUICAgICAgICAgQ09OM19PRkZTRVQKKyNkZWZpbmUgU1BLX09TQ19JU0VMX01BU0sgICAgICAgICAweDAwQzAKKyNkZWZpbmUgU1BLX09TQ19JU0VMX1NISUZUICAgICAgICA2CisKKyNkZWZpbmUgU1BLX05HX0RUX0RMWV9PRkZTRVQgICAgICAgICBDT040X09GRlNFVAorI2RlZmluZSBTUEtfTkdfRFRfRExZX01BU0sgICAgICAgICAweDAwMGYKKyNkZWZpbmUgU1BLX05HX0RUX0RMWV9TSElGVCAgICAgICAgMAorCisjZGVmaW5lIFNQS19PQ1BfQklBU19PRkZTRVQgICAgICAgICBDT040X09GRlNFVAorI2RlZmluZSBTUEtfT0NQX0JJQVNfTUFTSyAgICAgICAgICAgIDB4NzAwMAorI2RlZmluZSBTUEtfT0NQX0JJQVNfU0hJRlQgICAgICAgICAgIDEyCisKKyNkZWZpbmUgU1BLX09DTl9CSUFTX09GRlNFVCAgICAgICAgIENPTjRfT0ZGU0VUCisjZGVmaW5lIFNQS19PQ05fQklBU19NQVNLICAgICAgICAgICAgMHgwNzAwCisjZGVmaW5lIFNQS19PQ05fQklBU19TSElGVCAgICAgICAgICAgOAorCisKKyNkZWZpbmUgU1BLX1BHX1NMRVdfSV9PRkZTRVQJICAgICBDT041X09GRlNFVAorI2RlZmluZSBTUEtfUEdfU0xFV19JX01BU0sgICAgICAgICAgICAweDMwMDAKKyNkZWZpbmUgU1BLX1BHX1NMRVdfSV9TSElGVCAgICAgICAgICAgMTIKKworI2RlZmluZSBTUEtfTkdfU0xFV19ETFlfT0ZGU0VUICAgICAgICAgQ09ONV9PRkZTRVQKKyNkZWZpbmUgU1BLX05HX1NMRVdfRExZX01BU0sgICAgICAgICAgICAweDAwMDcKKyNkZWZpbmUgU1BLX05HX1NMRVdfRExZX1NISUZUICAgICAgICAgICAwCisKKyNkZWZpbmUgU1BLX1BHX1NMRVdfRExZX09GRlNFVCAgICAgICAgIENPTjVfT0ZGU0VUCisjZGVmaW5lIFNQS19QR19TTEVXX0RMWV9NQVNLICAgICAgICAgICAgMHgwNzAwCisjZGVmaW5lIFNQS19QR19TTEVXX0RMWV9TSElGVCAgICAgICAgICAgOAorCisjZGVmaW5lIFNQS19BQl9PQklBU19PRkZTRVQgICAgICAgICBDT043X09GRlNFVAorI2RlZmluZSBTUEtfQUJfT0JJQVNfTUFTSyAgICAgICAgIDB4MDAzMAorI2RlZmluZSBTUEtfQUJfT0JJQVNfU0hJRlQgICAgICAgIDQKKworI2RlZmluZSBTUEtfTU9ERV9PRkZTRVQgICAgICAgICBDT043X09GRlNFVAorI2RlZmluZSBTUEtfTU9ERV9NQVNLICAgICAgICAgICAgIDB4MDAwMQorI2RlZmluZSBTUEtfTU9ERV9TSElGVCAgICAgICAgICAgIDAKKworI2RlZmluZSBTUEtfQUJfT0NfRU5fT0ZGU0VUICAgICAgQ09ON19PRkZTRVQKKyNkZWZpbmUgU1BLX0FCX09DX0VOX01BU0sgICAgICAgICAweDAxMDAKKyNkZWZpbmUgU1BLX0FCX09DX0VOX1NISUZUICAgICAgICA4CisKKy8vSVNJTksKKyNkZWZpbmUgSVNJTktfRU5fT0ZGU0VUCQlDT04wX09GRlNFVAorI2RlZmluZSBJU0lOS19FTl9NQVNLICAgICAgICAgICAgIDB4MDAwMQorI2RlZmluZSBJU0lOS19FTl9TSElGVCAgICAgICAgICAgIDAKKworI2RlZmluZSBJU0lOS19NT0RFX09GRlNFVAkJQ09OMF9PRkZTRVQKKyNkZWZpbmUgSVNJTktfTU9ERV9NQVNLICAgICAgICAgICAweDAwMDIKKyNkZWZpbmUgSVNJTktfTU9ERV9TSElGVCAgICAgICAgICAxCisKKyNkZWZpbmUgSVNJTktfU1RFUF9PRkZTRVQJCUNPTjBfT0ZGU0VUCisjZGVmaW5lIElTSU5LX1NURVBfTUFTSyAgICAgICAgICAgMHgwMUYwCisjZGVmaW5lIElTSU5LX1NURVBfU0hJRlQgICAgICAgICAgNAorCisjZGVmaW5lIElTSU5LX1ZSRUZfQ0FMX09GRlNFVAkJQ09OMV9PRkZTRVQKKyNkZWZpbmUgSVNJTktfVlJFRl9DQUxfTUFTSyAgICAgICAweDFGMDAKKyNkZWZpbmUgSVNJTktfVlJFRl9DQUxfU0hJRlQgICAgICA4CisKKworLy9CT09TVAorI2RlZmluZSBCT09TVF9UWVBFX09GRlNFVCAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgQk9PU1RfVFlQRV9NQVNLICAgICAgICAgICAweDAwMDIKKyNkZWZpbmUgQk9PU1RfVFlQRV9TSElGVCAgICAgICAgICAxCisKKyNkZWZpbmUgQk9PU1RfSFdfU0VMX09GRlNFVCAgICAgQ09ONl9PRkZTRVQKKyNkZWZpbmUgQk9PU1RfSFdfU0VMX01BU0sgICAgICAgICAweDAwMDEKKyNkZWZpbmUgQk9PU1RfSFdfU0VMX1NISUZUICAgICAgICAwCisKKworLy9LUExFRAorI2RlZmluZSBLUExFRF9FTl9PRkZTRVQJCUNPTjBfT0ZGU0VUCisjZGVmaW5lIEtQTEVEX0VOX01BU0sgICAgICAgICAgICAgMHgwMDAxCisjZGVmaW5lIEtQTEVEX0VOX1NISUZUICAgICAgICAgICAgMAorCisjZGVmaW5lIEtQTEVEX01PREVfT0ZGU0VUCQlDT04wX09GRlNFVAorI2RlZmluZSBLUExFRF9NT0RFX01BU0sgICAgICAgICAgIDB4MDAwMgorI2RlZmluZSBLUExFRF9NT0RFX1NISUZUICAgICAgICAgIDEKKworI2RlZmluZSBLUExFRF9TRUxfT0ZGU0VUCQlDT04wX09GRlNFVAorI2RlZmluZSBLUExFRF9TRUxfTUFTSyAgICAgICAgICAgIDB4MDA3MAorI2RlZmluZSBLUExFRF9TRUxfU0hJRlQgICAgICAgICAgIDQKKworCisvL0NIUgorI2RlZmluZSBDU0RBQ19FTl9PRkZTRVQJCUNPTjBfT0ZGU0VUCisjZGVmaW5lIENTREFDX0VOX01BU0sgICAgICAgICAgICAgMHgwODAwCisjZGVmaW5lIENTREFDX0VOX1NISUZUICAgICAgICAgICAgMTEKKworI2RlZmluZSBDSFJfRU5fT0ZGU0VUCQlDT04wX09GRlNFVAorI2RlZmluZSBDSFJfRU5fTUFTSyAgICAgICAgICAgICAgIDB4MTAwMAorI2RlZmluZSBDSFJfRU5fU0hJRlQgICAgICAgICAgICAgIDEyCisKKyNkZWZpbmUgQ0hSREVUX09GRlNFVAkJQ09OMF9PRkZTRVQKKyNkZWZpbmUgQ0hSREVUX01BU0sgICAgICAgICAgICAgICAweDIwMDAKKyNkZWZpbmUgQ0hSREVUX1NISUZUICAgICAgICAgICAgICAxMworCisjZGVmaW5lIFZDRFRfSFZfVlRIX09GRlNFVCAgICAgICAgQ09OMF9PRkZTRVQJCQkKKyNkZWZpbmUgVkNEVF9IVl9WVEhfTUFTSyAgICAgICAgICAweDAwRjAKKyNkZWZpbmUgVkNEVF9IVl9WVEhfU0hJRlQgICAgICAgICA0CisKKyNkZWZpbmUgVkNEVF9IVl9FTl9PRkZTRVQgICAgICAgIENPTjBfT0ZGU0VUCQkJCisjZGVmaW5lIFZDRFRfSFZfRU5fTUFTSyAgICAgICAgICAweDAxMDAKKyNkZWZpbmUgVkNEVF9IVl9FTl9TSElGVCAgICAgICAgIDgKKworI2RlZmluZSBWQkFUX0NWX1ZUSF9PRkZTRVQJCUNPTjFfT0ZGU0VUCisjZGVmaW5lIFZCQVRfQ1ZfVlRIX01BU0sgICAgICAgICAgMHgwMDFGCisjZGVmaW5lIFZCQVRfQ1ZfVlRIX1NISUZUICAgICAgICAgMAorCisjZGVmaW5lIFZCQVRfQ1ZfRU5fT0ZGU0VUCQlDT04xX09GRlNFVAorI2RlZmluZSBWQkFUX0NWX0VOX01BU0sgICAgICAgICAgIDB4MDEwMAorI2RlZmluZSBWQkFUX0NWX0VOX1NISUZUICAgICAgICAgIDgKKworI2RlZmluZSBWQkFUX0NWX0RFVF9PRkZTRVQJCUNPTjFfT0ZGU0VUCisjZGVmaW5lIFZCQVRfQ1ZfREVUX01BU0sgICAgICAgICAgMHg0MDAwCisjZGVmaW5lIFZCQVRfQ1ZfREVUX1NISUZUICAgICAgICAgMTQKKworI2RlZmluZSBDU19WVEhfT0ZGU0VUCQlDT04yX09GRlNFVAorI2RlZmluZSBDU19WVEhfTUFTSyAgICAgICAgICAgICAgIDB4MDcwMAorI2RlZmluZSBDU19WVEhfU0hJRlQgICAgICAgICAgICAgIDgKKworI2RlZmluZSBCQVRPTl9IVF9FTl9PRkZTRVQgICAgICAgIENPTjNfT0ZGU0VUCQorI2RlZmluZSBCQVRPTl9IVF9FTl9NQVNLCQkweDA0MDAKKyNkZWZpbmUgQkFUT05fSFRfRU5fU0hJRlQgCQkxMAorCisjZGVmaW5lIENTREFDX0RMWV9PRkZTRVQgICAgICAgICBDT04zX09GRlNFVAorI2RlZmluZSBDU0RBQ19ETFlfTUFTSyAgICAgICAgICAgIDB4MDAzMAorI2RlZmluZSBDU0RBQ19ETFlfU0hJRlQgICAgICAgICAgIDQKKworI2RlZmluZSBDU0RBQ19TVFBfT0ZGU0VUICAgICAgICAgQ09OM19PRkZTRVQKKyNkZWZpbmUgQ1NEQUNfU1RQX01BU0sgICAgICAgICAgICAweDAwMDMKKyNkZWZpbmUgQ1NEQUNfU1RQX1NISUZUICAgICAgICAgICAwCisKKyNkZWZpbmUgQkFUT05fVU5ERVRfT0ZGU0VUICAgICAgICAgQ09OM19PRkZTRVQKKyNkZWZpbmUgQkFUT05fVU5ERVRfTUFTSyAgICAgICAgICAweDgwMDAKKyNkZWZpbmUgQkFUT05fVU5ERVRfU0hJRlQgICAgICAgICAxNQorCisjZGVmaW5lIE9UR19CVkFMSURfRU5fT0ZGU0VUICAgICBDT041X09GRlNFVAorI2RlZmluZSBPVEdfQlZBTElEX0VOX01BU0sgICAgICAgIDB4MTAwMAorI2RlZmluZSBPVEdfQlZBTElEX0VOX1NISUZUICAgICAgIDEyCisKKyNkZWZpbmUgQ0hSV0RUX0VOX09GRlNFVAkJQ09ONl9PRkZTRVQKKyNkZWZpbmUgQ0hSV0RUX0VOX01BU0sgICAgICAgICAgICAweDAwMTAKKyNkZWZpbmUgQ0hSV0RUX0VOX1NISUZUICAgICAgICAgICA0CisKKyNkZWZpbmUgQ0hSV0RUX1REX09GRlNFVAkJQ09ONl9PRkZTRVQgCisjZGVmaW5lIENIUldEVF9URF9NQVNLICAgICAgICAgICAgMHgwMDBGICAvLyBUVFRUVFRUVFQKKyNkZWZpbmUgQ0hSV0RUX1REX1NISUZUICAgICAgICAgICAwCisKKyNkZWZpbmUgQ0hSV0RUX09VVF9PRkZTRVQJQ09ON19PRkZTRVQgCisjZGVmaW5lIENIUldEVF9PVVRfTUFTSyAgICAgICAgICAgMHg4MDAwCisjZGVmaW5lIENIUldEVF9PVFVfU0hJRlQgICAgICAgICAgMTUKKworI2RlZmluZSBDSFJXRFRfSU5UX0VOX09GRlNFVAlDT043X09GRlNFVCAgCisjZGVmaW5lIENIUldEVF9JTlRfRU5fTUFTSyAgICAgICAgMHgwMDAxCisjZGVmaW5lIENIUldEVF9JTlRfRU5fU0hJRlQgICAgICAgMAorCisjZGVmaW5lIENIUldEVF9GTEFHX1dSX09GRlNFVAlDT043X09GRlNFVCAgCisjZGVmaW5lIENIUldEVF9GTEFHX1dSX01BU0sgICAgICAgMHgwMDAyCisjZGVmaW5lIENIUldEVF9GTEFHX1dSX1NISUZUICAgICAgMQorCisjZGVmaW5lIEFEQ19FTl9PRkZTRVQJCSBDT044X09GRlNFVAorI2RlZmluZSBBRENfRU5fTUFTSyAgICAgICAgICAgICAgIDB4NzAwMCAgIC8vIEFsbCBBREMgY2hhbm5lbHMgYXJlIGVuYWJsZWQgYXQgc2FtZSB0aW1lCisjZGVmaW5lIEFEQ19FTl9TSElGVCAgICAgICAgICAgICAgMTIKKworI2RlZmluZSBCQzExX1ZSRUZfVlRIX09GRlNFVCAgICAgQ09OOV9PRkZTRVQKKyNkZWZpbmUgQkMxMV9WUkVGX1ZUSF9NQVNLICAgICAgICAweDAwMDEKKyNkZWZpbmUgQkMxMV9WUkVGX1ZUSF9TSElGVCAgICAgICAwCisKKyNkZWZpbmUgQkMxMV9DTVBfRU5fT0ZGU0VUICAgICAgIENPTjlfT0ZGU0VUCisjZGVmaW5lIEJDMTFfQ01QX0VOX01BU0sgICAgICAgICAgMHgwMDA2CisjZGVmaW5lIEJDMTFfQ01QX0VOX1NISUZUICAgICAgICAgMQorCisjZGVmaW5lIEJDMTFfSVBEX0VOX09GRlNFVCAgICAgIENPTjlfT0ZGU0VUCisjZGVmaW5lIEJDMTFfSVBEX0VOX01BU0sgICAgICAgICAgMHgwMDE4CisjZGVmaW5lIEJDMTFfSVBEX0VOX1NISUZUICAgICAgICAgMworCisjZGVmaW5lIEJDMTFfSVBVX0VOX09GRlNFVAkgICAgIENPTjlfT0ZGU0VUCisjZGVmaW5lIEJDMTFfSVBVX0VOX01BU0sgICAgICAgICAgMHgwMDYwCisjZGVmaW5lIEJDMTFfSVBVX0VOX1NISUZUICAgICAgICAgNQorCisjZGVmaW5lIEJDMTFfQklBU19FTl9PRkZTRVQJQ09OOV9PRkZTRVQKKyNkZWZpbmUgQkMxMV9CSUFTX0VOX01BU0sgICAgICAgICAweDAwODAKKyNkZWZpbmUgQkMxMV9CSUFTX0VOX1NISUZUICAgICAgICA3CisKKyNkZWZpbmUgQkMxMV9CQl9DVFJMX09GRlNFVAlDT045X09GRlNFVAorI2RlZmluZSBCQzExX0JCX0NUUkxfTUFTSyAgICAgICAgIDB4MDEwMAorI2RlZmluZSBCQzExX0JCX0NUUkxfU0hJRlQgICAgICAgIDgKKworI2RlZmluZSBCQzExX1JTVF9PRkZTRVQJICBDT045X09GRlNFVAorI2RlZmluZSBCQzExX1JTVF9NQVNLICAgICAgICAgICAgIDB4MDIwMAorI2RlZmluZSBCQzExX1JTVF9TSElGVCAgICAgICAgICAgIDkKKworI2RlZmluZSBCQzExX1ZTUkNfRU5fT0ZGU0VUICAgICBDT045X09GRlNFVAorI2RlZmluZSBCQzExX1ZTUkNfRU5fTUFTSyAgICAgICAgIDB4MEMwMAorI2RlZmluZSBCQzExX1ZTUkNfRU5fU0hJRlQgICAgICAgIDEwCisKKyNkZWZpbmUgQkMxMV9DTVBfT1VUX09GRlNFVCAgICAgQ09OOV9PRkZTRVQKKyNkZWZpbmUgQkMxMV9DTVBfT1VUX01BU0sgICAgICAgICAweDgwMDAKKyNkZWZpbmUgQkMxMV9DTVBfT1VUX1NISUZUICAgICAgICAxNQorCisKKy8vIFNUUlVQCisvLyBTVFJVUF9YWFggQ09OMAorI2RlZmluZSBVU0JETF9FTl9PRkZTRVQJQ09OMF9PRkZTRVQKKyNkZWZpbmUgVVNCRExfRU5fTUFTSyAgICAgICAgICAgICAweDAwMTAKKyNkZWZpbmUgVVNCRExfRU5fU0hJRlQgICAgICAgICAgICA0CisKKy8vIEJPT1NUCisjZGVmaW5lIEJPT1NUX0NLU19QUkdfT0ZGU0VUCUNPTjNfT0ZGU0VUICAKKyNkZWZpbmUgQk9PU1RfQ0tTX1BSR19NQVNLICAgICAgICAweDAwM0YKKyNkZWZpbmUgQk9PU1RfQ0tTX1BSR19TSElGVCAgICAgICAwCisKKy8vTUlTQworI2RlZmluZSBDQ0lfU1JDTEtFTl9PRkZTRVQgQ09OMl9PRkZTRVQKKyNkZWZpbmUgQ0NJX1NSQ0xLRU5fTUFTSyAJMHgwMDAyCisjZGVmaW5lIENDSV9TUkNMS0VOX1NISUZUIAkxCisKKyNlbmRpZiAvLyAjaWYgZGVmaW5lZChQTUlDXzYyNTFfUkVHX0FQSSkKKworI2VuZGlmIC8vICNpZm5kZWYgX19QTVU2MjUxX0hXX0hfXwpkaWZmIC0tZ2l0IGEvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9kY2xfcG11NjI1MV9zdy5oIGIvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9kY2xfcG11NjI1MV9zdy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFiMjM1M2YKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL2RjbF9wbXU2MjUxX3N3LmgKQEAgLTAsMCArMSwyMjYgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAwNQorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLiAKKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGaWxlbmFtZToKKyAqIC0tLS0tLS0tLQorICogICAgZGNsX3BtdTYyNTFfc3cuaAorICoKKyAqIFByb2plY3Q6CisgKiAtLS0tLS0tLQorICogICBNYXVpX1NvZnR3YXJlCisgKgorICogRGVzY3JpcHRpb246CisgKiAtLS0tLS0tLS0tLS0KKyAqICAgVGhpcyBmaWxlIGlzIGZvciBQTVU2MjUxCisgKgorICogQXV0aG9yOgorICogLS0tLS0tLQorICogLS0tLS0tLQorICoKKyAqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICogICAgICAgICAgICAgSElTVE9SWQorICogQmVsb3cgdGhpcyBsaW5lLCB0aGlzIHBhcnQgaXMgY29udHJvbGxlZCBieSBQVkNTIFZNLiBETyBOT1QgTU9ESUZZISEKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKgorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIFVwcGVyIHRoaXMgbGluZSwgdGhpcyBwYXJ0IGlzIGNvbnRyb2xsZWQgYnkgUFZDUyBWTS4gRE8gTk9UIE1PRElGWSEhCisgKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWZuZGVmIF9fRENMX1BNVTYyNTFfU1dfSF9TVFJVQ1RfXworI2RlZmluZSBfX0RDTF9QTVU2MjUxX1NXX0hfU1RSVUNUX18KKworI2luY2x1ZGUgImRjbF9wbWljX2ZlYXR1cmVzLmgiCisKKyNpZiBkZWZpbmVkKFBNSUNfNjI1MV9SRUdfQVBJKQorCisvKiBDaGFyZ2VyIGV4dGVybmFsIGludGVycnVwdCBpcyBmaXhlZC4gKi8KKworLyogQ2hhcmdlciBleHRlcm5hbCBpbnRlcnJ1cHQgaXMgZml4ZWQuICovCisjZGVmaW5lIFBNVV9DSFJfRUlOVF9QSU4gICAgICAyCisKKworLyogYWRjIG51bWJlciBmb3IgbWVhc3VyaW5nIFZCQVQvVklTRU5TRS9WQ0hBUkdFUiBpcyBmaXhlZCBpbnRlcm5hbGx5LiAqLworCisjZGVmaW5lIFBNVV9BRENfVkJBVF9DSF9OVU0gICAgICAwCisjZGVmaW5lIFBNVV9BRENfVklTRU5TRV9DSF9OVU0gICAxCisjZGVmaW5lIFBNVV9BRENfVkNIQVJHRVJfQ0hfTlVNICAyCisjZGVmaW5lIFBNVV9BRENfVkJBVFRFTVBfQ0hfTlVNICAzCisKKworLyogYWRjIGZhY3RvciBmb3IgVkJBVC9WSVNFTlNFL1ZDSEFSR0VSICovCisjZGVmaW5lIFBNVV9BRENfRkFDVE9SX1ZCQVQgICAgICAxNTAKKyNkZWZpbmUgUE1VX0FEQ19GQUNUT1JfVklTRU5TRSAgIDE1MAorI2lmIGRlZmluZWQoTVQ2MjUxX1MwMCkKKyNkZWZpbmUgUE1VX0FEQ19GQUNUT1JfVkNIQVJHRVIgIDM0NCAgLy8gKDM1MS81MSAqIDUwKQorI2VuZGlmIC8vI2lmIGRlZmluZWQoTVQ2MjUxX1MwMCkKKyNpZiBkZWZpbmVkKE1UNjI1MV9TMDEpCisjZGVmaW5lIFBNVV9BRENfRkFDVE9SX1ZDSEFSR0VSICA0NzMgIC8vICgzNjkvMzkgKiA1MCkKKyNlbmRpZiAvLyNpZiBkZWZpbmVkKE1UNjI1MV9TMDEpCisjZGVmaW5lIFBNVV9BRENfRkFDVE9SX1ZCQVRURU1QICAxMDAKKwordHlwZWRlZiBlbnVtCit7CisJTERPX0JVQ0tfRU4sCisJTERPX0JVQ0tfVk9MX1NFTCwKKwlMRE9fQlVDS19PQ19BVVRPX09GRiwKKwlMRE9fQlVDS19TVEJfRU4sCisJTERPX0JVQ0tfT05fU0VMLAorCUxET19CVUNLX05ESVNfRU4sCisJTERPX0JVQ0tfT0NGQl9FTiwKKwlMRE9fQ0FMLAorCUxET19TVEJfVEQsCisJTERPX09DX1RELAorCUJVQ0tfVkZCQURKX1NMRUVQLAorCUJVQ0tfSUNBTF9FTiwKKwlCVUNLX0NTTCwKKwlCVUNLX1NUQl9URCwKKwlCVUNLX09DX1RIRCwKKwlCVUNLX0JVUlNULAorCVNQS19FTiwKKwlTUEtfUEdfU0xFV19JLAorCVNQS19PQ19FTiwKKwlTUEtfQUJfT0NfRU4sCQkKKwlTUEtfQ0NPREUsCisJU1BLX09TQ19JU0VMLAkKKwlTUEtfTkdfRFRfRExZLAorCVNQS19PQ1BfQklBUywKKwlTUEtfT0NOX0JJQVMsCisJU1BLX05HX1NMRVdfRExZLAorCVNQS19QR19TTEVXX0RMWSwKKwlTUEtfQUJfT0JJQVMsCisJU1BLX01PREUsCisJU1BLX1ZPTCwKKwlJU0lOS19FTiwKKwlJU0lOS19NT0RFLAorCUlTSU5LX1NURVAsCisJSVNJTktfVlJFRl9DQUwsCisJQk9PU1RfVFlQRSwKKwlCT09TVF9IV19TRUwsCisJS1BMRURfRU4sCisJS1BMRURfTU9ERSwKKwlLUExFRF9TRUwsCisJQURDX0VOLAorCUJBVE9OX1VOREVULAorCUNTREFDX0VOLAorCVZCQVRfQ1ZfREVULAorCVZCQVRfQ1ZfRU4sCisJVkJBVF9DVl9WVEgsCisJQ1NEQUNfRExZLAorCUNTREFDX1NUUCwKKwlDSFJfRU4sCisJQ0hSREVULAorCUNIUldEVF9URCwKKwlDU19WVEgsCisJQ0hSV0RUX0VOLAorCUNIUldEVF9JTlRfRU4sCisJVkNEVF9IVl9WVEgsCisJQkFUT05fSFRfRU4sCisJT1RHX0JWQUxJRF9FTiwKKwlVU0JETF9FTiwKKwlDQ0lfU1JDTEtFTiwKKwlWQ0RUX0hWX0VOLAorCUJPT1NUX0NLU19QUkcsCisJQkMxMV9WUkVGX1ZUSCwKKwlCQzExX0NNUF9FTiwKKwlCQzExX0lQRF9FTiwKKwlCQzExX0lQVV9FTiwKKwlCQzExX0JJQVNfRU4sCisJQkMxMV9CQl9DVFJMLAorCUJDMTFfUlNULAkKKwlCQzExX1ZTUkNfRU4sCisJQkMxMV9DTVBfT1VULAkKKwlQTVVfRkxBR1NfTUFYCit9UE1VX0ZMQUdTX0xJU1RfRU5VTTsKKworCisKKyNkZWZpbmUgTERPX0dST1VQIChPRkZTRUwoQlVDS19HUk9VUCkpCisjZGVmaW5lIEJVQ0tfR1JPVVAgKE0oVkNPUkUpKQorCisjZW5kaWYgLy8jaWYgZGVmaW5lZChQTUlDXzYyNTFfUkVHX0FQSSkKKworI2VuZGlmIC8vI2lmbmRlZiBfX0RDTF9QTVU2MjUxX1NXX0hfU1RSVUNUX18KKwpkaWZmIC0tZ2l0IGEvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9kY2xfcG11NjI1Ml9ody5oIGIvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9kY2xfcG11NjI1Ml9ody5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMxOTc1MDIKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL2RjbF9wbXU2MjUyX2h3LmgKQEAgLTAsMCArMSw0MzggQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAwNQorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZpbGVuYW1lOgorICogLS0tLS0tLS0tCisgKiAgICBkY2xfcG11NjI1MV9ody5oCisgKgorICogUHJvamVjdDoKKyAqIC0tLS0tLS0tCisgKiAgIE1hdWlfU29mdHdhcmUKKyAqCisgKiBEZXNjcmlwdGlvbjoKKyAqIC0tLS0tLS0tLS0tLQorICogICBUaGlzIGZpbGUgaXMgaW50ZW5kZWQgZm9yIFBNSUMgNjI1MSBkcml2ZXIuCisgKgorICogQXV0aG9yOgorICogLS0tLS0tLQorICogLS0tLS0tLQorICoKKyAqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICogICAgICAgICAgICAgSElTVE9SWQorICogQmVsb3cgdGhpcyBsaW5lLCB0aGlzIHBhcnQgaXMgY29udHJvbGxlZCBieSBQVkNTIFZNLiBETyBOT1QgTU9ESUZZISEKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIFVwcGVyIHRoaXMgbGluZSwgdGhpcyBwYXJ0IGlzIGNvbnRyb2xsZWQgYnkgUFZDUyBWTS4gRE8gTk9UIE1PRElGWSEhCisgKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWZuZGVmIF9fUE1VNjI1Ml9IV19IX18KKyNkZWZpbmUgX19QTVU2MjUyX0hXX0hfXworCisKKyNpZiBkZWZpbmVkKFBNSUNfNjI1Ml9SRUdfQVBJKQorCisjZGVmaW5lIFBNVV9CQVNFICAgICAgICBNSVhFRF9iYXNlCisjZGVmaW5lIFBNVV9FTkQgICAgICAgICAoUE1VX0JBU0UrMHgxMDAwKQorCisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisvLyBMRE8gZ3JvdXAKKyNkZWZpbmUgVlJGX0NPTjAgICAgICAgICAgKFBNVV9CQVNFICsgMHgwODAwKQorI2RlZmluZSBWVENYT19DT04wICAgICAgICAoUE1VX0JBU0UgKyAweDA4MTApCisjZGVmaW5lIFZBX0NPTjAgICAgICAgICAgIChQTVVfQkFTRSArIDB4MDgyMCkKKyNkZWZpbmUgVkNBTUFfQ09OMCAgICAgICAgKFBNVV9CQVNFICsgMHgwODMwKQorI2RlZmluZSBWQ0FNRF9DT04wICAgICAgICAoUE1VX0JBU0UgKyAweDA4NDApCisjZGVmaW5lIFZJT19DT04wICAgICAgICAgIChQTVVfQkFTRSArIDB4MDg1MCkKKyNkZWZpbmUgVlVTQl9DT04wICAgICAgICAgKFBNVV9CQVNFICsgMHgwODYwKQorI2RlZmluZSBWU0lNX0NPTjAgICAgICAgICAoUE1VX0JBU0UgKyAweDA4ODApCisjZGVmaW5lIFZTSU0yX0NPTjAgICAgICAgIChQTVVfQkFTRSArIDB4MDg5MCkKKyNkZWZpbmUgVlJUQ19DT04wICAgICAgICAgKFBNVV9CQVNFICsgMHgwOEEwKQorI2RlZmluZSBWSUJSX0NPTjAgICAgICAgICAoUE1VX0JBU0UgKyAweDA4QjApCisjZGVmaW5lIFZNX0NPTjAgICAgICAgICAgIChQTVVfQkFTRSArIDB4MDhDMCkKKyNkZWZpbmUgVkNPUkVfQ09OMCAgICAgICAgKFBNVV9CQVNFICsgMHgwOEQwKQorCisvLyBpU0lOSyBncm91cAorI2RlZmluZSBJU0lOSzBfQ09OMCAgICAgICAoUE1VX0JBU0UgKyAweDA5ODApCisjZGVmaW5lIElTSU5LMV9DT04wICAgICAgIChQTVVfQkFTRSArIDB4MDk5MCkKKyNkZWZpbmUgSVNJTksyX0NPTjAgICAgICAgKFBNVV9CQVNFICsgMHgwOUEwKQorI2RlZmluZSBJU0lOSzNfQ09OMCAgICAgICAoUE1VX0JBU0UgKyAweDA5QjApCisKKy8vIEtQTEVEIGdyb3VwCisjZGVmaW5lIEtQTEVEX0NPTjAgICAgICAgIChQTVVfQkFTRSArIDB4MDlDMCkKKworLy8gU1BLCisjZGVmaW5lIFNQS19DT04wICAgICAgICAgIChQTVVfQkFTRSArIDB4MDlEMCkKKworLy8gQ0hSCisjZGVmaW5lIENIUl9DT04wICAgICAgICAgIChQTVVfQkFTRSArIDB4MEEwMCkKKworLy8gU1RBUlRVUAorI2RlZmluZSBTVFJVUF9DT04wICAgICAgICAoUE1VX0JBU0UgKyAweDA5MDApCisKKy8vIElOVCBFTgorI2RlZmluZSBJTlRfRU4wICAgICAgICAgICAoUE1VX0JBU0UgKyAweDA4RjApCisjZGVmaW5lIElOVF9FTjEgICAgICAgICAgIChQTVVfQkFTRSArIDB4MDhGNCkKKyNkZWZpbmUgSU5UX0NIUl9ERVRfTUFTSyAgICAgICAgMHgwMDA4CisjZGVmaW5lIElOVF9DSFJfREVUX1NISUZUICAgICAgIDMKKworLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworCisvLyBCQzExIFZTUkNfRU4KKyNkZWZpbmUgTVQ2MjUxX0UxX0JDMTFfVlNSQ19FTl9NQVNLICAgICAgMHgwMDMwCisjZGVmaW5lIE1UNjI1MV9FMV9CQzExX1ZTUkNfRU5fU0hJRlQgICAgIDQKKworCisjZGVmaW5lIENPTjBfT0ZGU0VUICAgICAgICAgICAweDAwCisjZGVmaW5lIENPTjFfT0ZGU0VUICAgICAgICAgICAweDA0CisjZGVmaW5lIENPTjJfT0ZGU0VUICAgICAgICAgICAweDA4CisjZGVmaW5lIENPTjNfT0ZGU0VUICAgICAgICAgICAweDBDCisjZGVmaW5lIENPTjRfT0ZGU0VUICAgICAgICAgICAweDEwCisjZGVmaW5lIENPTjVfT0ZGU0VUICAgICAgICAgICAweDE0CisjZGVmaW5lIENPTjZfT0ZGU0VUICAgICAgICAgICAweDE4CisjZGVmaW5lIENPTjdfT0ZGU0VUICAgICAgICAgICAweDFDCisjZGVmaW5lIENPTjhfT0ZGU0VUICAgICAgICAgICAweDIwCisjZGVmaW5lIENPTjlfT0ZGU0VUICAgICAgICAgICAweDI0CisKKy8vIExETyBhbmQgQlVDSyBjbWRzCisjZGVmaW5lIExET19CVUNLX0VOX09GRlNFVCAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBMRE9fQlVDS19FTl9NQVNLICAgICAgICAgICAgICAgMHgwMDAxCisjZGVmaW5lIExET19CVUNLX0VOX1NISUZUICAgICAgICAgICAgICAwCisKKyNkZWZpbmUgTERPX0JVQ0tfUlNfT0ZGU0VUCQlDT04wX09GRlNFVAorI2RlZmluZSBMRE9fQlVDS19SU19NQVNLICAgICAgICAgICAgICAgMHgwMDA0CisjZGVmaW5lIExET19CVUNLX1JTX1NISUZUICAgICAgICAgICAgICAyCisKKyNkZWZpbmUgTERPX0JVQ0tfVk9MX1NFTF9PRkZTRVQJCUNPTjBfT0ZGU0VUCisjZGVmaW5lIExET19CVUNLX1ZPTF9TRUxfTUFTSyAgICAgICAgICAweDAxRjAKKyNkZWZpbmUgTERPX0JVQ0tfVk9MX1NFTF9TSElGVCAgICAgICAgIDQKKworI2RlZmluZSBMRE9fQlVDS19PQ19BVVRPX09GRl9PRkZTRVQgQ09OMF9PRkZTRVQKKyNkZWZpbmUgTERPX0JVQ0tfT0NfQVVUT19PRkZfTUFTSyAgICAgIDB4MTAwMAorI2RlZmluZSBMRE9fQlVDS19PQ19BVVRPX09GRl9TSElGVCAgICAgMTIKKworLyoKKyNkZWZpbmUgTERPX0JVQ0tfU1RCX0VOX09GRlNFVAkJQ09OMF9PRkZTRVQKKyNkZWZpbmUgTERPX0JVQ0tfU1RCX0VOX01BU0sgICAgICAgICAgIDB4MDgwMAorI2RlZmluZSBMRE9fQlVDS19TVEJfRU5fU0hJRlQgICAgICAgICAgMTEKKyovCisKKyNkZWZpbmUgTERPX0JVQ0tfT05fU0VMX09GRlNFVAkJQ09OMF9PRkZTRVQKKyNkZWZpbmUgTERPX0JVQ0tfT05fU0VMX01BU0sgICAgICAgICAgIDB4MDAwMgorI2RlZmluZSBMRE9fQlVDS19PTl9TRUxfU0hJRlQgICAgICAgICAgMQorCisKKyNkZWZpbmUgTERPX0JVQ0tfTkRJU19FTl9PRkZTRVQJCUNPTjBfT0ZGU0VUCisjZGVmaW5lIExET19CVUNLX05ESVNfRU5fTUFTSyAgICAgICAgICAweDA0MDAKKyNkZWZpbmUgTERPX0JVQ0tfTkRJU19FTl9TSElGVCAgICAgICAgIDEwCisKKy8qCisjZGVmaW5lIExET19CVUNLX09DRkJfRU5fT0ZGU0VUCQlDT04wX09GRlNFVAorI2RlZmluZSBMRE9fQlVDS19PQ0ZCX0VOX01BU0sgICAgICAgICAgMHgyMDAwCisjZGVmaW5lIExET19CVUNLX09DRkJfRU5fU0hJRlQgICAgICAgICAxMworKi8KKworLy8gTERPIGNtZHMKKyNkZWZpbmUgTERPX0NBTF9PRkZTRVQJCUNPTjFfT0ZGU0VUCisjZGVmaW5lIExET19DQUxfTUFTSyAgICAgICAgICAgICAgMHgwMUYwCisjZGVmaW5lIExET19DQUxfU0hJRlQgICAgICAgICAgICAgNAorCisjZGVmaW5lIExET19PQ19URF9PRkZTRVQJCUNPTjJfT0ZGU0VUCisjZGVmaW5lIExET19PQ19URF9NQVNLICAgICAgICAgICAgMHgwMDMwCisjZGVmaW5lIExET19PQ19URF9TSElGVCAgICAgICAgICAgNAorCisjZGVmaW5lIExET19TVEJfVERfT0ZGU0VUCQlDT04yX09GRlNFVAorI2RlZmluZSBMRE9fU1RCX1REX01BU0sgICAgICAgICAgIDB4MDBjMAorI2RlZmluZSBMRE9fU1RCX1REX1NISUZUICAgICAgICAgIDYKKworCisvLyBCVUNLIGNtZHMKKyNkZWZpbmUgQlVDS19WRkJBREpfU0xFRVBfT0ZGU0VUCUNPTjFfT0ZGU0VUCisjZGVmaW5lIEJVQ0tfVkZCQURKX1NMRUVQX01BU0sgICAgMHgwMUYwCisjZGVmaW5lIEJVQ0tfVkZCQURKX1NMRUVQX1NISUZUICAgNAorCisjZGVmaW5lIEJVQ0tfSUNBTF9FTl9PRkZTRVQJQ09OM19PRkZTRVQKKyNkZWZpbmUgQlVDS19JQ0FMX0VOX01BU0sgICAgICAgICAweDMwMDAKKyNkZWZpbmUgQlVDS19JQ0FMX0VOX1NISUZUICAgICAgICAxMgorCisvKgorI2RlZmluZSBCVUNLX1NUQl9URF9PRkZTRVQJCUNPTjNfT0ZGU0VUCisjZGVmaW5lIEJVQ0tfU1RCX1REX01BU0sgICAgICAgICAgMHgwMEMwCisjZGVmaW5lIEJVQ0tfU1RCX1REX1NISUZUICAgICAgICAgNgorCisjZGVmaW5lIEJVQ0tfT0NfVEhEX09GRlNFVAlDT04zX09GRlNFVAorI2RlZmluZSBCVUNLX09DX1RIRF9NQVNLICAgICAgICAgIDB4MDMwMAorI2RlZmluZSBCVUNLX09DX1RIRF9TSElGVCAgICAgICAgIDgKKworI2RlZmluZSBCVUNLX0NTTF9PRkZTRVQJQ09ONV9PRkZTRVQKKyNkZWZpbmUgQlVDS19DU0xfTUFTSyAgICAgICAgICAgICAweDA3MDAKKyNkZWZpbmUgQlVDS19DU0xfU0hJRlQgICAgICAgICAgICA4CisKKyNkZWZpbmUgQlVDS19CVVJTVF9PRkZTRVQJCUNPTjVfT0ZGU0VUCisjZGVmaW5lIEJVQ0tfQlVSU1RfTUFTSyAgICAgICAgICAgMHgzMDAwCisjZGVmaW5lIEJVQ0tfQlVSU1RfU0hJRlQgICAgICAgICAgMTIKKyovCisKKy8vIFNQSworI2RlZmluZSBTUEtfRU5fT0ZGU0VUCQkJCUNPTjBfT0ZGU0VUCisjZGVmaW5lIFNQS19FTl9NQVNLCQkJCTB4MDAwMQorI2RlZmluZSBTUEtfRU5fU0hJRlQJCQkJMAorCisjZGVmaW5lIFNQS19WT0xfT0ZGU0VUCQlDT04wX09GRlNFVAorI2RlZmluZSBTUEtfVk9MX01BU0sgICAgICAgICAgICAgIDB4MDAxRQorI2RlZmluZSBTUEtfVk9MX1NISUZUICAgICAgICAgICAgIDEKKworI2RlZmluZSBTUEtfT0NfRU5fT0ZGU0VUCUNPTjBfT0ZGU0VUICAKKyNkZWZpbmUgU1BLX09DX0VOX01BU0sgICAgICAgICAgICAweDAwNDAKKyNkZWZpbmUgU1BLX09DX0VOX1NISUZUICAgICAgICAgICA2CisKKyNkZWZpbmUgU1BLX09DX1RIRF9PRkZTRVQgICAgICAgICBDT04xX09GRlNFVAorI2RlZmluZSBTUEtfT0NfVEhEX01BU0sgICAgICAgICAgIDB4MDAwMyAgIC8vIE9DX1RSRworI2RlZmluZSBTUEtfT0NfVEhEX1NISUZUICAgICAgICAgIDAKKworI2RlZmluZSBTUEtfT0NfV05EX09GRlNFVAkJQ09OMV9PRkZTRVQKKyNkZWZpbmUgU1BLX09DX1dORF9NQVNLICAgICAgICAgICAweDAwMEMKKyNkZWZpbmUgU1BLX09DX1dORF9TSElGVCAgICAgICAgICAyCisKKy8vSVNJTksKKyNkZWZpbmUgSVNJTktfRU5fT0ZGU0VUCQlDT04wX09GRlNFVAorI2RlZmluZSBJU0lOS19FTl9NQVNLICAgICAgICAgICAgIDB4MDAwMQorI2RlZmluZSBJU0lOS19FTl9TSElGVCAgICAgICAgICAgIDAKKworI2RlZmluZSBJU0lOS19NT0RFX09GRlNFVAkJQ09OMF9PRkZTRVQKKyNkZWZpbmUgSVNJTktfTU9ERV9NQVNLICAgICAgICAgICAweDAwMDIKKyNkZWZpbmUgSVNJTktfTU9ERV9TSElGVCAgICAgICAgICAxCisKKyNkZWZpbmUgSVNJTktfU1RFUF9PRkZTRVQJCUNPTjBfT0ZGU0VUCisjZGVmaW5lIElTSU5LX1NURVBfTUFTSyAgICAgICAgICAgMHgwMUYwCisjZGVmaW5lIElTSU5LX1NURVBfU0hJRlQgICAgICAgICAgNAorCisjZGVmaW5lIElTSU5LX1ZSRUZfQ0FMX09GRlNFVAkJQ09OMV9PRkZTRVQKKyNkZWZpbmUgSVNJTktfVlJFRl9DQUxfTUFTSyAgICAgICAweDFGMDAKKyNkZWZpbmUgSVNJTktfVlJFRl9DQUxfU0hJRlQgICAgICA4CisKKy8qCisvL0JPT1NUCisjZGVmaW5lIEJPT1NUX1RZUEVfT0ZGU0VUICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBCT09TVF9UWVBFX01BU0sgICAgICAgICAgIDB4MDAwMgorI2RlZmluZSBCT09TVF9UWVBFX1NISUZUICAgICAgICAgIDEKKworI2RlZmluZSBCT09TVF9IV19TRUxfT0ZGU0VUICAgICBDT042X09GRlNFVAorI2RlZmluZSBCT09TVF9IV19TRUxfTUFTSyAgICAgICAgIDB4MDAwMQorI2RlZmluZSBCT09TVF9IV19TRUxfU0hJRlQgICAgICAgIDAKKyovCisKKy8vS1BMRUQKKyNkZWZpbmUgS1BMRURfRU5fT0ZGU0VUCQlDT04wX09GRlNFVAorI2RlZmluZSBLUExFRF9FTl9NQVNLICAgICAgICAgICAgIDB4MDAwMQorI2RlZmluZSBLUExFRF9FTl9TSElGVCAgICAgICAgICAgIDAKKworI2RlZmluZSBLUExFRF9NT0RFX09GRlNFVAkJQ09OMF9PRkZTRVQKKyNkZWZpbmUgS1BMRURfTU9ERV9NQVNLICAgICAgICAgICAweDAwMDIKKyNkZWZpbmUgS1BMRURfTU9ERV9TSElGVCAgICAgICAgICAxCisKKyNkZWZpbmUgS1BMRURfU0VMX09GRlNFVAkJQ09OMF9PRkZTRVQKKyNkZWZpbmUgS1BMRURfU0VMX01BU0sgICAgICAgICAgICAweDAwNzAKKyNkZWZpbmUgS1BMRURfU0VMX1NISUZUICAgICAgICAgICA0CisKKworLy9DSFIKKyNkZWZpbmUgQ1NEQUNfRU5fT0ZGU0VUCQlDT04wX09GRlNFVAorI2RlZmluZSBDU0RBQ19FTl9NQVNLICAgICAgICAgICAgIDB4MDgwMAorI2RlZmluZSBDU0RBQ19FTl9TSElGVCAgICAgICAgICAgIDExCisKKyNkZWZpbmUgQ0hSX0VOX09GRlNFVAkJQ09OMF9PRkZTRVQKKyNkZWZpbmUgQ0hSX0VOX01BU0sgICAgICAgICAgICAgICAweDEwMDAKKyNkZWZpbmUgQ0hSX0VOX1NISUZUICAgICAgICAgICAgICAxMgorCisjZGVmaW5lIENIUkRFVF9PRkZTRVQJCUNPTjBfT0ZGU0VUCisjZGVmaW5lIENIUkRFVF9NQVNLICAgICAgICAgICAgICAgMHgyMDAwCisjZGVmaW5lIENIUkRFVF9TSElGVCAgICAgICAgICAgICAgMTMKKworI2RlZmluZSBWQ0RUX0hWX1ZUSF9PRkZTRVQgICAgICAgIENPTjBfT0ZGU0VUCQkJCisjZGVmaW5lIFZDRFRfSFZfVlRIX01BU0sgICAgICAgICAgMHgwMEYwCisjZGVmaW5lIFZDRFRfSFZfVlRIX1NISUZUICAgICAgICAgNAorCisjZGVmaW5lIFZDRFRfSFZfRU5fT0ZGU0VUICAgICAgICBDT04wX09GRlNFVAkJCQorI2RlZmluZSBWQ0RUX0hWX0VOX01BU0sgICAgICAgICAgMHgwMTAwCisjZGVmaW5lIFZDRFRfSFZfRU5fU0hJRlQgICAgICAgICA4CisKKyNkZWZpbmUgVkJBVF9DVl9WVEhfT0ZGU0VUCQlDT04xX09GRlNFVAorI2RlZmluZSBWQkFUX0NWX1ZUSF9NQVNLICAgICAgICAgIDB4MDAxRgorI2RlZmluZSBWQkFUX0NWX1ZUSF9TSElGVCAgICAgICAgIDAKKworI2RlZmluZSBWQkFUX0NWX0VOX09GRlNFVAkJQ09OMV9PRkZTRVQKKyNkZWZpbmUgVkJBVF9DVl9FTl9NQVNLICAgICAgICAgICAweDAxMDAKKyNkZWZpbmUgVkJBVF9DVl9FTl9TSElGVCAgICAgICAgICA4CisKKyNkZWZpbmUgVkJBVF9DVl9ERVRfT0ZGU0VUCQlDT04xX09GRlNFVAorI2RlZmluZSBWQkFUX0NWX0RFVF9NQVNLICAgICAgICAgIDB4NDAwMAorI2RlZmluZSBWQkFUX0NWX0RFVF9TSElGVCAgICAgICAgIDE0CisKKyNkZWZpbmUgQ1NfVlRIX09GRlNFVAkJQ09OMl9PRkZTRVQKKyNkZWZpbmUgQ1NfVlRIX01BU0sgICAgICAgICAgICAgICAweDA3MDAKKyNkZWZpbmUgQ1NfVlRIX1NISUZUICAgICAgICAgICAgICA4CisKKyNkZWZpbmUgQkFUT05fSFRfRU5fT0ZGU0VUICAgICAgICBDT04zX09GRlNFVAkKKyNkZWZpbmUgQkFUT05fSFRfRU5fTUFTSwkJMHgwNDAwCisjZGVmaW5lIEJBVE9OX0hUX0VOX1NISUZUIAkJMTAKKworI2RlZmluZSBDU0RBQ19ETFlfT0ZGU0VUICAgICAgICAgQ09OM19PRkZTRVQKKyNkZWZpbmUgQ1NEQUNfRExZX01BU0sgICAgICAgICAgICAweDAwMzAKKyNkZWZpbmUgQ1NEQUNfRExZX1NISUZUICAgICAgICAgICA0CisKKyNkZWZpbmUgQ1NEQUNfU1RQX09GRlNFVCAgICAgICAgIENPTjNfT0ZGU0VUCisjZGVmaW5lIENTREFDX1NUUF9NQVNLICAgICAgICAgICAgMHgwMDAzCisjZGVmaW5lIENTREFDX1NUUF9TSElGVCAgICAgICAgICAgMAorCisjZGVmaW5lIEJBVE9OX1VOREVUX09GRlNFVCAgICAgICAgIENPTjNfT0ZGU0VUCisjZGVmaW5lIEJBVE9OX1VOREVUX01BU0sgICAgICAgICAgMHg4MDAwCisjZGVmaW5lIEJBVE9OX1VOREVUX1NISUZUICAgICAgICAgMTUKKworI2RlZmluZSBPVEdfQlZBTElEX0VOX09GRlNFVCAgICAgQ09ONV9PRkZTRVQKKyNkZWZpbmUgT1RHX0JWQUxJRF9FTl9NQVNLICAgICAgICAweDEwMDAKKyNkZWZpbmUgT1RHX0JWQUxJRF9FTl9TSElGVCAgICAgICAxMgorCisjZGVmaW5lIENIUldEVF9FTl9PRkZTRVQJCUNPTjZfT0ZGU0VUCisjZGVmaW5lIENIUldEVF9FTl9NQVNLICAgICAgICAgICAgMHgwMDEwCisjZGVmaW5lIENIUldEVF9FTl9TSElGVCAgICAgICAgICAgNAorCisjZGVmaW5lIENIUldEVF9URF9PRkZTRVQJCUNPTjZfT0ZGU0VUIAorI2RlZmluZSBDSFJXRFRfVERfTUFTSyAgICAgICAgICAgIDB4MDAwRiAgLy8gVFRUVFRUVFRUCisjZGVmaW5lIENIUldEVF9URF9TSElGVCAgICAgICAgICAgMAorCisjZGVmaW5lIENIUldEVF9PVVRfT0ZGU0VUCUNPTjdfT0ZGU0VUIAorI2RlZmluZSBDSFJXRFRfT1VUX01BU0sgICAgICAgICAgIDB4ODAwMAorI2RlZmluZSBDSFJXRFRfT1RVX1NISUZUICAgICAgICAgIDE1CisKKyNkZWZpbmUgQ0hSV0RUX0lOVF9FTl9PRkZTRVQJQ09ON19PRkZTRVQgIAorI2RlZmluZSBDSFJXRFRfSU5UX0VOX01BU0sgICAgICAgIDB4MDAwMQorI2RlZmluZSBDSFJXRFRfSU5UX0VOX1NISUZUICAgICAgIDAKKworI2RlZmluZSBDSFJXRFRfRkxBR19XUl9PRkZTRVQJQ09ON19PRkZTRVQgIAorI2RlZmluZSBDSFJXRFRfRkxBR19XUl9NQVNLICAgICAgIDB4MDAwMgorI2RlZmluZSBDSFJXRFRfRkxBR19XUl9TSElGVCAgICAgIDEKKworI2RlZmluZSBBRENfRU5fT0ZGU0VUCQkgQ09OOF9PRkZTRVQKKyNkZWZpbmUgQURDX0VOX01BU0sgICAgICAgICAgICAgICAweDcwMDAgICAvLyBBbGwgQURDIGNoYW5uZWxzIGFyZSBlbmFibGVkIGF0IHNhbWUgdGltZQorI2RlZmluZSBBRENfRU5fU0hJRlQgICAgICAgICAgICAgIDEyCisKKyNkZWZpbmUgQkMxMV9WUkVGX1ZUSF9PRkZTRVQgICAgIENPTjlfT0ZGU0VUCisjZGVmaW5lIEJDMTFfVlJFRl9WVEhfTUFTSyAgICAgICAgMHgwMDAxCisjZGVmaW5lIEJDMTFfVlJFRl9WVEhfU0hJRlQgICAgICAgMAorCisjZGVmaW5lIEJDMTFfQ01QX0VOX09GRlNFVCAgICAgICBDT045X09GRlNFVAorI2RlZmluZSBCQzExX0NNUF9FTl9NQVNLICAgICAgICAgIDB4MDAwNgorI2RlZmluZSBCQzExX0NNUF9FTl9TSElGVCAgICAgICAgIDEKKworI2RlZmluZSBCQzExX0lQRF9FTl9PRkZTRVQgICAgICBDT045X09GRlNFVAorI2RlZmluZSBCQzExX0lQRF9FTl9NQVNLICAgICAgICAgIDB4MDAxOAorI2RlZmluZSBCQzExX0lQRF9FTl9TSElGVCAgICAgICAgIDMKKworI2RlZmluZSBCQzExX0lQVV9FTl9PRkZTRVQJICAgICBDT045X09GRlNFVAorI2RlZmluZSBCQzExX0lQVV9FTl9NQVNLICAgICAgICAgIDB4MDA2MAorI2RlZmluZSBCQzExX0lQVV9FTl9TSElGVCAgICAgICAgIDUKKworI2RlZmluZSBCQzExX0JJQVNfRU5fT0ZGU0VUCUNPTjlfT0ZGU0VUCisjZGVmaW5lIEJDMTFfQklBU19FTl9NQVNLICAgICAgICAgMHgwMDgwCisjZGVmaW5lIEJDMTFfQklBU19FTl9TSElGVCAgICAgICAgNworCisjZGVmaW5lIEJDMTFfQkJfQ1RSTF9PRkZTRVQJQ09OOV9PRkZTRVQKKyNkZWZpbmUgQkMxMV9CQl9DVFJMX01BU0sgICAgICAgICAweDAxMDAKKyNkZWZpbmUgQkMxMV9CQl9DVFJMX1NISUZUICAgICAgICA4CisKKyNkZWZpbmUgQkMxMV9SU1RfT0ZGU0VUCSAgQ09OOV9PRkZTRVQKKyNkZWZpbmUgQkMxMV9SU1RfTUFTSyAgICAgICAgICAgICAweDAyMDAKKyNkZWZpbmUgQkMxMV9SU1RfU0hJRlQgICAgICAgICAgICA5CisKKyNkZWZpbmUgQkMxMV9WU1JDX0VOX09GRlNFVCAgICAgQ09OOV9PRkZTRVQKKyNkZWZpbmUgQkMxMV9WU1JDX0VOX01BU0sgICAgICAgICAweDBDMDAKKyNkZWZpbmUgQkMxMV9WU1JDX0VOX1NISUZUICAgICAgICAxMAorCisjZGVmaW5lIEJDMTFfQ01QX09VVF9PRkZTRVQgICAgIENPTjlfT0ZGU0VUCisjZGVmaW5lIEJDMTFfQ01QX09VVF9NQVNLICAgICAgICAgMHg4MDAwCisjZGVmaW5lIEJDMTFfQ01QX09VVF9TSElGVCAgICAgICAgMTUKKworCisvLyBTVFJVUAorLy8gU1RSVVBfWFhYIENPTjAKKyNkZWZpbmUgVVNCRExfRU5fT0ZGU0VUCUNPTjBfT0ZGU0VUCisjZGVmaW5lIFVTQkRMX0VOX01BU0sgICAgICAgICAgICAgMHgwMDEwCisjZGVmaW5lIFVTQkRMX0VOX1NISUZUICAgICAgICAgICAgNAorCisvKgorLy8gQk9PU1QKKyNkZWZpbmUgQk9PU1RfQ0tTX1BSR19PRkZTRVQJQ09OM19PRkZTRVQgIAorI2RlZmluZSBCT09TVF9DS1NfUFJHX01BU0sgICAgICAgIDB4MDAzRgorI2RlZmluZSBCT09TVF9DS1NfUFJHX1NISUZUICAgICAgIDAKKyovCisKKy8vTUlTQworI2RlZmluZSBDQ0lfU1JDTEtFTl9PRkZTRVQgQ09OMl9PRkZTRVQKKyNkZWZpbmUgQ0NJX1NSQ0xLRU5fTUFTSyAJMHgwMDAyCisjZGVmaW5lIENDSV9TUkNMS0VOX1NISUZUIAkxCisKKyNlbmRpZiAvLyAjaWYgZGVmaW5lZChQTUlDXzYyNTJfUkVHX0FQSSkKKworI2VuZGlmIC8vICNpZm5kZWYgX19QTVU2MjUyX0hXX0hfXwpkaWZmIC0tZ2l0IGEvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9kY2xfcG11NjI1Ml9zdy5oIGIvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9kY2xfcG11NjI1Ml9zdy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMyNWQzOGEKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL2RjbF9wbXU2MjUyX3N3LmgKQEAgLTAsMCArMSwyMDEgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAwNQorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLiAKKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGaWxlbmFtZToKKyAqIC0tLS0tLS0tLQorICogICAgZGNsX3BtdTYyNTJfc3cuaAorICoKKyAqIFByb2plY3Q6CisgKiAtLS0tLS0tLQorICogICBNYXVpX1NvZnR3YXJlCisgKgorICogRGVzY3JpcHRpb246CisgKiAtLS0tLS0tLS0tLS0KKyAqICAgVGhpcyBmaWxlIGlzIGZvciBQTVU2MjUyCisgKgorICogQXV0aG9yOgorICogLS0tLS0tLQorICogLS0tLS0tLQorICoKKyAqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICogICAgICAgICAgICAgSElTVE9SWQorICogQmVsb3cgdGhpcyBsaW5lLCB0aGlzIHBhcnQgaXMgY29udHJvbGxlZCBieSBQVkNTIFZNLiBETyBOT1QgTU9ESUZZISEKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICoKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiBVcHBlciB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmbmRlZiBfX0RDTF9QTVU2MjUyX1NXX0hfU1RSVUNUX18KKyNkZWZpbmUgX19EQ0xfUE1VNjI1Ml9TV19IX1NUUlVDVF9fCisKKyNpbmNsdWRlICJkY2xfcG1pY19mZWF0dXJlcy5oIgorCisjaWYgZGVmaW5lZChQTUlDXzYyNTJfUkVHX0FQSSkKKworCisvKiBDaGFyZ2VyIGV4dGVybmFsIGludGVycnVwdCBpcyBmaXhlZC4gKi8KKyNkZWZpbmUgUE1VX0NIUl9FSU5UX1BJTiAgICAgIDcKKworCisvKiBhZGMgbnVtYmVyIGZvciBtZWFzdXJpbmcgVkJBVC9WSVNFTlNFL1ZDSEFSR0VSIGlzIGZpeGVkIGludGVybmFsbHkuICovCisKKyNkZWZpbmUgUE1VX0FEQ19WQkFUX0NIX05VTSAgICAgIDAKKyNkZWZpbmUgUE1VX0FEQ19WSVNFTlNFX0NIX05VTSAgIDEKKyNkZWZpbmUgUE1VX0FEQ19WQ0hBUkdFUl9DSF9OVU0gIDIKKworCisvKiBhZGMgZmFjdG9yIGZvciBWQkFUL1ZJU0VOU0UvVkNIQVJHRVIgKi8KKyNkZWZpbmUgUE1VX0FEQ19GQUNUT1JfVkJBVCAgICAgIDEwMAorI2RlZmluZSBQTVVfQURDX0ZBQ1RPUl9WSVNFTlNFICAgMTAwCisjZGVmaW5lIFBNVV9BRENfRkFDVE9SX1ZDSEFSR0VSICA0NzMgIC8vIDM2OS8zOSAqIDUwCisKK3R5cGVkZWYgZW51bQoreworCUxET19CVUNLX0VOLAorCUxET19CVUNLX1ZPTF9TRUwsCisJTERPX0JVQ0tfUlMsCisJTERPX0JVQ0tfT0NfQVVUT19PRkYsCisJLy9MRE9fQlVDS19TVEJfRU4sCisJTERPX0JVQ0tfT05fU0VMLAorCUxET19CVUNLX05ESVNfRU4sCisJLy9MRE9fQlVDS19PQ0ZCX0VOLAorCUxET19DQUwsCisJTERPX1NUQl9URCwKKwlMRE9fT0NfVEQsCisJQlVDS19WRkJBREpfU0xFRVAsCisJQlVDS19JQ0FMX0VOLAorCS8vQlVDS19DU0wsCisJLy9CVUNLX1NUQl9URCwKKwkvL0JVQ0tfT0NfVEhELAorCS8vQlVDS19CVVJTVCwKKwlTUEtfRU4sCisJU1BLX09DX0VOLAorCVNQS19PQ19USEQsCisJU1BLX09DX1dORCwKKwlTUEtfVk9MLAorCUlTSU5LX0VOLAorCUlTSU5LX01PREUsCisJSVNJTktfU1RFUCwKKwlJU0lOS19WUkVGX0NBTCwKKwkvL0JPT1NUX1RZUEUsCisJLy9CT09TVF9IV19TRUwsCisJS1BMRURfRU4sCisJS1BMRURfTU9ERSwKKwlLUExFRF9TRUwsCisJQURDX0VOLAorCUJBVE9OX1VOREVULAorCUNTREFDX0VOLAorCVZCQVRfQ1ZfREVULAorCVZCQVRfQ1ZfRU4sCisJVkJBVF9DVl9WVEgsCisJQ1NEQUNfRExZLAorCUNTREFDX1NUUCwKKwlDSFJfRU4sCisJQ0hSREVULAorCUNIUldEVF9URCwKKwlDU19WVEgsCisJQ0hSV0RUX0VOLAorCUNIUldEVF9JTlRfRU4sCisJVkNEVF9IVl9WVEgsCisJQkFUT05fSFRfRU4sCisJT1RHX0JWQUxJRF9FTiwKKwlVU0JETF9FTiwKKwlDQ0lfU1JDTEtFTiwKKwlWQ0RUX0hWX0VOLAorCS8vQk9PU1RfQ0tTX1BSRywKKwlCQzExX1ZSRUZfVlRILAorCUJDMTFfQ01QX0VOLAorCUJDMTFfSVBEX0VOLAorCUJDMTFfSVBVX0VOLAorCUJDMTFfQklBU19FTiwKKwlCQzExX0JCX0NUUkwsCisJQkMxMV9SU1QsCQorCUJDMTFfVlNSQ19FTiwKKwlCQzExX0NNUF9PVVQsCQkKKwlQTVVfRkxBR1NfTUFYCit9UE1VX0ZMQUdTX0xJU1RfRU5VTTsKKworI2RlZmluZSBMRE9fR1JPVVAgKE9GRlNFTChCVUNLX0dST1VQKSkKKyNkZWZpbmUgQlVDS19HUk9VUCAoTShWQ09SRSkpCisKKyNlbmRpZiAvLyNpZiBkZWZpbmVkKFBNSUNfNjI1Ml9SRUdfQVBJKQorCisjZW5kaWYgLy8jaWZuZGVmIF9fRENMX1BNVTYyNTJfU1dfSF9TVFJVQ1RfXworCisKZGlmZiAtLWdpdCBhL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvZGNsX3BtdTYyNTNfaHcuaCBiL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvZGNsX3BtdTYyNTNfaHcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42M2Y3YjZlCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9kY2xfcG11NjI1M19ody5oCkBAIC0wLDAgKzEsNjY0IEBACisKKworI2lmbmRlZiBfX0RDTF9QTUlDNjI1M19IV19IX1NUUlVDVF9fCisjZGVmaW5lIF9fRENMX1BNSUM2MjUzX0hXX0hfU1RSVUNUX18KKworCisjaW5jbHVkZSAiZGNsX3BtaWNfZmVhdHVyZXMuaCIKKworI2lmIGRlZmluZWQoUE1JQ182MjUzX1JFR19BUEkpCisKKyNkZWZpbmUgUE1VX0JBU0UJCU1JWEVEX2Jhc2UKKyNkZWZpbmUgUE1VX0VORCAgICAgICAgIChQTVVfQkFTRSsweDEwMDApIAorCisvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisjZGVmaW5lIFBNSUNfVlJGX0NPTgkJKFBNVV9CQVNFKzB4ODAwKSAKKyNkZWZpbmUgUE1JQ19WSU9fQ09OCQkoUE1VX0JBU0UrMHg4MDQpIAorI2RlZmluZSBQTUlDX1ZNX0NPTgkJCShQTVVfQkFTRSsweDgwOCkgCisjZGVmaW5lIFBNSUNfVlJUQ19DT04JCShQTVVfQkFTRSsweDgwQykgCisjZGVmaW5lIFBNSUNfVlRDWE9fQ09OCQkoUE1VX0JBU0UrMHg4MTApIAorI2RlZmluZSBQTUlDX1ZBX0NPTgkJCShQTVVfQkFTRSsweDgxNCkgCisjZGVmaW5lIFBNSUNfVlNJTV9DT04JCShQTVVfQkFTRSsweDgxOCkgCisjZGVmaW5lIFBNSUNfVlNJTTJfQ09OCQkoUE1VX0JBU0UrMHg4MUMpIAorI2RlZmluZSBQTUlDX1ZVU0JfQ09OCQkoUE1VX0JBU0UrMHg4MjApIAorI2lmIGRlZmluZWQoX19EUlZfUE1VNTNfU1BFQ19WMV9fKQorI2RlZmluZSBQTUlDX1ZCVF9DT04JCShQTVVfQkFTRSsweDgyNCkgCisjZWxzZSAvLyAjaWYgZGVmaW5lZChfX0RSVl9QTVU1M19TUEVDX1YxX18pCisjZGVmaW5lIFBNSUNfRFJJVkVSX0NPTjQJKFBNVV9CQVNFKzB4ODI0KQorI2VuZGlmIC8vICNpZiBkZWZpbmVkKF9fRFJWX1BNVTUzX1NQRUNfVjFfXykKKyNkZWZpbmUgUE1JQ19WQ0FNRF9DT04JCShQTVVfQkFTRSsweDgyOCkgCisjZGVmaW5lIFBNSUNfVkNBTUFfQ09OCQkoUE1VX0JBU0UrMHg4MkMpIAorI2RlZmluZSBQTUlDX0dQSU9fQ09OCQkoUE1VX0JBU0UrMHg4MzQpIAorI2RlZmluZSBQTUlDX1ZDT1JFX0NPTgkJKFBNVV9CQVNFKzB4ODQwKSAKKyNkZWZpbmUgUE1JQ19WQ09SRV9DT04xCQkoUE1VX0JBU0UrMHg4NDQpIAorI2RlZmluZSBQTUlDX1ZDT1JFX0NPTjIJCShQTVVfQkFTRSsweDg0OCkgCisjZGVmaW5lIFBNSUNfVkNPUkVfQ09OMwkJKFBNVV9CQVNFKzB4ODRDKSAKKyNkZWZpbmUgUE1JQ19WQ09SRV9DT041CQkoUE1VX0JBU0UrMHg4NTQpIAorI2RlZmluZSBQTUlDX1NUQVJUVVBfQ09OMAkoUE1VX0JBU0UrMHg4NjApIAorI2RlZmluZSBQTUlDX1NUQVJUVVBfQ09OMQkoUE1VX0JBU0UrMHg4NjQpIAorI2RlZmluZSBQTUlDX0NIUl9DT04wCQkoUE1VX0JBU0UrMHg4NzApIAorI2RlZmluZSBQTUlDX0NIUl9DT04xCQkoUE1VX0JBU0UrMHg4NzQpCisjZGVmaW5lIFBNSUNfQ0hSX0NPTjIJCShQTVVfQkFTRSsweDg3OCkKKyNkZWZpbmUgUE1JQ19DSFJfQ09OMwkJKFBNVV9CQVNFKzB4ODdDKQorLy8jZGVmaW5lIFBNSUNfQ0hSX0NPTjQJCShQTVVfQkFTRSsweDhGMCkgID09PiBJbiAweDhGMAorLy8jZGVmaW5lIFBNSUNfQ0hSX0NPTjUJCShQTVVfQkFTRSsweDhGNCkgID09PiBJbiAweDhGNAorI2RlZmluZSBQTUlDX0RSSVZFUl9DT04wCShQTVVfQkFTRSsweDg4MCkgCisjZGVmaW5lIFBNSUNfRFJJVkVSX0NPTjEJKFBNVV9CQVNFKzB4ODg0KSAKKyNkZWZpbmUgUE1JQ19EUklWRVJfQ09OMgkoUE1VX0JBU0UrMHg4ODgpIAorI2RlZmluZSBQTUlDX0RSSVZFUl9DT04zCShQTVVfQkFTRSsweDg4QykgCisjaWYgZGVmaW5lZChfX0RSVl9QTVU1M19TUEVDX1YxX18pCisjZGVmaW5lIFBNSUNfRFJJVkVSX0NPTjQJKFBNVV9CQVNFKzB4ODkwKSAKKyNlbHNlIC8vICNpZiBkZWZpbmVkKF9fRFJWX1BNVTUzX1NQRUNfVjFfXykKKyNkZWZpbmUgUE1JQ19WQlRfQ09OCQkoUE1VX0JBU0UrMHg4OTApCisjZW5kaWYgLy8gI2lmIGRlZmluZWQoX19EUlZfUE1VNTNfU1BFQ19WMV9fKQorI2RlZmluZSBQTUlDX0JPT1NUX0NPTjAJCShQTVVfQkFTRSsweDhBMCkgCisjZGVmaW5lIFBNSUNfQk9PU1RfQ09OMQkJKFBNVV9CQVNFKzB4OEE0KSAKKyNkZWZpbmUgUE1JQ19CT09TVF9DT04yCQkoUE1VX0JBU0UrMHg4QTgpIAorI2RlZmluZSBQTUlDX0NMQVNTRF9DT04wCShQTVVfQkFTRSsweDhCMCkgCisjZGVmaW5lIFBNSUNfQ0xBU1NEX0NPTjEJKFBNVV9CQVNFKzB4OEI0KSAKKyNkZWZpbmUgUE1JQ19DTEFTU0RfQ09OMgkoUE1VX0JBU0UrMHg4QjgpIAorI2RlZmluZSBQTUlDX0NMQVNTRF9DT04zCShQTVVfQkFTRSsweDhCQykKKyNkZWZpbmUgUE1JQ19URVNUX0NPTjIJCShQTVVfQkFTRSsweDhDOCkKKyNkZWZpbmUgUE1JQ19PQ19DT04wCQkoUE1VX0JBU0UrMHg4RDApIAorI2RlZmluZSBQTUlDX09DX0NPTjEJCShQTVVfQkFTRSsweDhENCkgCisjZGVmaW5lIFBNSUNfT0NfQ09OMgkJKFBNVV9CQVNFKzB4OEQ4KSAKKyNkZWZpbmUgUE1JQ19PQ19DT04zCQkoUE1VX0JBU0UrMHg4REMpIAorI2RlZmluZSBQTUlDX09DX0NPTjQJCShQTVVfQkFTRSsweDhFMCkgCisjZGVmaW5lIFBNSUNfT0NfQ09ONQkJKFBNVV9CQVNFKzB4OEU0KSAKKyNkZWZpbmUgUE1JQ19DSFJfQ09ONAkJKFBNVV9CQVNFKzB4OEYwKQorI2RlZmluZSBQTUlDX0NIUl9DT041CQkoUE1VX0JBU0UrMHg4RjQpCisKKy8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy8vICgweDgwMCkgVlJGIENPTgorI2RlZmluZSBWUkZfRU5fTUFTSwkJCQkweDAwMDEKKyNkZWZpbmUgVlJGX0VOX1NISUZUCQkJMAorI2RlZmluZSBWUkZfQ0FMX01BU0sJCQkweDAwRjAKKyNkZWZpbmUgVlJGX0NBTF9TSElGVAkJCTQKKyNkZWZpbmUgVlJGX09OX1NFTF9NQVNLCQkJMHgwNDAwCisjZGVmaW5lIFZSRl9PTl9TRUxfU0hJRlQJCTEwCisjZGVmaW5lIFZSRl9PQ0ZCX0VOX01BU0sJCTB4MTAwMAorI2RlZmluZSBWUkZfT0NGQl9FTl9TSElGVAkJMTIKKyNkZWZpbmUgVlJGX1NUQVRVU19NQVNLCQkJMHg4MDAwCisjZGVmaW5lIFZSRl9TVEFUVVNfU0hJRlQJCTE1CisgICAgICAgICAgICAgICAgIAorLy8gKDB4ODA0KSBWSU8gQ09OCisjZGVmaW5lIFZJT19DQUxfTUFTSwkJCQkweDAwRjAKKyNkZWZpbmUgVklPX0NBTF9TSElGVAkJCQk0CisjZGVmaW5lIFZJT19WRF9TRU5TRV9NQVNLCQkJMHgwMjAwCisjZGVmaW5lIFZJT19WRF9TRU5TRV9TSElGVAkJCTkKKyNkZWZpbmUgVklPX09DRkJfRU5fTUFTSwkJCTB4MTAwMAorI2RlZmluZSBWSU9fT0NGQl9FTl9TSElGVAkJCTEyCisjZGVmaW5lIFZJT19TVEFUVVNfTUFTSwkJCQkweDgwMDAKKyNkZWZpbmUgVklPX1NUQVRVU19TSElGVAkJCTE1CisgICAgICAgICAgICAgICAgIAorLy8gKDB4ODA4KSBWTSBDT04KKyNkZWZpbmUgVk1fQ0FMX01BU0sJCQkweDAwRjAKKyNkZWZpbmUgVk1fQ0FMX1NISUZUCQk0CisjZGVmaW5lIFZNX1ZEX1NFTlNFX01BU0sJMHgwMjAwCisjZGVmaW5lIFZNX1ZEX1NFTlNFX1NISUZUCTkKKyNkZWZpbmUgVk1fT0NGQl9FTl9NQVNLCQkweDEwMDAKKyNkZWZpbmUgVk1fT0NGQl9FTl9TSElGVAkxMgorI2RlZmluZSBWTV9TVEFUVVNfTUFTSwkJMHg4MDAwCisjZGVmaW5lIFZNX1NUQVRVU19TSElGVAkJMTUKKyAgICAgICAgICAgICAgICAgCisvLyAoMHg4MEMpIFZSVEMgQ09OCisjZGVmaW5lIFZSVENfQ0FMX01BU0sJCTB4MDBGMAorI2RlZmluZSBWUlRDX0NBTF9TSElGVAkJNAorI2RlZmluZSBWUlRDX1NUQVRVU19NQVNLCTB4ODAwMAorI2RlZmluZSBWUlRDX1NUQVRVU19TSElGVAkxNQorICAgICAgICAgICAgICAgICAKKy8vICgweDgxMCkgVlRDWE8gQ09OCisjZGVmaW5lIFZUQ1hPX0VOX01BU0sJCQkJMHgwMDAxCisjZGVmaW5lIFZUQ1hPX0VOX1NISUZUCQkJCTAKKyNkZWZpbmUgVlRDWE9fQ0FMX01BU0sJCQkJMHgwMEYwCisjZGVmaW5lIFZUQ1hPX0NBTF9TSElGVAkJCQk0CisjZGVmaW5lIFZUQ1hPX09OX1NFTF9NQVNLCQkJMHgwNDAwCisjZGVmaW5lIFZUQ1hPX09OX1NFTF9TSElGVAkJCTEwCisjZGVmaW5lIFZUQ1hPX0NDSV9TUkNMS0VOX01BU0sJCTB4MDgwMAorI2RlZmluZSBWVENYT19DQ0lfU1JDTEtFTl9TSElGVAkJMTEKKyNkZWZpbmUgVlRDWE9fT0NGQl9FTl9NQVNLCQkJMHgxMDAwCisjZGVmaW5lIFZUQ1hPX09DRkJfRU5fU0hJRlQJCQkxMgorI2RlZmluZSBWVENYT19TVEFUVVNfTUFTSwkJCTB4ODAwMAorI2RlZmluZSBWVENYT19TVEFUVVNfU0hJRlQJCQkxNQorICAgICAgICAgICAgICAgICAKKy8vICgweDgxNCkgVkEgQ09OCisjZGVmaW5lIFZBX0NBTF9NQVNLCQkJCQkweDAwRjAKKyNkZWZpbmUgVkFfQ0FMX1NISUZUCQkJCTQKKyNkZWZpbmUgVkFfVkRfU0VOU0VfTUFTSwkJCTB4MDIwMAorI2RlZmluZSBWQV9WRF9TRU5TRV9TSElGVAkJCTkKKyNkZWZpbmUgVkFfT05fU0VMX01BU0sJCQkJMHgwNDAwCisjZGVmaW5lIFZBX09OX1NFTF9TSElGVAkJCQkxMAorI2RlZmluZSBWQV9PQ0ZCX0VOX01BU0sJCQkJMHgxMDAwCisjZGVmaW5lIFZBX09DRkJfRU5fU0hJRlQJCQkxMgorI2RlZmluZSBWQV9TVEFUVVNfTUFTSwkJCQkweDgwMDAKKyNkZWZpbmUgVkFfU1RBVFVTX1NISUZUCQkJCTE1CisgICAgICAgICAgICAgICAgIAorLy8gKDB4ODE4KSBWU0lNIENPTgorI2RlZmluZSBWU0lNX0NDSV9FTl9NQVNLCQkJMHgwMDAxCisjZGVmaW5lIFZTSU1fQ0NJX0VOX1NISUZUCQkJMAorI2RlZmluZSBWU0lNX0NBTF9NQVNLCQkJCTB4MDBGMAorI2RlZmluZSBWU0lNX0NBTF9TSElGVAkJCQk0CisjZGVmaW5lIFZTSU1fREFUQUxfTUFTSwkJCQkweDAyMDAKKyNkZWZpbmUgVlNJTV9EQVRBTF9TSElGVAkJCTkKKyNkZWZpbmUgVlNJTV9DQ0lfU0VMX01BU0sJCQkweDA0MDAKKyNkZWZpbmUgVlNJTV9DQ0lfU0VMX1NISUZUCQkJMTAKKyNkZWZpbmUgVlNJTV9DQ0lfUFdSX1NBVklOR19NQVNLCTB4MDgwMAorI2RlZmluZSBWU0lNX0NDSV9QV1JfU0FWSU5HX1NISUZUCTExCisjZGVmaW5lIFZTSU1fT0NGQl9FTl9NQVNLCQkJMHgxMDAwCisjZGVmaW5lIFZTSU1fT0NGQl9FTl9TSElGVAkJCTEyCisjZGVmaW5lIFZTSU1fU1RBVFVTX01BU0sJCQkweDgwMDAKKyNkZWZpbmUgVlNJTV9TVEFUVVNfU0hJRlQJCQkxNQorICAgICAgICAgICAgICAgICAKKy8vICgweDgxQykgVlNJTTIgQ09OCisjZGVmaW5lIFZTSU0yX0NDSV9FTl9NQVNLCQkJMHgwMDAxCisjZGVmaW5lIFZTSU0yX0NDSV9FTl9TSElGVAkJCTAKKyNkZWZpbmUgVlNJTTJfQ0FMX01BU0sJCQkJMHgwMEYwCisjZGVmaW5lIFZTSU0yX0NBTF9TSElGVAkJCQk0CisjZGVmaW5lIFZTSU0yX0RBVEFMX01BU0sJCQkweDAyMDAKKyNkZWZpbmUgVlNJTTJfREFUQUxfU0hJRlQJCQk5CisjZGVmaW5lIFZTSU0yX1NFTF9NQVNLCQkJCTB4MDQwMAorI2RlZmluZSBWU0lNMl9TRUxfU0hJRlQJCQkJMTAKKyNkZWZpbmUgVlNJTTJfU1RBVFVTX01BU0sJCQkweDgwMDAKKyNkZWZpbmUgVlNJTTJfU1RBVFVTX1NISUZUCQkJMTUKKyAgICAgICAgICAgICAgICAgCisvLyAoMHg4MjApIFZVU0IgQ09OCisjZGVmaW5lIFZVU0JfRU5fTUFTSwkJCQkweDAwMDEKKyNkZWZpbmUgVlVTQl9FTl9TSElGVAkJCQkwCisjZGVmaW5lIFZVU0JfQ0FMX01BU0sJCQkJMHgwMEYwCisjZGVmaW5lIFZVU0JfQ0FMX1NISUZUCQkJCTQKKyNkZWZpbmUgVlVTQl9PQ0ZCX0VOX01BU0sJCQkJMHgxMDAwCisjZGVmaW5lIFZVU0JfT0NGQl9FTl9TSElGVAkJCQkxMgorI2RlZmluZSBWVVNCX1NUQVRVU19NQVNLCQkJMHg4MDAwCisjZGVmaW5lIFZVU0JfU1RBVFVTX1NISUZUCQkJMTUKKyAgICAgICAgICAgICAgICAgCisjaWYgZGVmaW5lZChfX0RSVl9QTVU1M19TUEVDX1YxX18pCisKKy8vICgweDgyNCkgVkJUIENPTgorI2RlZmluZSBWQlRfRU5fTUFTSwkJCQkJMHgwMDAxCisjZGVmaW5lIFZCVF9FTl9TSElGVAkJCQkwCisjZGVmaW5lIFZCVF9DQUxfTUFTSwkJCQkweDAwRjAKKyNkZWZpbmUgVkJUX0NBTF9TSElGVAkJCQk0CisjZGVmaW5lIFZCVF9TRUxfTUFTSwkJCQkweDA0MDAKKyNkZWZpbmUgVkJUX1NFTF9TSElGVAkJCQkxMAorI2RlZmluZSBWQlRfT0NGQl9FTl9NQVNLCQkJCTB4MTAwMAorI2RlZmluZSBWQlRfT0NGQl9FTl9TSElGVAkJCQkxMgorI2RlZmluZSBWQlRfU1RBVFVTX01BU0sJCQkJMHg4MDAwCisjZGVmaW5lIFZCVF9TVEFUVVNfU0hJRlQJCQkxNQorICAgICAgICAgICAgICAgICAKKyNlbHNlIC8vICNpZiBkZWZpbmVkKF9fRFJWX1BNVTUzX1NQRUNfVjFfXykKKworLy8gKDB4ODI0KSBQTUlDX0RSSVZFUl9DT040CisjZGVmaW5lIENDSV9WSUJSX0VOX01BU0sJCQkweDAwMDEKKyNkZWZpbmUgQ0NJX1ZJQlJfRU5fU0hJRlQJCQkwCisjZGVmaW5lIFZJQlJfQ0FMX01BU0sJCQkJMHgwMEYwCisjZGVmaW5lIFZJQlJfQ0FMX1NISUZUCQkJCTQKKyNkZWZpbmUgVklCUl9TRUxfTUFTSwkJCQkweDA0MDAKKyNkZWZpbmUgVklCUl9TRUxfU0hJRlQJCQkgICAgMTAKKyNkZWZpbmUgVklCUl9PQ0ZCX0VOX01BU0sJCQkweDEwMDAKKyNkZWZpbmUgVklCUl9PQ0ZCX0VOX1NISUZUCQkJMTIKKyNkZWZpbmUgVklCUl9TVEFUVVNfTUFTSwkJCTB4ODAwMAorI2RlZmluZSBWSUJSX1NUQVRVU19TSElGVAkJCTE1CisKKyNlbmRpZiAvLyAjaWYgZGVmaW5lZChfX0RSVl9QTVU1M19TUEVDX1YxX18pCisgICAgICAgICAgICAgICAgIAorLy8gKDB4ODI4KSBWQ0FNRCBDT04KKyNkZWZpbmUgVkNBTURfRU5fTUFTSwkJCQkweDAwMDEKKyNkZWZpbmUgVkNBTURfRU5fU0hJRlQJCQkJMAorI2RlZmluZSBWQ0FNRF9DQUxfTUFTSwkJCQkweDAwRjAKKyNkZWZpbmUgVkNBTURfQ0FMX1NISUZUCQkJCTQKKyNkZWZpbmUgVkNBTURfU0VMX01BU0sJCQkJMHgwQzAwCisjZGVmaW5lIFZDQU1EX1NFTF9TSElGVAkJCQkxMAorI2RlZmluZSBWQ0FNRF9PQ0ZCX0VOX01BU0sJCQkJMHgxMDAwCisjZGVmaW5lIFZDQU1EX09DRkJfRU5fU0hJRlQJCQkxMgorI2RlZmluZSBWQ0FNRF9TVEFUVVNfTUFTSwkJCTB4ODAwMAorI2RlZmluZSBWQ0FNRF9TVEFUVVNfU0hJRlQJCQkxNQorICAgICAgICAgICAgICAgICAKKy8vICgweDgyQykgVkNBTUEgQ09OCisjZGVmaW5lIFZDQU1BX0VOX01BU0sJCQkJMHgwMDAxCisjZGVmaW5lIFZDQU1BX0VOX1NISUZUCQkJCTAKKyNkZWZpbmUgVkNBTUFfQ0FMX01BU0sJCQkJMHgwMEYwCisjZGVmaW5lIFZDQU1BX0NBTF9TSElGVAkJCQk0CisjZGVmaW5lIFZDQU1BX1NFTF9NQVNLCQkJCTB4MEMwMAorI2RlZmluZSBWQ0FNQV9TRUxfU0hJRlQJCQkJMTAKKyNkZWZpbmUgVkNBTUFfT0NGQl9FTl9NQVNLCQkJCTB4MTAwMAorI2RlZmluZSBWQ0FNQV9PQ0ZCX0VOX1NISUZUCQkJMTIKKyNkZWZpbmUgVkNBTUFfU1RBVFVTX01BU0sJCQkweDgwMDAKKyNkZWZpbmUgVkNBTUFfU1RBVFVTX1NISUZUCQkJMTUKKyAgICAgICAgICAgICAgICAgCisvLyAoMHg4MzQpIEdQSU8gQ09OCisjZGVmaW5lIEdQSU9fRFJWX01BU0sJCQkJMHgwMTAwCisjZGVmaW5lIEdQSU9fRFJWX1NISUZUCQkJCTgKKyNkZWZpbmUgQ0NJX01UVl9FTl9NQVNLCQkJCTB4MDIwMAorI2RlZmluZSBDQ0lfTVRWX0VOX1NISUZUCQkJOQorICAgICAgICAgICAgICAgICAKKy8vICgweDg0MCkgVkNPUkUgQ09OCisjZGVmaW5lIFZDT1JFX0VOX0ZPUkNFX01BU0sJCQkweDAwMDIKKyNkZWZpbmUgVkNPUkVfRU5fRk9SQ0VfU0hJRlQJCTEKKyNkZWZpbmUgVkNPUkVfQ0FMX01BU0sJCQkJMHgwMEYwCisjZGVmaW5lIFZDT1JFX0NBTF9TSElGVAkJCQk0CisjZGVmaW5lIFZDT1JFX1ZEX1NFTlNFX01BU0sJCQkweDAyMDAKKyNkZWZpbmUgVkNPUkVfVkRfU0VOU0VfU0hJRlQJCTkKKyNkZWZpbmUgVkNPUkVfU1RBVFVTX01BU0sJCQkweDgwMDAKKyNkZWZpbmUgVkNPUkVfU1RBVFVTX1NISUZUCQkJMTUKKyAgICAgICAgICAgICAgICAgCisvLyAoMHg4NDQpIFZDT1JFIENPTjEKKyNkZWZpbmUgVkNPUkVfTU9ERV9TRVRfTUFTSwkJCTB4MDAwMQorI2RlZmluZSBWQ09SRV9NT0RFX1NFVF9TSElGVAkJMAorI2RlZmluZSBWQ09SRV9BRENfSU5fRURHRV9NQVNLCQkweDAwMDIKKyNkZWZpbmUgVkNPUkVfQURDX0lOX0VER0VfU0hJRlQJCTEKKyNkZWZpbmUgVkNPUkVfRkFTVF9TTE9XX01BU0sJCTB4MDAwNAorI2RlZmluZSBWQ09SRV9GQVNUX1NMT1dfU0hJRlQJCTIKKyNkZWZpbmUgVkNPUkVfUFdNQl9NQVNLCQkJCTB4MDAwOAorI2RlZmluZSBWQ09SRV9QV01CX1NISUZUCQkJMworI2RlZmluZSBWQ09SRV9BQ0NfT1VUX0lOSVRfTUFTSwkJMHgwMEYwCisjZGVmaW5lIFZDT1JFX0FDQ19PVVRfSU5JVF9TSElGVAk0CisgICAgICAgICAgICAgICAgIAorLy8gKDB4ODQ4KSBWQ09SRSBDT04yCisjZGVmaW5lIFZDT1JFX1ZPTFNFTF9NQVNLCQkJMHg0MDAwCisjZGVmaW5lIFZDT1JFX1ZPTFNFTF9TSElGVAkJCTE0CisjZGVmaW5lIFZDT1JFX0ZCRU5fTUFTSwkJCQkweDgwMDAKKyNkZWZpbmUgVkNPUkVfRkJFTl9TSElGVAkJCTE1CisgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAKKy8vICgweDg0QykgVkNPUkUgQ09OMworI2RlZmluZSBWQ09SRV9DQ0lfVkZCQURKX01BU0sJCTB4MDAwRgorI2RlZmluZSBWQ09SRV9DQ0lfVkZCQURKX1NISUZUCQkwCisjZGVmaW5lIFZDT1JFX0RJUkVDVF9DVFJMX0VOX01BU0sJMHgwMDEwCisjZGVmaW5lIFZDT1JFX0RJUkVDVF9DVFJMX0VOX1NISUZUCTQKKyNkZWZpbmUgVkNPUkVfRENWQ0tTRUxfTUFTSwkJCTB4MDAyMAorI2RlZmluZSBWQ09SRV9EQ1ZDS1NFTF9TSElGVAkJNQorI2RlZmluZSBWQ09SRV9NT0RFRU5fTUFTSwkJCTB4MTgwMAorI2RlZmluZSBWQ09SRV9NT0RFRU5fU0hJRlQJCQkxMQorI2RlZmluZSBWQ09SRV9NT0RFQ01QX01BU0sJCQkweDIwMDAKKyNkZWZpbmUgVkNPUkVfTU9ERUNNUF9TSElGVAkJCTEzCisjZGVmaW5lIFZDT1JFX01PREVTRUwxQV9NQVNLCQkweDQwMDAKKyNkZWZpbmUgVkNPUkVfTU9ERVNFTDFBX1NISUZUCQkxNAorICAgICAgICAgICAgICAgICAKKy8vICgweDg1NCkgVkNPUkUgQ09ONQorI2RlZmluZSBWQ09SRV9DQ0lfVkZCQURKX1NMUF9NQVNLCTB4MDAwRgorI2RlZmluZSBWQ09SRV9DQ0lfVkZCQURKX1NMUF9TSElGVAkwCisjZGVmaW5lIFZDT1JFX0NMS19TUkNfU0VMX01BU0sJCTB4MDAxMAorI2RlZmluZSBWQ09SRV9DTEtfU1JDX1NFTF9TSElGVAkJNAorICAgICAgICAgICAgICAgICAKKy8vICgweDg2MCkgU1RBUlRVUCBDT04wCisjZGVmaW5lIFVWX1NFTF9NQVNLCQkJCQkweDAwMDMKKyNkZWZpbmUgVVZfU0VMX1NISUZUCQkJCTAKKyNkZWZpbmUgUFdSS0VZX1ZDT1JFX01BU0sJCQkweDQwMDAKKyNkZWZpbmUgUFdSS0VZX1ZDT1JFX1NISUZUCQkJMTQKKyNkZWZpbmUgUFdSS0VZX0RFQl9NQVNLCQkJCTB4ODAwMAorI2RlZmluZSBQV1JLRVlfREVCX1NISUZUCQkJMTUKKyAgICAgICAgICAgICAgICAgCisvLyAoMHg4NjQpIFNUQVJUVVAgQ09OMQorI2RlZmluZSBUSFJfU0VMX01BU0sJCQkJMHgwMDE4CisjZGVmaW5lIFRIUl9TRUxfU0hJRlQJCQkJMworICAgICAgICAgICAgICAgICAKKy8vICgweDg3MCkgQ0hSIENPTjAKKyNkZWZpbmUgQ0hSX0VOX01BU0sJCQkJCTB4MDAwMQorI2RlZmluZSBDSFJfRU5fU0hJRlQJCQkJMAorI2RlZmluZSBDSE9GU1RfTUFTSwkJCQkJMHgwMDBFCisjZGVmaW5lIENIT0ZTVF9TSElGVAkJCQkxCisjZGVmaW5lIENIUl9DQ19DVVJSRU5UX01BU0sJCQkweDAwRjAKKyNkZWZpbmUgQ0hSX0NDX0NVUlJFTlRfU0hJRlQJCTQKKyNkZWZpbmUgQ0hST05fRk9SQ0VfTUFTSwkJCTB4MDEwMAorI2RlZmluZSBDSFJPTl9GT1JDRV9TSElGVAkJCTgKKyNkZWZpbmUgQ1ZfUlRfTUFTSwkJCQkJMHgwNjAwCisjZGVmaW5lIENWX1JUX1NISUZUCQkJCQk5CisjZGVmaW5lIENWX1RVTkVfTUFTSwkJCQkweDM4MDAKKyNkZWZpbmUgQ1ZfVFVORV9TSElGVAkJCQkxMQorICAgICAgICAgICAgICAgICAKKy8vICgweDg3NCkgQ0hSIENPTjEKKyNkZWZpbmUgQ0FMX1BSRV9DQ19NQVNLCQkJCTB4MDAwMworI2RlZmluZSBDQUxfUFJFX0NDX1NISUZUCQkJMAorI2RlZmluZSBQU19TRUxfTUFTSwkJCQkJMHgwMDQwCisjZGVmaW5lIFBTX1NFTF9TSElGVAkJCQk2CisjZGVmaW5lIFBTX1NFVF9NQVNLCQkJCQkweDAwODAKKyNkZWZpbmUgUFNfU0VUX1NISUZUCQkJCTcKKyNkZWZpbmUgQ0hST1ZfU0VMX01BU0sJCQkJMHg2MDAwCisjZGVmaW5lIENIUk9WX1NFTF9TSElGVAkJCQkxMworICAgICAgICAgICAgICAgICAKKy8vICgweDg3OCkgQ0hSIENPTjIKKy8vIFdlIHVzZSBDSFJfUlNWWzBdIGFzIENWIHRyaW0gZXh0cmEgYml0LCB0aGUgYml0IGlzIHRoZSBleHRlbnNpb24gb2YgQ1ZfUlQKKy8vIEJ1dCBvbmx5IGNvbnRyb2wgaW4gQ1ZfVFJJTV9DQUxJQlJBVElPTiBwcm9jZXNzCisjZGVmaW5lIENWX1RSSU1fRVhUUkFfTUFTSyAgICAgICAgICAweDAwMDEKKyNkZWZpbmUgQ1ZfVFJJTV9FWFRSQV9TSElGVCAgICAgICAgIDAgICAgICAgIAorI2RlZmluZSBPVlBfTUFTSwkgICAgICAgIAkJMHgwNDAwCisjZGVmaW5lIE9WUF9TSElGVAkJCQkJMTAKKyNkZWZpbmUgQ0hSREVUX01BU0sJCQkJCTB4MDgwMAorI2RlZmluZSBDSFJERVRfU0hJRlQJCQkJMTEKKyNkZWZpbmUgQkFUX09OX01BU0sJCQkJCTB4MTAwMAorI2RlZmluZSBCQVRfT05fU0hJRlQJCQkJMTIKKyNkZWZpbmUgQkFEX0JBVFRfTUFTSwkJCQkweDIwMDAKKyNkZWZpbmUgQkFEX0JBVFRfU0hJRlQJCQkJMTMKKyNkZWZpbmUgQ1ZfTUFTSwkJICAgICAgICAJCQkJMHg0MDAwCisjZGVmaW5lIENWX1NISUZUCSAgICAgICAgCQkJCTE0CisgICAgICAgICAgICAgICAgIAorLy8gKDB4ODdDKSBDSFIgQ09OMworI2RlZmluZSBXRFRJTUVSX1REX01BU0sJCQkJMHgwMDAzCisjZGVmaW5lIFdEVElNRVJfVERfU0hJRlQJCQkwCisjZGVmaW5lIFdEVElNRVJfRU5fTUFTSwkJCQkweDAwMDQKKyNkZWZpbmUgV0RUSU1FUl9FTl9TSElGVAkJCTIKKworLy8gKDB4OEYwKSBDSFIgQ09ONCA9PT4gUmVmZXIgMHg4RjAKKyNkZWZpbmUgV0RUSU1FUl9JTlRfRU5fTUFTSwkJCTB4MDAwMQorI2RlZmluZSBXRFRJTUVSX0lOVF9FTl9TSElGVAkJMAorI2RlZmluZSBXRFRJTUVSX0ZMQUdfTUFTSwkJCTB4MDAwMgorI2RlZmluZSBXRFRJTUVSX0ZMQUdfU0hJRlQJCSAgICAxCisjZGVmaW5lIFdEVElNRVJfQ05UXzE5XzE2X01BU0sJCTB4RjAwMAorI2RlZmluZSBXRFRJTUVSX0NOVF8xOV8xNl9TSElGVAkJMTIKKworLy8gKDB4OEY0KSBDSFIgQ09ONSA9PT4gUmVmZXIgMHg4RjQKKyNkZWZpbmUgV0RUSU1FUl9DTlRfMTVfMDBfTUFTSwkJMHhGRkZGCisjZGVmaW5lIFdEVElNRVJfQ05UXzE1XzAwX1NISUZUCQkwCisKKyAgICAgICAgICAgICAgICAgCisvLyAoMHg4ODApIERSSVZFUiBDT04wCisjZGVmaW5lIElTSU5LU19FTl9NQVNLCQkJCTB4MDAwMQorI2RlZmluZSBJU0lOS1NfRU5fU0hJRlQJCQkJMAorI2RlZmluZSBJU0lOS1NfRk9SQ0VTX09GRl9NQVNLCQkweDAwMDIKKyNkZWZpbmUgSVNJTktTX0ZPUkNFU19PRkZfU0hJRlQJCTEKKyNkZWZpbmUgS1BMRURfVFlQRV9NQVNLCQkJCTB4MDAwNAorI2RlZmluZSBLUExFRF9UWVBFX1NISUZUCQkJMgorI2RlZmluZSBDQ0lfS1BMRURfRU5fTUFTSwkJCTB4MDAwOAorI2RlZmluZSBDQ0lfS1BMRURfRU5fU0hJRlQJCQkzCisjZGVmaW5lIEtQTEVEX0ZPUkNFX09GRl9NQVNLCQkweDAwMTAKKyNkZWZpbmUgS1BMRURfRk9SQ0VfT0ZGX1NISUZUCQk0CisjZGVmaW5lIEtQTEVEX1NFTF9NQVNLCQkJCTB4MDBFMAorI2RlZmluZSBLUExFRF9TRUxfU0hJRlQJCQkJNQorI2RlZmluZSBJU0lOSzFfU1RBVFVTX01BU0sJCQkweDA4MDAKKyNkZWZpbmUgSVNJTksxX1NUQVRVU19TSElGVAkJCTExCisjZGVmaW5lIElTSU5LMl9TVEFUVVNfTUFTSwkJCTB4MTAwMAorI2RlZmluZSBJU0lOSzJfU1RBVFVTX1NISUZUCQkJMTIKKyNkZWZpbmUgSVNJTkszX1NUQVRVU19NQVNLCQkJMHgyMDAwCisjZGVmaW5lIElTSU5LM19TVEFUVVNfU0hJRlQJCQkxMworI2RlZmluZSBJU0lOSzRfU1RBVFVTX01BU0sJCQkweDQwMDAKKyNkZWZpbmUgSVNJTks0X1NUQVRVU19TSElGVAkJCTE0CisjZGVmaW5lIEtQTEVEX1NUQVRVU19NQVNLCQkJMHg4MDAwCisjZGVmaW5lIEtQTEVEX1NUQVRVU19TSElGVAkJCTE1CisgICAgICAgICAgICAgICAgIAorLy8gKDB4ODg0KSBEUklWRVIgQ09OMQorI2RlZmluZSBJU0lOS1NfRElNTV9NQVNLCQkJMHgwMDFGCisjZGVmaW5lIElTSU5LU19ESU1NX1NISUZUCQkJMAorI2RlZmluZSBJU0lOS1NfQ0hTRUxfTUFTSwkJCTB4MEYwMAorI2RlZmluZSBJU0lOS1NfQ0hTRUxfU0hJRlQJCQk4CisgICAgICAgICAgICAgICAgIAorLy8gKDB4ODg4KSBEUklWRVIgQ09OMgorI2RlZmluZSBJU0lOS1NfSVJTRVRfQ0FMX01BU0sJCTB4MDAxRgorI2RlZmluZSBJU0lOS1NfSVJTRVRfQ0FMX1NISUZUCQkwCisjZGVmaW5lIElTSU5LU19WTEVEX1NURVBfTUFTSwkJMHgwMEMwCisjZGVmaW5lIElTSU5LU19WTEVEX1NURVBfU0hJRlQJCTYKKyAgICAgICAgICAgICAgICAgCisvLyAoMHg4OEMpIERSSVZFUiBDT04zCisjZGVmaW5lIFZCTF9FTl9NQVNLCQkJCQkweDAwMDEKKyNkZWZpbmUgVkJMX0VOX1NISUZUCQkJCTAKKyNkZWZpbmUgVkJPT1NUX0VOX01BU0sJCQkJMHgwMDAyCisjZGVmaW5lIFZCT09TVF9FTl9TSElGVAkJCQkxCisjZGVmaW5lIEJMX1ZHRU5fRk9SQ0VPTl9NQVNLCQkweDAwMDQKKyNkZWZpbmUgQkxfVkdFTl9GT1JDRU9OX1NISUZUCQkyCisjZGVmaW5lIEJMX01PREVfTUFTSwkJCQkweDAwMTAKKyNkZWZpbmUgQkxfTU9ERV9TSElGVAkJCQk0CisjZGVmaW5lIEJMX0RJTU1fRFVUWV9NQVNLCQkJMHgxRjAwCisjZGVmaW5lIEJMX0RJTU1fRFVUWV9TSElGVAkJCTgKKyAgICAgICAgICAgICAgICAgCisjaWYgZGVmaW5lZChfX0RSVl9QTVU1M19TUEVDX1YxX18pCisKKy8vICgweDg5MCkgRFJJVkVSIENPTjQKKyNkZWZpbmUgQ0NJX1ZJQlJfRU5fTUFTSwkJCTB4MDAwMQorI2RlZmluZSBDQ0lfVklCUl9FTl9TSElGVAkJCTAKKyNkZWZpbmUgVklCUl9TRUxfTUFTSwkJCQkweDAwMEMKKyNkZWZpbmUgVklCUl9TRUxfU0hJRlQJCQkJMgorI2RlZmluZSBWSUJSX0NBTF9NQVNLCQkJCTB4MDBGMAorI2RlZmluZSBWSUJSX0NBTF9TSElGVAkJCQk0CisjZGVmaW5lIFZJQlJfT0NGQl9FTl9NQVNLCQkJMHgxMDAwCisjZGVmaW5lIFZJQlJfT0NGQl9FTl9TSElGVAkJCTEyCisjZGVmaW5lIFZJQlJfU1RBVFVTX01BU0sJCQkweDgwMDAKKyNkZWZpbmUgVklCUl9TVEFUVVNfU0hJRlQJCQkxNQorICAgICAgICAgICAgICAgICAKKyNlbHNlIC8vICNpZiBkZWZpbmVkKF9fRFJWX1BNVTUzX1NQRUNfVjFfXykKKworLy8gKDB4ODkwKSBWQlQgQ09OICA9PT4gVkJUIG1vdmUgdG8gMHg4OTAKKyNkZWZpbmUgVkJUX0VOX01BU0sJCQkJCTB4MDAwMQorI2RlZmluZSBWQlRfRU5fU0hJRlQJCQkJMAorI2RlZmluZSBWQlRfU0VMX01BU0sJCQkJMHgwMDBDCisjZGVmaW5lIFZCVF9TRUxfU0hJRlQJCQkJMgorI2RlZmluZSBWQlRfQ0FMX01BU0sJCQkJMHgwMEYwCisjZGVmaW5lIFZCVF9DQUxfU0hJRlQJCQkJNAorI2RlZmluZSBWQlRfT0NGQl9FTl9NQVNLCQkJMHgxMDAwCisjZGVmaW5lIFZCVF9PQ0ZCX0VOX1NISUZUCQkJMTIKKyNkZWZpbmUgVkJUX1NUQVRVU19NQVNLCQkJCTB4ODAwMAorI2RlZmluZSBWQlRfU1RBVFVTX1NISUZUCQkJMTUKKworI2VuZGlmIC8vICNpZiBkZWZpbmVkKF9fRFJWX1BNVTUzX1NQRUNfVjFfXykKKyAgICAgICAgICAgICAgICAgCisvLyAoMHg4QTApIEJPT1NUIENPTjAKKyNkZWZpbmUgVkJPT1NUX1NZTkNfRU5fTUFTSwkJCTB4MDAwMQorI2RlZmluZSBWQk9PU1RfU1lOQ19FTl9TSElGVAkJMAorI2RlZmluZSBWQk9PU1RfU1NfU1BFRURfTUFTSwkJMHgwMDAyCisjZGVmaW5lIFZCT09TVF9TU19TUEVFRF9TSElGVAkJMQorI2RlZmluZSBWQk9PU1RfVFVORV9NQVNLCQkJMHgwMEYwCisjZGVmaW5lIFZCT09TVF9UVU5FX1NISUZUCQkJNAorI2RlZmluZSBWQk9PU1RfQ0FMX01BU0sJCQkJMHgwRjAwCisjZGVmaW5lIFZCT09TVF9DQUxfU0hJRlQJCQk4CisjZGVmaW5lIFZCT09TVF9UUktfU1RBVFVTX01BU0sJCTB4NDAwMAorI2RlZmluZSBWQk9PU1RfVFJLX1NUQVRVU19TSElGVAkJMTQKKyNkZWZpbmUgVkJPT1NUX1NUQVRVU19NQVNLCQkJMHg4MDAwCisjZGVmaW5lIFZCT09TVF9TVEFUVVNfU0hJRlQJCQkxNQorICAgICAgICAgICAgICAgICAKKy8vICgweDhBNCkgQk9PU1QgQ09OMQorI2RlZmluZSBWQk9PU1RfSVNOU19DQUxfTUFTSwkJMHgwMDA3CisjZGVmaW5lIFZCT09TVF9JU05TX0NBTF9TSElGVAkJMAorICAgICAgICAgICAgICAgICAKKy8vICgweDhBOCkgQk9PU1QgQ09OMgorI2RlZmluZSBWQk9PU1RfRk9SQ0VPTl9DTEtfTUFTSwkJMHgwMDAxCisjZGVmaW5lIFZCT09TVF9GT1JDRU9OX0NMS19TSElGVAkwCisjZGVmaW5lIFZCT09TVF9ESVNDTEtfTUFTSwkJCTB4MDAwMgorI2RlZmluZSBWQk9PU1RfRElTQ0xLX1NISUZUCQkJMQorI2RlZmluZSBWQk9PU1RfSV9TSU5LX0NVUlJFQ1RfTUFUQ0ggMHgwMDA5CisKKyAgICAgICAgICAgICAgICAgCisvLyAoMHg4QjApIENMQVNTRCBDT04wCisjZGVmaW5lIFNQS19FTl9NQVNLCQkJCQkweDAwMDEKKyNkZWZpbmUgU1BLX0VOX1NISUZUCQkJCTAKKyNkZWZpbmUgU1BLX1JTVF9NQVNLCQkJCTB4MDAwMgorI2RlZmluZSBTUEtfUlNUX1NISUZUCQkJCTEKKyNkZWZpbmUgU1BLX0VNT0RFX01BU0sJCQkJMHgwMDA0CisjZGVmaW5lIFNQS19FTU9ERV9TSElGVAkJCQkyCisjZGVmaW5lIFNQS19NT0RFX01BU0sJCQkJMHgwMDA4CisjZGVmaW5lIFNQS19NT0RFX1NISUZUCQkJCTMKKyNkZWZpbmUgU1BLQUJfRkxPQVRfTUFTSwkJCTB4MDAxMAorI2RlZmluZSBTUEtBQl9GTE9BVF9TSElGVAkJCTQKKyNkZWZpbmUgU1BLQUJfU0VOREVEX01BU0sJCQkweDAwMjAKKyNkZWZpbmUgU1BLQUJfU0VOREVEX1NISUZUCQkJNQorI2RlZmluZSBTUEtBQl9PQ19FTl9NQVNLCQkJMHgwMDQwCisjZGVmaW5lIFNQS0FCX09DX0VOX1NISUZUCQkJNgorI2RlZmluZSBTUEtBQl9ERVBPUF9FTl9NQVNLCQkJMHgwMDgwCisjZGVmaW5lIFNQS0FCX0RFUE9QX0VOX1NISUZUCQk3CisjZGVmaW5lIFNQS0FCX09CSUFTX01BU0sJCQkweDAzMDAKKyNkZWZpbmUgU1BLQUJfT0JJQVNfU0hJRlQJCQk4CisgICAgICAgICAgICAgICAgIAorLy8gKDB4OEI0KSBDTEFTU0QgQ09OMQorI2RlZmluZSBTUEtfRFRJTl9NQVNLCQkJCTB4MDAwRgorI2RlZmluZSBTUEtfRFRJTl9TSElGVAkJCQkwCisjZGVmaW5lIFNQS19EVElQX01BU0sJCQkJMHgwMEYwCisjZGVmaW5lIFNQS19EVElQX1NISUZUCQkJCTQKKyNkZWZpbmUgU1BLX0RUQ05fTUFTSwkJCQkweDBGMDAKKyNkZWZpbmUgU1BLX0RUQ05fU0hJRlQJCQkJOAorI2RlZmluZSBTUEtfRFRDUF9NQVNLCQkJCTB4RjAwMAorI2RlZmluZSBTUEtfRFRDUF9TSElGVAkJCQkxMgorICAgICAgICAgICAgICAgICAKKy8vICgweDhCOCkgQ0xBU1NEIENPTjIKKyNkZWZpbmUgU1BLX0RNT0RFX01BU0sJCQkJMHgwMDAzCisjZGVmaW5lIFNQS19ETU9ERV9TSElGVAkJCQkwCisjZGVmaW5lIFNQS19QQ0hHX01BU0sJCQkJMHgwMDBDCisjZGVmaW5lIFNQS19QQ0hHX1NISUZUCQkJCTIKKyNkZWZpbmUgU1BLX0RUQ0FMX01BU0sJCQkJMHgwMDEwCisjZGVmaW5lIFNQS19EVENBTF9TSElGVAkJCQk0CisjZGVmaW5lIFNQS19QTU9ERV9NQVNLCQkJCTB4MDAyMAorI2RlZmluZSBTUEtfUE1PREVfU0hJRlQJCQkJNQorI2RlZmluZSBTUEtfQ01PREVfTUFTSwkJCQkweDAwQzAKKyNkZWZpbmUgU1BLX0NNT0RFX1NISUZUCQkJCTYKKyNkZWZpbmUgU1BLX0NDT0RFX01BU0sJCQkJMHgwRjAwCisjZGVmaW5lIFNQS19DQ09ERV9TSElGVAkJCQk4CisgICAgICAgICAgICAgICAgIAorLy8gKDB4OEJDKSBDTEFTU0QgQ09OMworI2RlZmluZSBTUEtfRU5fVklFV19DTEtfTUFTSwkJMHgwMDAxCisjZGVmaW5lIFNQS19FTl9WSUVXX0NMS19TSElGVAkJMAorI2RlZmluZSBTUEtfRU5fVklFV19WUkVGX01BU0sJCTB4MDAwMgorI2RlZmluZSBTUEtfRU5fVklFV19WUkVGX1NISUZUCQkxCisjZGVmaW5lIFNQS19TTEVXX01BU0sJCQkJMHgwMDBDCisjZGVmaW5lIFNQS19TTEVXX1NISUZUCQkJCTIKKyNkZWZpbmUgU1BLX09DX0VOX01BU0sJCQkJMHgwMDEwCisjZGVmaW5lIFNQS19PQ19FTl9TSElGVAkJCQk0CisjZGVmaW5lIFNQS19PU0NJU0VMX01BU0sJCQkweDAwMjAKKyNkZWZpbmUgU1BLX09TQ0lTRUxfU0hJRlQJCQk1CisjZGVmaW5lIFNQS19WT0xfTUFTSwkJCQkweDA3MDAKKyNkZWZpbmUgU1BLX1ZPTF9TSElGVAkJCQk4CisKKy8vICgweDhDOCkgVEVTVCBDT04yCisjZGVmaW5lIEFEQ19UTVJfTUFTSwkJCQkweDAwMjAKKyNkZWZpbmUgQURDX1RNUl9TSElGVAkJCQk1CisjZGVmaW5lIEFEQ19WQkFUX09VVF9FTl9NQVNLCQkweDAwNDAKKyNkZWZpbmUgQURDX1ZCQVRfT1VUX0VOX1NISUZUCQk2CisjZGVmaW5lIEFEQ19JU0VOU0VfT1VUX0VOX01BU0sJCTB4MDA4MAorI2RlZmluZSBBRENfSVNFTlNFX09VVF9FTl9TSElGVAkJNworICAgICAgICAgICAgICAgICAKKy8vICgweDhEMCkgT0MgQ09OMAorI2RlZmluZSBWUkZfT0NfR0VBUl9NQVNLCQkJMHgwMDAzCisjZGVmaW5lIFZSRl9PQ19HRUFSX1NISUZUCQkJMAorI2RlZmluZSBWUkZfT0NfQVVUT19PRkZfTUFTSwkJMHgwMDA0CisjZGVmaW5lIFZSRl9PQ19BVVRPX09GRl9TSElGVAkJMgorI2RlZmluZSBWUkZfT0NfSU5UX0VOX01BU0sJCQkweDAwMDgKKyNkZWZpbmUgVlJGX09DX0lOVF9FTl9TSElGVAkJCTMKKyNkZWZpbmUgVklPX09DX0dFQVJfTUFTSwkJCTB4MDAzMAorI2RlZmluZSBWSU9fT0NfR0VBUl9TSElGVAkJCTQKKyNkZWZpbmUgVklPX09DX0FVVE9fT0ZGX01BU0sJCTB4MDA0MAorI2RlZmluZSBWSU9fT0NfQVVUT19PRkZfU0hJRlQJCTYKKyNkZWZpbmUgVklPX09DX0lOVF9FTl9NQVNLCQkJMHgwMDgwCisjZGVmaW5lIFZJT19PQ19JTlRfRU5fU0hJRlQJCQk3CisjZGVmaW5lIFZNX09DX0dFQVJfTUFTSwkJCQkweDAzMDAKKyNkZWZpbmUgVk1fT0NfR0VBUl9TSElGVAkJCTgKKyNkZWZpbmUgVk1fT0NfQVVUT19PRkZfTUFTSwkJCTB4MDQwMAorI2RlZmluZSBWTV9PQ19BVVRPX09GRl9TSElGVAkJMTAKKyNkZWZpbmUgVk1fT0NfSU5UX0VOX01BU0sJCQkweDA4MDAKKyNkZWZpbmUgVk1fT0NfSU5UX0VOX1NISUZUCQkJMTEKKyNkZWZpbmUgVkFfT0NfR0VBUl9NQVNLCQkJCTB4MzAwMAorI2RlZmluZSBWQV9PQ19HRUFSX1NISUZUCQkJMTIKKyNkZWZpbmUgVkFfT0NfQVVUT19PRkZfTUFTSwkJCTB4NDAwMAorI2RlZmluZSBWQV9PQ19BVVRPX09GRl9TSElGVAkJMTQKKyNkZWZpbmUgVkFfT0NfSU5UX0VOX01BU0sJCQkweDgwMDAKKyNkZWZpbmUgVkFfT0NfSU5UX0VOX1NISUZUCQkJMTUKKyAgICAgICAgICAgICAgICAgCisvLyAoMHg4RDQpIE9DIENPTjEKKyNkZWZpbmUgVlRDWE9fT0NfR0VBUl9NQVNLCQkJCTB4MzAwMAorI2RlZmluZSBWVENYT19PQ19HRUFSX1NISUZUCQkJCTEyCisjZGVmaW5lIFZUQ1hPX09DX0FVVE9fT0ZGX01BU0sJCQkweDQwMDAKKyNkZWZpbmUgVlRDWE9fT0NfQVVUT19PRkZfU0hJRlQJCQkxNAorI2RlZmluZSBWVENYT19PQ19JTlRfRU5fTUFTSwkJCTB4ODAwMAorI2RlZmluZSBWVENYT19PQ19JTlRfRU5fU0hJRlQJCQkxNQorICAgICAgICAgICAgICAgICAKKy8vICgweDhEOCkgT0MgQ09OMgorI2RlZmluZSBWQlRfT0NfR0VBUl9NQVNLCQkJMHgwMDAzCisjZGVmaW5lIFZCVF9PQ19HRUFSX1NISUZUCQkJMAorI2RlZmluZSBWQlRfT0NfQVVUT19PRkZfTUFTSwkJMHgwMDA0CisjZGVmaW5lIFZCVF9PQ19BVVRPX09GRl9TSElGVAkJMgorI2RlZmluZSBWQlRfT0NfSU5UX0VOX01BU0sJCQkweDAwMDgKKyNkZWZpbmUgVkJUX09DX0lOVF9FTl9TSElGVAkJCTMKKyNkZWZpbmUgVlVTQl9PQ19HRUFSX01BU0sJCQkweDAwMzAKKyNkZWZpbmUgVlVTQl9PQ19HRUFSX1NISUZUCQkJNAorI2RlZmluZSBWVVNCX09DX0FVVE9fT0ZGX01BU0sJCTB4MDA0MAorI2RlZmluZSBWVVNCX09DX0FVVE9fT0ZGX1NISUZUCQk2CisjZGVmaW5lIFZVU0JfT0NfSU5UX0VOX01BU0sJCQkweDAwODAKKyNkZWZpbmUgVlVTQl9PQ19JTlRfRU5fU0hJRlQJCQk3CisjZGVmaW5lIFZDQU1EX09DX0dFQVJfTUFTSwkJCQkweDAzMDAKKyNkZWZpbmUgVkNBTURfT0NfR0VBUl9TSElGVAkJCTgKKyNkZWZpbmUgVkNBTURfT0NfQVVUT19PRkZfTUFTSwkJCTB4MDQwMAorI2RlZmluZSBWQ0FNRF9PQ19BVVRPX09GRl9TSElGVAkJMTAKKyNkZWZpbmUgVkNBTURfT0NfSU5UX0VOX01BU0sJCQkweDA4MDAKKyNkZWZpbmUgVkNBTURfT0NfSU5UX0VOX1NISUZUCQkJMTEKKyNkZWZpbmUgVkNBTUFfT0NfR0VBUl9NQVNLCQkJCTB4MzAwMAorI2RlZmluZSBWQ0FNQV9PQ19HRUFSX1NISUZUCQkJMTIKKyNkZWZpbmUgVkNBTUFfT0NfQVVUT19PRkZfTUFTSwkJCTB4NDAwMAorI2RlZmluZSBWQ0FNQV9PQ19BVVRPX09GRl9TSElGVAkJMTQKKyNkZWZpbmUgVkNBTUFfT0NfSU5UX0VOX01BU0sJCQkweDgwMDAKKyNkZWZpbmUgVkNBTUFfT0NfSU5UX0VOX1NISUZUCQkJMTUKKworLy8gKDB4OERDKSBPQyBDT04zCisjZGVmaW5lIFZTUEtfT0NfR0VBUl9NQVNLCQkJMHgwMDAzCisjZGVmaW5lIFZTUEtfT0NfR0VBUl9TSElGVAkJCTAKKyNkZWZpbmUgVlNQS19PQ19BVVRPX09GRl9NQVNLCQkweDAwMDQKKyNkZWZpbmUgVlNQS19PQ19BVVRPX09GRl9TSElGVAkJMgorI2RlZmluZSBWU1BLX09DX0lOVF9FTl9NQVNLCQkJMHgwMDA4CisjZGVmaW5lIFZTUEtfT0NfSU5UX0VOX1NISUZUCQkJMworI2RlZmluZSBWSUJSX09DX0dFQVJfTUFTSwkJCTB4MDAzMAorI2RlZmluZSBWSUJSX09DX0dFQVJfU0hJRlQJCQk0CisjZGVmaW5lIFZJQlJfT0NfQVVUT19PRkZfTUFTSwkJMHgwMDQwCisjZGVmaW5lIFZJQlJfT0NfQVVUT19PRkZfU0hJRlQJCTYKKyNkZWZpbmUgVklCUl9PQ19JTlRfRU5fTUFTSwkJCTB4MDA4MAorI2RlZmluZSBWSUJSX09DX0lOVF9FTl9TSElGVAkJCTcKKyNkZWZpbmUgVkJPT1NUX09DX0dFQVJfTUFTSwkJCQkweDAzMDAKKyNkZWZpbmUgVkJPT1NUX09DX0dFQVJfU0hJRlQJCQk4CisjZGVmaW5lIFZCT09TVF9PQ19BVVRPX09GRl9NQVNLCQkJMHgwNDAwCisjZGVmaW5lIFZCT09TVF9PQ19BVVRPX09GRl9TSElGVAkJMTAKKyNkZWZpbmUgVkJPT1NUX09DX0lOVF9FTl9NQVNLCQkJMHgwODAwCisjZGVmaW5lIFZCT09TVF9PQ19JTlRfRU5fU0hJRlQJCQkxMQorI2RlZmluZSBWU0lNX09DX0dFQVJfTUFTSwkJCQkweDMwMDAKKyNkZWZpbmUgVlNJTV9PQ19HRUFSX1NISUZUCQkJMTIKKyNkZWZpbmUgVlNJTV9PQ19BVVRPX09GRl9NQVNLCQkJMHg0MDAwCisjZGVmaW5lIFZTSU1fT0NfQVVUT19PRkZfU0hJRlQJCTE0CisjZGVmaW5lIFZTSU1fT0NfSU5UX0VOX01BU0sJCQkweDgwMDAKKyNkZWZpbmUgVlNJTV9PQ19JTlRfRU5fU0hJRlQJCQkxNQorCisvLyAoMHg4RTApIE9DIENPTjQKKyNkZWZpbmUgVklCUl9TVEJURF9NQVNLCQkJCTB4MDAwMworI2RlZmluZSBWSUJSX1NUQlREX1NISUZUCQkJMAorI2RlZmluZSBWU0lNX1NUQlREX01BU0sJCQkJMHgwMDBDCisjZGVmaW5lIFZTSU1fU1RCVERfU0hJRlQJCQkyCisjZGVmaW5lIFZCVF9TVEJURF9NQVNLCQkJCTB4MDAzMAorI2RlZmluZSBWQlRfU1RCVERfU0hJRlQJCQkJNAorI2RlZmluZSBWVVNCX1NUQlREX01BU0sJCQkJMHgwMEMwCisjZGVmaW5lIFZVU0JfU1RCVERfU0hJRlQJCQk2CisjZGVmaW5lIFZDQU1EX1NUQlREX01BU0sJCQkweDAzMDAKKyNkZWZpbmUgVkNBTURfU1RCVERfU0hJRlQJCQk4CisjZGVmaW5lIFZDQU1BX1NUQlREX01BU0sJCQkweDBDMDAKKyNkZWZpbmUgVkNBTUFfU1RCVERfU0hJRlQJCQkxMAorCisvLyAoMHg4RTQpIE9DIENPTjUKKyNkZWZpbmUgU1BLX09DX0ZMQUdfTUFTSwkJCTB4MDAwMQorI2RlZmluZSBTUEtfT0NfRkxBR19TSElGVAkJCTAKKyNkZWZpbmUgVklCUl9PQ19GTEFHX01BU0sJCQkweDAwMDIKKyNkZWZpbmUgVklCUl9PQ19GTEFHX1NISUZUCQkJMQorI2RlZmluZSBWQk9PU1RfT0NfRkxBR19NQVNLCQkJMHgwMDA0CisjZGVmaW5lIFZCT09TVF9PQ19GTEFHX1NISUZUCQkyCisjZGVmaW5lIFZTSU1fT0NfRkxBR19NQVNLCQkJMHgwMDA4CisjZGVmaW5lIFZTSU1fT0NfRkxBR19TSElGVAkJCTMKKyNkZWZpbmUgVkJUX09DX0ZMQUdfTUFTSwkJCTB4MDAxMAorI2RlZmluZSBWQlRfT0NfRkxBR19TSElGVAkJCTQKKyNkZWZpbmUgVlVTQl9PQ19GTEFHX01BU0sJCQkweDAwMjAKKyNkZWZpbmUgVlVTQl9PQ19GTEFHX1NISUZUCQkJNQorI2RlZmluZSBWQ0FNRF9PQ19GTEFHX01BU0sJCQkweDAwNDAKKyNkZWZpbmUgVkNBTURfT0NfRkxBR19TSElGVAkJCTYKKyNkZWZpbmUgVkNBTUFfT0NfRkxBR19NQVNLCQkJMHgwMDgwCisjZGVmaW5lIFZDQU1BX09DX0ZMQUdfU0hJRlQJCQk3CisjZGVmaW5lIFZUQ1hPX09DX0ZMQUdfTUFTSwkJCTB4MDgwMAorI2RlZmluZSBWVENYT19PQ19GTEFHX1NISUZUCQkJMTEKKyNkZWZpbmUgVlJGX09DX0ZMQUdfTUFTSwkJCTB4MTAwMAorI2RlZmluZSBWUkZfT0NfRkxBR19TSElGVAkJCTEyCisjZGVmaW5lIFZJT19PQ19GTEFHX01BU0sJCQkweDIwMDAKKyNkZWZpbmUgVklPX09DX0ZMQUdfU0hJRlQJCQkxMworI2RlZmluZSBWTV9PQ19GTEFHX01BU0sJCQkJMHg0MDAwCisjZGVmaW5lIFZNX09DX0ZMQUdfU0hJRlQJCQkxNAorI2RlZmluZSBWQV9PQ19GTEFHX01BU0sJCQkJMHg4MDAwCisjZGVmaW5lIFZBX09DX0ZMQUdfU0hJRlQJCQkxNQorCisKKy8vICgweDhGMCkgQ0hSIENPTjQKKworLy8gKDB4OEY0KSBDSFIgQ09ONQorCisjZW5kaWYgLy8gI2lmIGRlZmluZWQoUE1JQ182MjUzX1JFR19BUEkpCisKKworI2VuZGlmIC8vICNpZm5kZWYgX19EQ0xfUE1JQzYyNTNfSFdfSF9TVFJVQ1RfXworCisKKworCmRpZmYgLS1naXQgYS9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL2RjbF9wbXU2MjUzX3N3LmggYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL2RjbF9wbXU2MjUzX3N3LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWU4MzNmZAotLS0gL2Rldi9udWxsCisrKyBiL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvZGNsX3BtdTYyNTNfc3cuaApAQCAtMCwwICsxLDc5OCBAQAorCisKKworI2lmbmRlZiBfX0RDTF9QTVU2MjUzX1NXX0hfU1RSVUNUX18KKyNkZWZpbmUgX19EQ0xfUE1VNjI1M19TV19IX1NUUlVDVF9fCisKKyNpbmNsdWRlICJkY2xfcG1pY19mZWF0dXJlcy5oIgorCisjaWYgZGVmaW5lZChQTUlDXzYyNTNfUkVHX0FQSSkKKworLyogQ2hhcmdlciBleHRlcm5hbCBpbnRlcnJ1cHQgaXMgZml4ZWQuICovCisKKyNkZWZpbmUgUE1VX0NIUl9FSU5UX1BJTiAgICAgIDcKKworCisvKiBhZGMgbnVtYmVyIGZvciBtZWFzdXJpbmcgVkJBVC9WSVNFTlNFL1ZDSEFSR0VSIGlzIGZpeGVkIGludGVybmFsbHkuICovCisjaWYgZGVmaW5lZChQTUlDXzYyNTNfUkVHX0FQSSkKKyNpZiBkZWZpbmVkKERSVl9NSVNDX1BNVV9BRENfQ0hBTk5FTF9GUk9NXzApCisjZGVmaW5lIFBNVV9BRENfVkJBVF9DSF9OVU0gICAgICAwCisjZGVmaW5lIFBNVV9BRENfVklTRU5TRV9DSF9OVU0gICAxCisjZGVmaW5lIFBNVV9BRENfVkNIQVJHRVJfQ0hfTlVNICAyCisjZWxzZSAvLyAjaWYgZGVmaW5lZChEUlZfTUlTQ19QTVVfQURDX0NIQU5ORUxfRlJPTV8wKQorI2RlZmluZSBQTVVfQURDX1ZCQVRfQ0hfTlVNICAgICAgMworI2RlZmluZSBQTVVfQURDX1ZJU0VOU0VfQ0hfTlVNICAgNAorI2RlZmluZSBQTVVfQURDX1ZDSEFSR0VSX0NIX05VTSAgNQorI2VuZGlmIC8vICNpZiBkZWZpbmVkKERSVl9NSVNDX1BNVV9BRENfQ0hBTk5FTF9GUk9NXzApCisjZW5kaWYgLy8gI2VsaWYgZGVmaW5lZChQTUlDXzYyNTNfUkVHX0FQSSkKKworLyogYWRjIGZhY3RvciBmb3IgVkJBVC9WSVNFTlNFL1ZDSEFSR0VSICovCisjZGVmaW5lIFBNVV9BRENfRkFDVE9SX1ZCQVQgICAgICAxMDAKKyNkZWZpbmUgUE1VX0FEQ19GQUNUT1JfVklTRU5TRSAgIDEwMAorI2RlZmluZSBQTVVfQURDX0ZBQ1RPUl9WQ0hBUkdFUiAgMjUwCisKKworLy8gRGVmaW5lIHRvIGVuYWJsZSBQTVU2MjUzIGNoYXJnZXIgd2F0Y2ggZG9nIHRpbWVyIGtpY2sKKy8vIFdoZW4gZW5hYmxlIGNoYXJnZXIsIFBNVTYyNTMgd2lsbCBlbmFibGUgYSB3YXRjaCBkb2cgdGltZXIKKy8vIFdlIG5lZWQgdG8ga2ljayB0aGUgdGltZXIgcGVyaW9kaWNhbGx5LCB0byBvbnRpZnkgUE1VNjI1MyB0aGF0IEJCIGlzIGFsaXZlCisvLyBJZiB0aW1lb3V0LCBQTVU2MjUzIHdpbGwgZGlzYWJsZSBjaGFyZ2UgYXV0b21hdGljYWxseQorLy8gIyMjIyBJZiB0aGlzIGlzIE5PVCBlbmFibGVkLCB3ZSB3aWxsIGRpc2FibGUgdGhlIHdhdGNoIGRvZyB0aW1lciBmdW5jdGlvbiBhdCBib290IHRpbWUKKy8vIFRoaXMgc2hvdWxkIGJlIGRlZmluZWQgd2hlbiBQTVUgZHJpdmVyIG5lZWQgdG8gcGVyZm9ybSBXRFQgY2xlYXIgCisvLyBCTVQgYWxyZWFkeSBzdXBwb3J0IGNoYXJnZSBXRFQsIHNvIHRoaXMgc2hvdWxkIGJlIGNvbW1lbnQKKy8vI2RlZmluZSBQTVU2MjUzX0VOQUJMRV9EUklWRVJfQ0hBUkdFX1dEVAorCisKKy8vIERlZmluZSB0byBkaXNhYmxlIGNoYXJnZSBXRFQgb2YgUE1VNjI1MworLy8gRGVmaW5lIG9ubHkgZm9yIGRlYnVnIHB1cnBvc2UKKy8vI2RlZmluZSBERUJVR19ESVNBQkxFX0NIQVJHRV9XRFQKKworCisKKy8vICgweDgwMCkgVlJGIENPTgordHlwZWRlZiBlbnVteworCVZSRl9PTl9TRUxfU1JDTEtFTkE9MCwKKwlWUkZfT05fU0VMX1ZSRl9FTgorfXBtdTYyNTNfdnJmX29uX3NlbF9lbnVtOworCit0eXBlZGVmIGVudW17CisJVkRfU0VOU0VfRlJPTV9MT0NBTF9WT0xUQUdFPTAsCisJVkRfU0VOU0VfRlJPTV9SRU1PVEVfVk9MVEFHRQorfXBtdTYyNTNfdmRfc2Vuc2VfZW51bTsKKworLy8gKDB4ODEwKSBWVENYTyBDT04KK3R5cGVkZWYgZW51bXsKKwlWVENYT19PTl9TRUxfU1JDTEtFTkE9MCwKKwlWVENYT19PTl9TRUxfVlRDWE9fRU4KK31wbXU2MjUzX3Z0Y3hvX29uX3NlbF9lbnVtOworCisvLyAoMHg4MTQpIFZBIENPTgordHlwZWRlZiBlbnVteworCVZBX09OX1NFTF9BTFdBWVNfT04gPSAwLAorCVZBX09OX1NFTF9TUkNMS0VOQQorfXBtdTYyNTNfdmFfb25fc2VsX2VudW07CisKKy8vICgweDgxOCkgVlNJTSBDT04KK3R5cGVkZWYgZW51bXsKKwlQTVU2MjUzX1ZTSU1fMV84ViA9IDAsCisJUE1VNjI1M19WU0lNXzNfMFYKK31wbXU2MjUzX3ZzaW1fc2VsX2VudW07CisKKyNpZiBkZWZpbmVkKF9fRFJWX1BNVTUzX1NQRUNfVjFfXykKKworLy8gKDB4ODI0KSBWQlQgQ09OID09PiBWQlQgbW92ZSB0byAweDg5MAordHlwZWRlZiBlbnVteworCVZCVF9TRUxfMl84ViA9IDAsCisJVkJUX1NFTF8zXzBWCit9cG11NjI1M192YnRfc2VsX2VudW07CisKKyNlbHNlIC8vICNpZiBkZWZpbmVkKF9fRFJWX1BNVTUzX1NQRUNfVjFfXykKKworLy8gKDB4ODkwKSBWQlQgQ09OCit0eXBlZGVmIGVudW17CisJVkJUX1NFTF8xXzVWID0gMCwKKwlWQlRfU0VMXzFfOFYsCisJVkJUX1NFTF8yXzVWLAorCVZCVF9TRUxfM18wVgorfXBtdTYyNTNfdmJ0X3NlbF9lbnVtOworCisjZW5kaWYgLy8gI2lmIGRlZmluZWQoX19EUlZfUE1VNTNfU1BFQ19WMV9fKQorCisvLyAoMHg4MjgpIFZDQU1EIENPTgordHlwZWRlZiBlbnVteworCVZDQU1EX1NFTF8xXzNWID0gMCwKKwlWQ0FNRF9TRUxfMV81ViwKKwlWQ0FNRF9TRUxfMV84ViwKKwlWQ0FNRF9TRUxfMl84VgorfXBtdTYyNTNfdmNhbWRfc2VsX2VudW07CisKKy8vICgweDgyQykgVkNBTUEgQ09OCit0eXBlZGVmIGVudW17CisJVkNBTUFfU0VMXzFfNVYgPSAwLAorCVZDQU1BX1NFTF8xXzhWLAorCVZDQU1BX1NFTF8yXzVWLAorCVZDQU1BX1NFTF8yXzhWCit9cG11NjI1M192Y2FtYV9zZWxfZW51bTsKKworLy8gKDB4ODM0KSBHUElPIENPTgordHlwZWRlZiBlbnVteworCUdQSU9fRFJWXzhfTUE9MCwKKwlHUElPX0RSVl80X01BCit9cG11NjI1M19ncGlvX2Rydl9zZWxfZW51bTsKKworLy8gKDB4ODQ0KSBWQ09SRSBDT04xCit0eXBlZGVmIGVudW17CisJVkNPUkVfTU9ERVNFVF9QV00gPSAwLAorCVZDT1JFX01PREVTRVRfUEZNCit9cG11NjI1M192Y29yZV9tb2Rlc2V0X2VudW07CisKK3R5cGVkZWYgZW51bXsKKwlWQ09SRV9BRENfSU5fTkVHQVRJVkVfRURHRSA9IDAsCisJVkNPUkVfQURDX0lOX1BPU0lUSVZFX0VER0UKK31wbXU2MjUzX3Zjb3JlX2FkY19pbl9lbnVtOworCit0eXBlZGVmIGVudW17CisJVkNPUkVfMjZNSFpfRElWSURFRF9CWV8zMiA9IDAsCisJVkNPUkVfMjZNSFpfRElWSURFRF9CWV8xNgorfXBtdTYyNTNfdmNvcmVfZmFzdF9zbG93X2VudW07CisKK3R5cGVkZWYgZW51bXsKKwlWQ09SRV9QV01CXzNfQklUUyA9IDAsCisJVkNPUkVfUFdNQl80X0JJVFMKK31wbXVfNjI1M192Y29yZV9wd21iX2VudW07CisKKy8vICgweDg0OCkgVkNPUkUgQ09OMgordHlwZWRlZiBlbnVteworCVZDT1JFX1ZPTFNFTF8xXzRWX1RPXzJfMlYgPSAwLAorCVZDT1JFX1ZPTFNFTF8wXzhWX1RPXzFfNlYKK31wbXU2MjUzX3Zjb3JlX3ZvbHNlbF9lbnVtOworCisvLyAoMHg4NEMpIFZDT1JFIENPTjMKK3R5cGVkZWYgZW51bXsKKwlWQ09SRV9WRkJBREpfMF84NVYgPSAwLAorCVZDT1JFX1ZGQkFESl8wXzkwViwKKwlWQ09SRV9WRkJBREpfMF85NVYsCisJVkNPUkVfVkZCQURKXzFfMDBWLAorCVZDT1JFX1ZGQkFESl8xXzA1ViwKKwlWQ09SRV9WRkJBREpfMV8xMFYsCisJVkNPUkVfVkZCQURKXzFfMTVWLAorCVZDT1JFX1ZGQkFESl8xXzIwViwKKwlWQ09SRV9WRkJBREpfMV8yNVYsCisJVkNPUkVfVkZCQURKXzFfMzBWLAorCVZDT1JFX1ZGQkFESl8xXzM1ViwKKwlWQ09SRV9WRkJBREpfMV80MFYsCisJVkNPUkVfVkZCQURKXzFfNDVWLAorCVZDT1JFX1ZGQkFESl8xXzUwViwKKwlWQ09SRV9WRkJBREpfMV81NVYsCisJVkNPUkVfVkZCQURKXzFfNjBWCit9cG11NjI1M192Y29yZV92ZmJhZGpfZW51bTsKKwordHlwZWRlZiBlbnVteworCVZDT1JFX0RJUkVDVF9DVFJMX0RWRlMgPSAwLAorCVZDT1JFX0RJUkVDVF9DVFJMX0RJUkVDVF9GRUVEX1RIUk9VR0gKK31wbXU2MjUzX3Zjb3JlX2RpcmVjdF9jdHJsX2VudW07CisKK3R5cGVkZWYgZW51bXsKKwlWQ09SRV9EQ1ZDTEtTRUxfSU5URVJOQUwgPSAwLAorCVZDT1JFX0RDVkNMS1NFTF9FWFRFUk5BTAorfXBtdTYyNTNfdmNvcmVfZGN2Y2xrc2VsX2VudW07CisKK3R5cGVkZWYgZW51bXsKKwlWQ09SRV9NT0RFRU5fTUFOVUFMX0NIQU5HRV9NT0RFID0gMCwKKwlWQ09SRV9NT0RFRU5fTUFOVUFMX0FVVE9fQ0hBTkdFX01PREUsCisJVkNPUkVfTU9ERUVOX01BTlVBTF9TV19DSEFOR0VfTU9ERQorfXBtdTYyNTNfdmNvcmVfbW9kZWVuX2VudW07CisKK3R5cGVkZWYgZW51bXsKKwlWQ09SRV9NT0RFQ01QX0xPV19PRkZTRVQgPSAwLAorCVZDT1JFX01PREVDTVBfQVVUT19aRVJPCit9cG11NjI1M192Y29yZV9tb2RlY21wX2VudW07CisKK3R5cGVkZWYgZW51bXsKKwlWQ09SRV9NT0RFU0VMMUFfTkNEX01PREUgPSAwLAorCVZDT1JFX01PREVTRUwxQV9BVkdfQ1VSUkVOVF9NT0RFCit9cG11NjI1M192Y29yZV9tb2Rlc2VsMWFfZW51bTsKKwordHlwZWRlZiBlbnVteworCVZDT1JFX0NMS19TT1VSQ0VfRlJPTV9DTEtTUSA9IDAsCisJVkNPUkVfQ0xLX1NPVVJDRV9GUk9NX1RDWE8yNk1fQ0sKK31wbXU2MjUzX3Zjb3JlX2Nsa19zb3VyY2VfZW51bTsKKworLy8gKDB4ODYwKSBTVEFSVFVQIENPTjAKK3R5cGVkZWYgZW51bXsKKwlVVl9TRUxfMl85MFYgPSAwLAorCVVWX1NFTF8yXzc1ViwKKwlVVl9TRUxfMl82MFYsCisJVUxfU0VMX0ZPTExPV19ERExPCit9cG11NjI1M191dl9zZWxfZW51bTsKKwordHlwZWRlZiBlbnVteworCVBXUktFWV9MT1cgPSAwLAorCVBXUktFWV9ISUdICit9cG11NjI1M19wd3JrZXlfc2lnbmFsX2VudW07CisKKy8vICgweDg2NCkgU1RBUlRVUCBDT04xCit0eXBlZGVmIGVudW17CisJVEhSX0lOSVRfU0VUVElORyA9IDAsCisJVEhSX1BMVVNfMTBfREVHUkVFX0MsCisJVEhSX01JTlVTXzIwX0RFR1JFRV9DLAorCVRIUl9NSU5VU18xMF9ERUdSRUVfQworfXBtdTYyNTNfdGhyX3NlbF9udW07CisKKy8vICgweDg3MCkgQ0hSIENPTjAKK3R5cGVkZWYgZW51bXsKKwlDSE9GU1RfUExVU18wX1NURVAgPSAwLAorCUNIT0ZTVF9QTFVTXzFfU1RFUCA9IDEsCisJQ0hPRlNUX1BMVVNfMl9TVEVQID0gMiwKKwlDSE9GU1RfTUlOVVNfMl9TVEVQID0gNiwKKwlDSE9GU1RfTUlOVVNfMV9TVEVQID0gNworfXBtdTYyNTNfY2hvZnN0X2VudW07CisKK3R5cGVkZWYgZW51bXsKKwlDSFJfQ1VSUl81MF8wTUEgPSAwLAorCUNIUl9DVVJSXzg3XzVNQSwKKwlDSFJfQ1VSUl8xNTBfME1BLAorCUNIUl9DVVJSXzIyNV8wTUEsCisJQ0hSX0NVUlJfMzAwXzBNQSwKKwlDSFJfQ1VSUl80NTBfME1BLAorCUNIUl9DVVJSXzY1MF8wTUEsCisJQ0hSX0NVUlJfODAwXzBNQQorfXBtdTYyNTNfY2hyX2N1cnJlbnRfZW51bTsKKwordHlwZWRlZiBlbnVteworCUNWX1RVTkVfMV8yMDBWID0gMCwKKwlDVl9UVU5FXzFfMjA1ViwKKwlDVl9UVU5FXzFfMjEwViwKKwlDVl9UVU5FXzFfMjE1ViwKKwlDVl9UVU5FXzFfMTgwViwKKwlDVl9UVU5FXzFfMTg1ViwKKwlDVl9UVU5FXzFfMTkwViwKKwlDVl9UVU5FXzFfMTk1VgorfXBtdTYyNTNfY3ZfdHVuZV9lbnVtOworCisvLyAoMHg4NzQpIENIUiBDT04xCit0eXBlZGVmIGVudW17CisJQ0FMX1BSRUNDXzUwXzBNQSA9IDAsCisJQ0FMX1BSRUNDXzg3XzVfTUEsCisJQ0FMX1BSRUNDXzE1MF8wTUEsCisJQ0FMX1BSRUNDXzIyNV8wTUEKK31wbXU2MjUzX2NhbF9wcmVjY19lbnVtOworCit0eXBlZGVmIGVudW17CisJU1lTVEVNX1BXUl9TUkNfREVGQVVMVCA9IDAsCisJU1lTVEVNX1BXUl9TUkNfUkVGRVJfUFNfU0VUCit9cG11NjI1M19wc19zZWxfZW51bTsKKwordHlwZWRlZiBlbnVteworCVNZU1RFTV9QV1JfU1JDX1ZCQVQgPSAwLAorCVNZU1RFTV9QV1JfU1JDX0FDCit9cG11NjI1M19wc19zZXRfZW51bTsKKwordHlwZWRlZiBlbnVteworCUNIUl9PVl81XzVWID0gMCwKKwlDSFJfT1ZfNl8wViwKKwlDSFJfT1ZfNl81ViwKKwlDSFJfT1ZfN18wVgorfXBtdTYyNTNfY2hyX292X2VudW07CisKKy8vICgweDg3QykgQ0hSIENPTjMKK3R5cGVkZWYgZW51bXsKKwlDSFJfV0RUXzRfU0VDID0gMCwKKwlDSFJfV0RUXzhfU0VDLAorCUNIUl9XRFRfMTZfU0VDLAorCUNIUl9XRFRfMzJfU0VDCit9cG11NjI1M19jaHJfd2R0X3RkX2VudW07CisKKy8vICgweDg4MCkgRFJJVkVSIENPTjAKK3R5cGVkZWYgZW51bXsKKwlLUExFRF9XTEVEID0gMCwKKwlLUExFRF9STEVECit9cG11NjI1M19rcGxlZF90eXBlX2VudW07CisKKwordHlwZWRlZiBlbnVteworCUxFRF8xX1NFVCA9IDEsCisJTEVEXzRfV0xFRF80X1JMRUQgPSAzLAorCUxFRF80X1dMRURfOF9STEVEID0gNworfXBtdTYyNTNfa3BsZWRfc2VsX2VudW07CisKK3R5cGVkZWYgZW51bXsKKwlJU0lOSzFfVFVSTl9PTiA9IDEsCQkvLyBCaXQgMAorCUlTSU5LMl9UVVJOX09OID0gMiwJCS8vIEJpdCAxCisJSVNJTkszX1RVUk5fT04gPSA0LAkJLy8gQml0IDIKKwlJU0lOSzRfVFVSTl9PTiA9IDgsCQkvLyBCaXQgMworCUlTSU5LQUxMX1RVUk5fT04gPSAweEYgIC8vIDB4RiAoQml0WzMuLjBdKQorfXBtdTYyNTNfaXNpbmtzX2Noc2VsX2VudW07CisKKy8vICgweDg4OCkgRFJJVkVSIENPTjIKK3R5cGVkZWYgZW51bXsKKwlJU0lOS1NfVkxFRF9TVEVQXzVfTUEgPSAwLAorCUlTSU5LU19WTEVEX1NURVBfMTBfTUEsCisJSVNJTktTX1ZMRURfU1RFUF8xNV9NQSwKKwlJU0lOS1NfVkxFRF9TVEVQXzIwX01BCit9cG11NjI1M19pc2lua3NfdmxlZF9lbnVtOworCisjaWYgZGVmaW5lZChfX0RSVl9QTVU1M19TUEVDX1YxX18pCisKKy8vICgweDg5MCkgRFJJVkVSIENPTjQKK3R5cGVkZWYgZW51bXsKKwlWSUJSX1NFTF8xXzVWID0gMCwKKwlWSUJSX1NFTF8xXzhWLAorCVZJQlJfU0VMXzJfNVYsCisJVklCUl9TRUxfM18wVgorfXBtdTYyNTNfdmlicl9zZWxfZW51bTsKKworI2Vsc2UgLy8gI2lmIGRlZmluZWQoX19EUlZfUE1VNTNfU1BFQ19WMV9fKQorCisvLyAoMHg4MjQpIERSSVZFUiBDT040Cit0eXBlZGVmIGVudW17CisJVklCUl9TRUxfMl84ViA9IDAsCisJVklCUl9TRUxfM18wVgorfXBtdTYyNTNfdmlicl9zZWxfZW51bTsKKworI2VuZGlmIC8vICNpZiBkZWZpbmVkKF9fRFJWX1BNVTUzX1NQRUNfVjFfXykKKwordHlwZWRlZiBlbnVteworCVZCT09TVF9TU19TUEVFRF9OT1JNQUwgPSAwLAorCVZCT09TVF9TU19TUEVFRF8yX09WRVJfMworfXBtdTYyNTNfdmJvb3N0X3NzX3NwZWVkX2VudW07CisKKy8vICgweDhCMCkgQ0xBU1NEIENPTjAKK3R5cGVkZWYgZW51bXsKKwlTUEtfRU1PREVfTk9fRVhURU5TSU9OID0gMSwKKwlTUEtfRU1PREVfTEVBRF9FWFRFTlNJT04sCisJU1BLX0VNT0RFX0xBR19FWFRFTlNJT04KK31wbXU2MjUzX3Nwa19lbW9kZV9lbnVtOworCit0eXBlZGVmIGVudW17CisJUE1VNjI1M19TUEtfQ0xBU1NfRF9NT0RFID0gMCwKKwlQTVU2MjUzX1NQS19DTEFTU19BQl9NT0RFCit9cG11NjI1M19zcGtfbW9kZV9lbnVtOworCit0eXBlZGVmIGVudW17CisJU1BLX0FCX0JJQVNfM18yMjVNQSA9IDAsCisJU1BLX0FCX0JJQVNfNl8zODFNQSwKKwlTUEtfQUJfQklBU185XzUzM01BLAorCVNQS19BQl9CSUFTXzEyXzY4NE1BCit9cG11NjI1M19zcGthYl9vYmlhc19lbnVtOworCisvLyAoMHg4QjgpIENMQVNTRCBDT04yCit0eXBlZGVmIGVudW17CisJU1BLX0RNT0RFX0ZCX0ZPUkNFRCA9IDAsCisJU1BLX0RNT0RFX0ZCX0FVVE8sCisJU1BLX0RNT0RFX0ZGX0ZPUkNFRCwKKwlTUEtfRE1PREVfRkZfQVVUTworfXBtdTYyNTNfc3BrX2Rtb2RlX2VudW07CisKK3R5cGVkZWYgZW51bXsKKwlTUEtfUENIR18xMDNfME5TID0gMCwKKwlTUEtfUENIR181NV82N05TLAorCVNQS19QQ0hHXzM5XzA5TlMsCisJU1BLX1BDSEdfMzBfNDdOUworfXBtdTYyNTNfc3BrX3BjaGdfZW51bTsKKwordHlwZWRlZiBlbnVteworCVNQS19TUEtfQ0NPREUgPSAxLAorCVNQS19UUklBTkdMRV9XQVZFID0gMiwKKwlTUEtfUFJOR19XQVZFID0gMworfXBtdTYyNTNfc3BrX2ZyZXFfY3RybF9lbnVtOworCit0eXBlZGVmIGVudW17CisJU1BLX1NMRVdfMl9PVkVSXzQgPSAwLAorCVNQS19TTEVXXzFfT1ZFUl80LAorCVNQS19TTEVXXzRfT1ZFUl80LAorCVNQS19TTEVXXzNfT1ZFUl80Cit9cG11NjI1M19zcGtfc2xld19lbnVtOworCisvLyAoMHg4RDApIE9DIENPTjAKK3R5cGVkZWYgZW51bXsKKwlPQ19HRUFSXzEwMF9VUyA9IDAsCisJT0NfR0VBUl8yMDBfVVMsCisJT0NfR0VBUl80MDBfVVMsCisJT0NfR0VBUl84MDBfVVMKK31wbXU2MjUzX2dlYXJfZW51bTsKKworLy8gKDB4OEUwKSBPQyBDT040Cit0eXBlZGVmIGVudW17CisJU1NfREVMQVlfMjAwVVMgPSAwLAorCVNTX0RFTEFZXzQwMFVTLAorCVNTX0RFTEFZXzYwMFVTLAorCVNTX0RFTEFZXzgwMFVTCit9cG11NjI1M19zb2Z0X3N0YXJ0X2RlbGF5OworCisKKy8vICgweDhFNCkgT0MgQ09ONQordHlwZWRlZiBlbnVteworCVNQS19PQ19GTEFHID0gMHgwMDAxLAorCVZJQlJfT0NfRkxBRyA9IDB4MDAwMiwKKwlWQk9PU1RfT0NfRkxBRyA9IDB4MDAwNCwKKwlWU0lNX09DX0ZMQUcgPSAweDAwMDgsCisJVkJUX09DX0ZMQUcgPSAweDAwMTAsCisJVlVTQl9PQ19GTEFHID0gMHgwMDIwLAorCVZDQU1EX09DX0ZMQUcgPSAweDAwNDAsCisJVkNBTUFfT0NfRkxBRyA9IDB4MDA4MCwKKwlWVENYT19PQ19GTEFHID0gMHgwODAwLAorCVZSRl9PQ19GTEFHID0gMHgxMDAwLAorCVZJT19PQ19GTEFHID0gMHgyMDAwLAorCVZNX09DX0ZMQUcgPSAweDQwMDAsCisJVkFfT0NfRkxBRyA9IDB4ODAwMAorfXBtdTYyNTNfb2NfYml0X2VudW07CisKKworLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLy8gKDB4ODAwKSBWUkYgQ09OCitleHRlcm4gdm9pZCBkY2xfcG11NjI1M192cmZfZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4gdm9pZCBkY2xfcG11NjI1M192cmZfY2FsKGthbF91aW50OCB2YWwpOworZXh0ZXJuIHZvaWQgZGNsX3BtdTYyNTNfdnJmX29uX3NlbChwbXU2MjUzX3ZyZl9vbl9zZWxfZW51bSBzZWwpOworZXh0ZXJuIHZvaWQgZGNsX3BtdTYyNTNfdnJmX29jZmJfZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4ga2FsX2Jvb2wgZGNsX3BtdTYyNTNfdnJmX3N0YXR1cyh2b2lkKTsKKworLy8gKDB4ODA0KSBWSU8gQ09OCitleHRlcm4gdm9pZCBkY2xfcG11NjI1M192aW9fY2FsKGthbF91aW50OCB2YWwpOworZXh0ZXJuIHZvaWQgZGNsX3BtdTYyNTNfdmlvX3ZkX3NlbnNlKHBtdTYyNTNfdmRfc2Vuc2VfZW51bSBzZWwpOworZXh0ZXJuIHZvaWQgZGNsX3BtdTYyNTNfdmlvX29jZmJfZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4ga2FsX2Jvb2wgZGNsX3BtdTYyNTNfdmlvX3N0YXR1cyh2b2lkKTsKKworLy8gKDB4ODA4KSBWTSBDT04KK2V4dGVybiB2b2lkIGRjbF9wbXU2MjUzX3ZtX2NhbChrYWxfdWludDggdmFsKTsKK2V4dGVybiB2b2lkIGRjbF9wbXU2MjUzX3ZtX3ZkX3NlbnNlKHBtdTYyNTNfdmRfc2Vuc2VfZW51bSBzZWwpOworZXh0ZXJuIHZvaWQgZGNsX3BtdTYyNTNfdm1fb2NmYl9lbmFibGUoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiBrYWxfYm9vbCBkY2xfcG11NjI1M192bV9zdGF0dXModm9pZCk7CisKKy8vICgweDgwQykgVlJUQyBDT04KK2V4dGVybiB2b2lkIGRjbF9wbXU2MjUzX3ZydGNfY2FsKGthbF91aW50OCB2YWwpOworZXh0ZXJuIGthbF9ib29sIGRjbF9wbXU2MjUzX3ZydGNfc3RhdHVzKHZvaWQpOworCisvLyAoMHg4MTApIFZUQ1hPIENPTgorZXh0ZXJuIHZvaWQgZGNsX3BtdTYyNTNfdnRjeG9fZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4gdm9pZCBkY2xfcG11NjI1M192dGN4b19jYWwoa2FsX3VpbnQ4IHZhbCk7CitleHRlcm4gdm9pZCBkY2xfcG11NjI1M192dGN4b19vbl9zZWwocG11NjI1M192dGN4b19vbl9zZWxfZW51bSBzZWwpOworZXh0ZXJuIHZvaWQgZGNsX3BtdTYyNTNfdnRjeG9fc3JjbGtlbihrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIHZvaWQgZGNsX3BtdTYyNTNfdnRjeG9fb2NmYl9lbmFibGUoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiBrYWxfYm9vbCBkY2xfcG11NjI1M192dGN4b19zdGF0dXModm9pZCk7CisKKy8vICgweDgxNCkgVkEgQ09OCitleHRlcm4gdm9pZCBkY2xfcG11NjI1M192YV9jYWwoa2FsX3VpbnQ4IHZhbCk7CitleHRlcm4gdm9pZCBkY2xfcG11NjI1M192YV92ZF9zZW5zZShwbXU2MjUzX3ZkX3NlbnNlX2VudW0gc2VsKTsKK2V4dGVybiB2b2lkIGRjbF9wbXU2MjUzX3ZhX29uX3NlbChwbXU2MjUzX3ZhX29uX3NlbF9lbnVtIHNlbCk7CitleHRlcm4gdm9pZCBkY2xfcG11NjI1M192YV9vY2ZiX2VuYWJsZShrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIGthbF9ib29sIGRjbF9wbXU2MjUzX3ZhX3N0YXR1cyh2b2lkKTsKKworLy8gKDB4ODE4KSBWU0lNIENPTgorZXh0ZXJuIHZvaWQgZGNsX3BtdTYyNTNfdnNpbV9lbmFibGUoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiB2b2lkIGRjbF9wbXU2MjUzX3ZzaW1fY2FsKGthbF91aW50OCB2YWwpOworZXh0ZXJuIHZvaWQgZGNsX3BtdTYyNTNfdnNpbV9kYXRhbChrYWxfYm9vbCBwdWxsX2xvdyk7CitleHRlcm4gdm9pZCBkY2xfcG11NjI1M192c2ltX3NlbChwbXU2MjUzX3ZzaW1fc2VsX2VudW0gc2VsKTsKK2V4dGVybiB2b2lkIGRjbF9wbXU2MjUzX3ZzaW1fcHdyX3NhdmluZyhrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIHZvaWQgZGNsX3BtdTYyNTNfdnNpbV9vY2ZiX2VuYWJsZShrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIGthbF9ib29sIGRjbF9wbXU2MjUzX3ZzaW1fc3RhdHVzKHZvaWQpOworCisvLyAoMHg4MUMpIFZTSU0yIENPTgorZXh0ZXJuIHZvaWQgZGNsX3BtdTYyNTNfdnNpbTJfZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4gdm9pZCBkY2xfcG11NjI1M192c2ltMl9jYWwoa2FsX3VpbnQ4IHZhbCk7CitleHRlcm4gdm9pZCBkY2xfcG11NjI1M192c2ltMl9kYXRhbChrYWxfYm9vbCBwdWxsX2xvdyk7CitleHRlcm4gdm9pZCBkY2xfcG11NjI1M192c2ltMl9zZWwocG11NjI1M192c2ltX3NlbF9lbnVtIHNlbCk7CitleHRlcm4ga2FsX2Jvb2wgZGNsX3BtdTYyNTNfdnNpbTJfc3RhdHVzKHZvaWQpOworCisvLyAoMHg4MjApIFZVU0IgQ09OCitleHRlcm4gdm9pZCBkY2xfcG11NjI1M192dXNiX2VuYWJsZShrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIHZvaWQgZGNsX3BtdTYyNTNfdnVzYl9jYWwoa2FsX3VpbnQ4IHZhbCk7CitleHRlcm4gdm9pZCBkY2xfcG11NjI1M192dXNiX29jZmJfZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4ga2FsX2Jvb2wgZGNsX3BtdTYyNTNfdnVzYl9zdGF0dXModm9pZCk7CisKKy8vICgweDgyNCkgVkJUIENPTgorZXh0ZXJuIHZvaWQgZGNsX3BtdTYyNTNfdmJ0X2VuYWJsZShrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIHZvaWQgZGNsX3BtdTYyNTNfdmJ0X2NhbChrYWxfdWludDggdmFsKTsKK2V4dGVybiB2b2lkIGRjbF9wbXU2MjUzX3ZidF9zZWwocG11NjI1M192YnRfc2VsX2VudW0gc2VsKTsKK2V4dGVybiB2b2lkIGRjbF9wbXU2MjUzX3ZidF9vY2ZiX2VuYWJsZShrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIGthbF9ib29sIGRjbF9wbXU2MjUzX3ZidF9zdGF0dXModm9pZCk7CisKKy8vICgweDgyOCkgVkNBTUQgQ09OCitleHRlcm4gdm9pZCBkY2xfcG11NjI1M192Y2FtZF9lbmFibGUoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiB2b2lkIGRjbF9wbXU2MjUzX3ZjYW1kX2NhbChrYWxfdWludDggdmFsKTsKK2V4dGVybiB2b2lkIGRjbF9wbXU2MjUzX3ZjYW1kX3NlbChwbXU2MjUzX3ZjYW1kX3NlbF9lbnVtIHNlbCk7CitleHRlcm4gdm9pZCBkY2xfcG11NjI1M192Y2FtZF9vY2ZiX2VuYWJsZShrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIGthbF9ib29sIGRjbF9wbXU2MjUzX3ZjYW1kX3N0YXR1cyh2b2lkKTsKKworLy8gKDB4ODJDKSBWQ0FNQSBDT04KK2V4dGVybiB2b2lkIGRjbF9wbXU2MjUzX3ZjYW1hX2VuYWJsZShrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIHZvaWQgZGNsX3BtdTYyNTNfdmNhbWFfY2FsKGthbF91aW50OCB2YWwpOworZXh0ZXJuIHZvaWQgZGNsX3BtdTYyNTNfdmNhbWFfc2VsKHBtdTYyNTNfdmNhbWFfc2VsX2VudW0gc2VsKTsKK2V4dGVybiB2b2lkIGRjbF9wbXU2MjUzX3ZjYW1hX29jZmJfZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4ga2FsX2Jvb2wgZGNsX3BtdTYyNTNfdmNhbWFfc3RhdHVzKHZvaWQpOworCisvLyAoMHg4MzQpIEdQSU8gQ09OCitleHRlcm4gdm9pZCBkY2xfcG11NjI1M19ncGlvX2RydihwbXU2MjUzX2dwaW9fZHJ2X3NlbF9lbnVtIHNlbCk7CitleHRlcm4gdm9pZCBkY2xfcG11NjI1M19tdHZfZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CisKKy8vICgweDg0MCkgVkNPUkUgQ09OCitleHRlcm4gdm9pZCBkY2xfcG11NjI1M192Y29yZV9lbl9mb3JjZShrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIHZvaWQgZGNsX3BtdTYyNTNfdmNvcmVfY2FsKGthbF91aW50OCB2YWwpOworZXh0ZXJuIHZvaWQgZGNsX3BtdTYyNTNfdmNvcmVfdmRfc2Vuc2UocG11NjI1M192ZF9zZW5zZV9lbnVtIHNlbCk7CitleHRlcm4ga2FsX2Jvb2wgZGNsX3BtdTYyNTNfdmNvcmVfc3RhdHVzKHZvaWQpOworCisvLyAoMHg4NDQpIFZDT1JFIENPTjEKK2V4dGVybiB2b2lkIGRjbF9wbXU2MjUzX3Zjb3JlX21vZGVzZXQocG11NjI1M192Y29yZV9tb2Rlc2V0X2VudW0gbW9kZSk7CitleHRlcm4gdm9pZCBkY2xfcG11NjI1M192Y29yZV9hZGNfaW5fZWRnZShwbXU2MjUzX3Zjb3JlX2FkY19pbl9lbnVtIGVkZ2UpOworZXh0ZXJuIHZvaWQgZGNsX3BtdTYyNTNfdmNvcmVfZmFzdF9zbG93KHBtdTYyNTNfdmNvcmVfZmFzdF9zbG93X2VudW0gc2VsKTsKK2V4dGVybiB2b2lkIGRjbF9wbXU2MjUzX3Zjb3JlX3B3bWIocG11XzYyNTNfdmNvcmVfcHdtYl9lbnVtIHNlbCk7CitleHRlcm4gdm9pZCBkY2xfcG11NjI1M192Y29yZV9hY2Nfb3V0X2luaXQoa2FsX3VpbnQ4IHZhbCk7CisKKy8vICgweDg0OCkgVkNPUkUgQ09OMgorZXh0ZXJuIHZvaWQgZGNsX3BtdTYyNTNfdmNvcmVfdm9sc2VsKHBtdTYyNTNfdmNvcmVfdm9sc2VsX2VudW0gc2VsKTsKK2V4dGVybiB2b2lkIGRjbF9wbXU2MjUzX3Zjb3JlX2ZiZW4oa2FsX2Jvb2wgZW5hYmxlKTsKKworLy8gKDB4ODRDKSBWQ09SRSBDT04zCitleHRlcm4gdm9pZCBkY2xfcG11NjI1M192Y29yZV92ZmJhZGoocG11NjI1M192Y29yZV92ZmJhZGpfZW51bSBzZWwpOworZXh0ZXJuIHZvaWQgZGNsX3BtdTYyNTNfdmNvcmVfZGlyZWN0X2N0cmxfZW4ocG11NjI1M192Y29yZV9kaXJlY3RfY3RybF9lbnVtIHNlbCk7CitleHRlcm4gdm9pZCBkY2xfcG11NjI1M192Y29yZV9kY3ZjbGtzZWwocG11NjI1M192Y29yZV9kY3ZjbGtzZWxfZW51bSBzZWwpOworZXh0ZXJuIHZvaWQgZGNsX3BtdTYyNTNfdmNvcmVfbW9kZWVuKHBtdTYyNTNfdmNvcmVfbW9kZWVuX2VudW0gc2VsKTsKK2V4dGVybiB2b2lkIGRjbF9wbXU2MjUzX3Zjb3JlX21vZGVjbXAocG11NjI1M192Y29yZV9tb2RlY21wX2VudW0gc2VsKTsKK2V4dGVybiB2b2lkIGRjbF9wbXU2MjUzX3Zjb3JlX21vZGVzZWwxQShwbXU2MjUzX3Zjb3JlX21vZGVzZWwxYV9lbnVtIHNlbCk7CisKKy8vICgweDg1NCkgVkNPUkUgQ09ONQorZXh0ZXJuIHZvaWQgZGNsX3BtdTYyNTNfdmNvcmVfdmZiYWRqX3NscChwbXU2MjUzX3Zjb3JlX3ZmYmFkal9lbnVtIHNlbCk7CitleHRlcm4gdm9pZCBkY2xfcG11NjI1M192Y29yZV9jbGtfc291cmNlX3NlbChwbXU2MjUzX3Zjb3JlX2Nsa19zb3VyY2VfZW51bSBzZWwpOworCisvLyAoMHg4NjApIFNUQVJUVVAgQ09OMAorZXh0ZXJuIHZvaWQgZGNsX3BtdTYyNTNfdXZfc2VsKHBtdTYyNTNfdXZfc2VsX2VudW0gc2VsKTsKK2V4dGVybiB2b2lkIGRjbF9wbXU2MjUzX3B3cmtleV92Y29yZShwbXU2MjUzX3B3cmtleV9zaWduYWxfZW51bSBzZWwpOworZXh0ZXJuIHZvaWQgZGNsX3BtdTYyNTNfcHdya2V5X2RlYihwbXU2MjUzX3B3cmtleV9zaWduYWxfZW51bSBzZWwpOworCisvLyAoMHg4NjQpIFNUQVJUVVAgQ09OMQorZXh0ZXJuIHZvaWQgZGNsX3BtdTYyNTNfdGhyX3NlbChwbXU2MjUzX3Rocl9zZWxfbnVtIHNlbCk7CisKKy8vICgweDg3MCkgQ0hSIENPTjAKK2V4dGVybiB2b2lkIGRjbF9wbXU2MjUzX2Nocl9lbmFibGUoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiB2b2lkIGRjbF9wbXU2MjUzX2Nob2ZzdChwbXU2MjUzX2Nob2ZzdF9lbnVtIHNlbCk7CitleHRlcm4gdm9pZCBkY2xfcG11NjI1M19jaHJfY3VycmVudChwbXU2MjUzX2Nocl9jdXJyZW50X2VudW0gc2VsKTsKK2V4dGVybiBwbXU2MjUzX2Nocl9jdXJyZW50X2VudW0gcG11NjI1M19jaHJfZ2V0X2N1cnJlbnQodm9pZCk7CitleHRlcm4gdm9pZCBkY2xfcG11NjI1M19jaHJfZm9yY2VfZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4gdm9pZCBkY2xfcG11NjI1M19jdl9ydChrYWxfdWludDggdmFsKTsKK2V4dGVybiB2b2lkIGRjbF9wbXU2MjUzX2N2X3R1bmUocG11NjI1M19jdl90dW5lX2VudW0gc2VsKTsKKworLy8gKDB4ODc0KSBDSFIgQ09OMQorZXh0ZXJuIHZvaWQgZGNsX3BtdTYyNTNfY2FsX3ByZWNjKHBtdTYyNTNfY2FsX3ByZWNjX2VudW0gc2VsKTsKK2V4dGVybiB2b2lkIGRjbF9wbXU2MjUzX3BzX3NlbChwbXU2MjUzX3BzX3NlbF9lbnVtIHNlbCk7CitleHRlcm4gdm9pZCBkY2xfcG11NjI1M19wc19zZXQocG11NjI1M19wc19zZXRfZW51bSBzZWwpOworZXh0ZXJuIHZvaWQgZGNsX3BtdTYyNTNfY2hyX292X3NlbChwbXU2MjUzX2Nocl9vdl9lbnVtIHNlbCk7CisKKy8vICgweDg3OCkgQ0hSIENPTjIKK2V4dGVybiBrYWxfYm9vbCBkY2xfcG11NjI1M19jaHJkZXQodm9pZCk7CitleHRlcm4ga2FsX2Jvb2wgZGNsX3BtdTYyNTNfb3ZwKHZvaWQpOworZXh0ZXJuIGthbF9ib29sIGRjbF9wbXU2MjUzX2JhdF9vbih2b2lkKTsKK2V4dGVybiBrYWxfYm9vbCBkY2xfcG11NjI1M19iYWRfYmF0KHZvaWQpOworZXh0ZXJuIGthbF9ib29sIGRjbF9wbXU2MjUzX2N2X21vZGUodm9pZCk7CisKKy8vICgweDg3QykgQ0hSIENPTjMKK2V4dGVybiB2b2lkIGRjbF9wbXU2MjUzX2Nocl93ZHRfdGQocG11NjI1M19jaHJfd2R0X3RkX2VudW0gc2VsKTsKK2V4dGVybiB2b2lkIGRjbF9wbXU2MjUzX2Nocl93ZHRfZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CisKKy8vICgweDhGMCkgQ0hSIENPTjQKK2V4dGVybiB2b2lkIGRjbF9wbXU2MjUzX2Nocl93ZHRfaW50cl9lbmFibGUoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiBrYWxfYm9vbCBkY2xfcG11NjI1M19jaHJfd2R0X3N0YXR1cyh2b2lkKTsKK2V4dGVybiB2b2lkIGRjbF9wbXU2MjUzX2Nocl93ZHRfY2xlYXIodm9pZCk7CisKKy8vICgweDhGNCkgQ0hSIENPTjUKKy8vZXh0ZXJuIHZvaWQgZGNsX3BtdTYyNTNfY2hyX3dkdF9jbnQoa2FsX3VpbnQzMiB2YWwzMik7CisKKy8vICgweDg4MCkgRFJJVkVSIENPTjAKK2V4dGVybiB2b2lkIGRjbF9wbXU2MjUzX2lzaW5rc19lbmFibGUoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiB2b2lkIGRjbF9wbXU2MjUzX2lzaW5rc19mb3JjZV9vZmYoa2FsX2Jvb2wgb2ZmKTsKK2V4dGVybiB2b2lkIGRjbF9wbXU2MjUzX2twbGVkX3R5cGUocG11NjI1M19rcGxlZF90eXBlX2VudW0gc2VsKTsKK2V4dGVybiB2b2lkIGRjbF9wbXU2MjUzX2twbGVkX2VuYWJsZShrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIHZvaWQgZGNsX3BtdTYyNTNfa3BsZWRfZm9yY2Vfb2ZmKGthbF9ib29sIG9mZik7CitleHRlcm4gdm9pZCBkY2xfcG11NjI1M19rcGxlZF9zZWwocG11NjI1M19rcGxlZF9zZWxfZW51bSBzZWwpOworZXh0ZXJuIGthbF9ib29sIGRjbF9wbXU2MjUzX2lzaW5rMV9zdGF0dXModm9pZCk7CitleHRlcm4ga2FsX2Jvb2wgZGNsX3BtdTYyNTNfaXNpbmsyX3N0YXR1cyh2b2lkKTsKK2V4dGVybiBrYWxfYm9vbCBkY2xfcG11NjI1M19pc2luazNfc3RhdHVzKHZvaWQpOworZXh0ZXJuIGthbF9ib29sIGRjbF9wbXU2MjUzX2lzaW5rNF9zdGF0dXModm9pZCk7CitleHRlcm4ga2FsX2Jvb2wgZGNsX3BtdTYyNTNfa3BsZWRfc3RhdHVzKHZvaWQpOworCisvLyAoMHg4ODQpIERSSVZFUiBDT04xCitleHRlcm4gdm9pZCBkY2xfcG11NjI1M19pc2lua3NfZGltbShrYWxfdWludDggc2VsKTsKK2V4dGVybiB2b2lkIGRjbF9wbXU2MjUzX2lzaW5rc19jaHNlbChwbXU2MjUzX2lzaW5rc19jaHNlbF9lbnVtIHNlbCk7CisKKy8vICgweDg4OCkgRFJJVkVSIENPTjIKK2V4dGVybiB2b2lkIGRjbF9wbXU2MjUzX3NpbmtzX2lyc2V0X2NhbChrYWxfdWludDggdmFsKTsKK2V4dGVybiB2b2lkIGRjbF9wbXU2MjUzX2lzaW5rc192bGVkX3N0ZXAocG11NjI1M19pc2lua3NfdmxlZF9lbnVtIHNlbCk7CisKKy8vICgweDg4QykgRFJJVkVSIENPTjMKK2V4dGVybiB2b2lkIGRjbF9wbXU2MjUzX2JsX2VuYWJsZShrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIHZvaWQgZGNsX3BtdTYyNTNfdmJvb3N0X2VuYWJsZShrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIHZvaWQgZGNsX3BtdTYyNTNfYmxfdmdlbl9mb3JjZW9uKGthbF9ib29sIG9uKTsKK2V4dGVybiB2b2lkIGRjbF9wbXU2MjUzX2JsX21vZGUoa2FsX3VpbnQ4IHZhbCk7CitleHRlcm4gdm9pZCBkY2xfcG11NjI1M19kaW1tX2R1dHkoa2FsX3VpbnQ4IHZhbCk7CisKKy8vICgweDg5MCkgRFJJVkVSIENPTjQKK2V4dGVybiB2b2lkIGRjbF9wbXU2MjUzX3ZpYnJfZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4gdm9pZCBkY2xfcG11NjI1M192aWJyX3NlbChwbXU2MjUzX3ZpYnJfc2VsX2VudW0gc2VsKTsKK2V4dGVybiB2b2lkIGRjbF9wbXU2MjUzX3ZpYnJfY2FsKGthbF91aW50OCB2YWwpOworZXh0ZXJuIHZvaWQgZGNsX3BtdTYyNTNfdmlicl9vY2ZiX2VuYWJsZShrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIGthbF9ib29sIGRjbF9wbXU2MjUzX3ZpYnJfc3RhdHVzKHZvaWQpOworCisvLyAoMHg4QTApIEJPT1NUIENPTjAKK2V4dGVybiB2b2lkIGRjbF9wbXU2MjUzX3Zib29zdF9zeW5jX2VuYWJsZShrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIHZvaWQgZGNsX3BtdTYyNTNfdmJvb3N0X3NzX3NwZWVkKHBtdTYyNTNfdmJvb3N0X3NzX3NwZWVkX2VudW0gc2VsKTsKK2V4dGVybiB2b2lkIGRjbF9wbXU2MjUzX3Zib29zdF90dW5lKGthbF91aW50OCB2YWwpOworZXh0ZXJuIHZvaWQgZGNsX3BtdTYyNTNfdmJvb3N0X2NhbChrYWxfdWludDggdmFsKTsKK2V4dGVybiBrYWxfYm9vbCBkY2xfcG11NjI1M192Ym9vc3RfdHJrX3N0YXR1cyh2b2lkKTsKK2V4dGVybiBrYWxfYm9vbCBkY2xfcG11NjI1M192Ym9vc3Rfc3RhdHVzKHZvaWQpOworCisvLyAoMHg4QTQpIEJPT1NUIENPTjEKK2V4dGVybiB2b2lkIGRjbF9wbXU2MjUzX2lzbnNfY2FsKGthbF91aW50OCB2YWwpOworCisvLyAoMHg4QTgpIEJPT1NUIENPTjIKK2V4dGVybiB2b2lkIGRjbF9wbXU2MjUzX3Zib29zdF9mb3JjZW9uX2NsayhrYWxfYm9vbCBmb3JjZW9uKTsKK2V4dGVybiB2b2lkIGRjbF9wbXU2MjUzX3Zib29zdF9kaXNjbGsoa2FsX2Jvb2wgZm9yY2VvZmYpOworCisvLyAoMHg4QjApIENMQVNTRCBDT04wCitleHRlcm4gdm9pZCBkY2xfcG11NjI1M19zcGtfZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4gdm9pZCBkY2xfcG11NjI1M19zcGtfcmVzZXQoa2FsX2Jvb2wgcmVzZXQpOworZXh0ZXJuIHZvaWQgZGNsX3BtdTYyNTNfc3BrX2Vtb2RlKHBtdTYyNTNfc3BrX2Vtb2RlX2VudW0gc2VsKTsKK2V4dGVybiB2b2lkIGRjbF9wbXU2MjUzX3Nwa19tb2RlKHBtdTYyNTNfc3BrX21vZGVfZW51bSBzZWwpOworZXh0ZXJuIHZvaWQgZGNsX3BtdTYyNTNfc3BrYWJfZmxvYXQoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiB2b2lkIGRjbF9wbXU2MjUzX3Nwa2FiX3NlbmRlZChrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIHZvaWQgZGNsX3BtdTYyNTNfc3BrYWJfb2NfZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4gdm9pZCBkY2xfcG11NjI1M19zcGthYl9kZXBvcF9lbmFibGUoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiB2b2lkIGRjbF9wbXU2MjUzX3Nwa2FiX29iaWFzKHBtdTYyNTNfc3BrYWJfb2JpYXNfZW51bSBzZWwpOworCisvLyAoMHg4QjQpIENMQVNTRCBDT04xCitleHRlcm4gdm9pZCBkY2xfcG11NjI1M19zcGtfZHRpbihrYWxfdWludDggdmFsKTsKK2V4dGVybiB2b2lkIGRjbF9wbXU2MjUzX3Nwa19kdGlwKGthbF91aW50OCB2YWwpOworZXh0ZXJuIHZvaWQgZGNsX3BtdTYyNTNfc3BrX2R0Y24oa2FsX3VpbnQ4IHZhbCk7CitleHRlcm4gdm9pZCBkY2xfcG11NjI1M19zcGtfZHRjcChrYWxfdWludDggdmFsKTsKKworLy8gKDB4OEI4KSBDTEFTU0QgQ09OMgorZXh0ZXJuIHZvaWQgZGNsX3BtdTYyNTNfc3BrX2Rtb2RlKHBtdTYyNTNfc3BrX2Rtb2RlX2VudW0gc2VsKTsKK2V4dGVybiB2b2lkIGRjbF9wbXU2MjUzX3Nwa19wY2hnKHBtdTYyNTNfc3BrX3BjaGdfZW51bSBzZWwpOworZXh0ZXJuIHZvaWQgZGNsX3BtdTYyNTNfc3BrX2R0Y2FsKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4gdm9pZCBkY2xfcG11NjI1M19zcGtfcG1vZGVfZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4gdm9pZCBkY2xfcG11NjI1M19zcGtfY21vZGUocG11NjI1M19zcGtfZnJlcV9jdHJsX2VudW0gc2VsKTsKK2V4dGVybiB2b2lkIGRjbF9wbXU2MjUzX3Nwa19jY29kZShrYWxfdWludDggdmFsKTsKKworLy8gKDB4OEJDKSBDTEFTU0QgQ09OMworZXh0ZXJuIHZvaWQgZGNsX3BtdTYyNTNfc3BrX2VuYWJsZV92aWV3X2NsayhrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIHZvaWQgZGNsX3BtdTYyNTNfc3BrX2VuYWJsZV92aWV3X3ZyZWYoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiB2b2lkIGRjbF9wbXU2MjUzX3Nwa19zbGV3KHBtdTYyNTNfc3BrX3NsZXdfZW51bSBzZWwpOworZXh0ZXJuIHZvaWQgZGNsX3BtdTYyNTNfc3BrX29jX2VuYWJsZShrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIHZvaWQgZGNsX3BtdTYyNTNfc3BrX29zY2lzZWxfaGFsZihrYWxfYm9vbCBoYWxmKTsKK2V4dGVybiB2b2lkIGRjbF9wbXU2MjUzX3Nwa192b2woa2FsX3VpbnQ4IHZhbCk7CitleHRlcm4ga2FsX3VpbnQ4IHBtdTYyNTNfc3BrX2dldF92b2wodm9pZCk7CisKKy8vICgweDhDOCkgVEVTVCBDT04yCitleHRlcm4gdm9pZCBkY2xfcG11NjI1M19hZGNfdm9sX2RpdmlkZWRfYnlfMihrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIHZvaWQgZGNsX3BtdTYyNTNfYWRjX21lYXNfb24oa2FsX2Jvb2wgZW5hYmxlKTsKKworLy8gKDB4OEQwKSBPQyBDT04wCitleHRlcm4gdm9pZCBkY2xfcG11NjI1M192cmZfb2NfZ2VhcihwbXU2MjUzX2dlYXJfZW51bSBzZWwpOworZXh0ZXJuIHZvaWQgZGNsX3BtdTYyNTNfdnJmX29jX2F1dG9fb2ZmKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4gdm9pZCBkY2xfcG11NjI1M192cmZfb2NfaW50X2VuYWJsZShrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIHZvaWQgZGNsX3BtdTYyNTNfdmlvX29jX2dlYXIocG11NjI1M19nZWFyX2VudW0gc2VsKTsKK2V4dGVybiB2b2lkIGRjbF9wbXU2MjUzX3Zpb19vY19hdXRvX29mZihrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIHZvaWQgZGNsX3BtdTYyNTNfdmlvX29jX2ludF9lbmFibGUoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiB2b2lkIGRjbF9wbXU2MjUzX3ZtX29jX2dlYXIocG11NjI1M19nZWFyX2VudW0gc2VsKTsKK2V4dGVybiB2b2lkIGRjbF9wbXU2MjUzX3ZtX29jX2F1dG9fb2ZmKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4gdm9pZCBkY2xfcG11NjI1M192bV9vY19pbnRfZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4gdm9pZCBkY2xfcG11NjI1M192YV9vY19nZWFyKHBtdTYyNTNfZ2Vhcl9lbnVtIHNlbCk7CitleHRlcm4gdm9pZCBkY2xfcG11NjI1M192YV9vY19hdXRvX29mZihrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIHZvaWQgZGNsX3BtdTYyNTNfdmFfb2NfaW50X2VuYWJsZShrYWxfYm9vbCBlbmFibGUpOworCisvLyAoMHg4RDQpIE9DIENPTjEKK2V4dGVybiB2b2lkIGRjbF9wbXU2MjUzX3Z0Y3hvX29jX2dlYXIocG11NjI1M19nZWFyX2VudW0gc2VsKTsKK2V4dGVybiB2b2lkIGRjbF9wbXU2MjUzX3Z0Y3hvX29jX2F1dG9fb2ZmKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4gdm9pZCBkY2xfcG11NjI1M192dGN4b19vY19pbnRfZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CisKKy8vICgweDhEOCkgT0MgQ09OMgorZXh0ZXJuIHZvaWQgZGNsX3BtdTYyNTNfdmJ0X29jX2dlYXIocG11NjI1M19nZWFyX2VudW0gc2VsKTsKK2V4dGVybiB2b2lkIGRjbF9wbXU2MjUzX3ZidF9vY19hdXRvX29mZihrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIHZvaWQgZGNsX3BtdTYyNTNfdmJ0X29jX2ludF9lbmFibGUoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiB2b2lkIGRjbF9wbXU2MjUzX3Z1c2Jfb2NfZ2VhcihwbXU2MjUzX2dlYXJfZW51bSBzZWwpOworZXh0ZXJuIHZvaWQgZGNsX3BtdTYyNTNfdnVzYl9vY19hdXRvX29mZihrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIHZvaWQgZGNsX3BtdTYyNTNfdnVzYl9vY19pbnRfZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4gdm9pZCBkY2xfcG11NjI1M192Y2FtZF9vY19nZWFyKHBtdTYyNTNfZ2Vhcl9lbnVtIHNlbCk7CitleHRlcm4gdm9pZCBkY2xfcG11NjI1M192Y2FtZF9vY19hdXRvX29mZihrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIHZvaWQgZGNsX3BtdTYyNTNfdmNhbWRfb2NfaW50X2VuYWJsZShrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIHZvaWQgZGNsX3BtdTYyNTNfdmNhbWFfb2NfZ2VhcihwbXU2MjUzX2dlYXJfZW51bSBzZWwpOworZXh0ZXJuIHZvaWQgZGNsX3BtdTYyNTNfdmNhbWFfb2NfYXV0b19vZmYoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiB2b2lkIGRjbF9wbXU2MjUzX3ZjYW1hX29jX2ludF9lbmFibGUoa2FsX2Jvb2wgZW5hYmxlKTsKKworLy8gKDB4OERDKSBPQyBDT04zCitleHRlcm4gdm9pZCBkY2xfcG11NjI1M19zcGtfb2NfZ2VhcihwbXU2MjUzX2dlYXJfZW51bSBzZWwpOworZXh0ZXJuIHZvaWQgZGNsX3BtdTYyNTNfc3BrX29jX2F1dG9fb2ZmKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4gdm9pZCBkY2xfcG11NjI1M19zcGtfb2NfaW50X2VuYWJsZShrYWxfYm9vbCBlbmFibGUpOworZXh0ZXJuIHZvaWQgZGNsX3BtdTYyNTNfdmlicl9vY19nZWFyKHBtdTYyNTNfZ2Vhcl9lbnVtIHNlbCk7CitleHRlcm4gdm9pZCBkY2xfcG11NjI1M192aWJyX29jX2F1dG9fb2ZmKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4gdm9pZCBkY2xfcG11NjI1M192aWJyX29jX2ludF9lbmFibGUoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiB2b2lkIGRjbF9wbXU2MjUzX3Zib29zdF9vY19nZWFyKHBtdTYyNTNfZ2Vhcl9lbnVtIHNlbCk7CitleHRlcm4gdm9pZCBkY2xfcG11NjI1M192Ym9vc3Rfb2NfYXV0b19vZmYoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiB2b2lkIGRjbF9wbXU2MjUzX3Zib29zdF9vY19pbnRfZW5hYmxlKGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4gdm9pZCBkY2xfcG11NjI1M192c2ltX29jX2dlYXIocG11NjI1M19nZWFyX2VudW0gc2VsKTsKK2V4dGVybiB2b2lkIGRjbF9wbXU2MjUzX3ZzaW1fb2NfYXV0b19vZmYoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiB2b2lkIGRjbF9wbXU2MjUzX3ZzaW1fb2NfaW50X2VuYWJsZShrYWxfYm9vbCBlbmFibGUpOworCisvLyAoMHg4RTApIE9DIENPTjQKK2V4dGVybiB2b2lkIGRjbF9wbXU2MjUzX3ZpYnJfc3RidGQocG11NjI1M19zb2Z0X3N0YXJ0X2RlbGF5IHNlbCk7CitleHRlcm4gdm9pZCBkY2xfcG11NjI1M192c2ltX3N0YnRkKHBtdTYyNTNfc29mdF9zdGFydF9kZWxheSBzZWwpOworZXh0ZXJuIHZvaWQgZGNsX3BtdTYyNTNfdmJ0X3N0YnRkKHBtdTYyNTNfc29mdF9zdGFydF9kZWxheSBzZWwpOworZXh0ZXJuIHZvaWQgZGNsX3BtdTYyNTNfdnVzYl9zdGJ0ZChwbXU2MjUzX3NvZnRfc3RhcnRfZGVsYXkgc2VsKTsKK2V4dGVybiB2b2lkIGRjbF9wbXU2MjUzX3ZjYW1kX3N0YnRkKHBtdTYyNTNfc29mdF9zdGFydF9kZWxheSBzZWwpOworZXh0ZXJuIHZvaWQgZGNsX3BtdTYyNTNfdmNhbWFfc3RidGQocG11NjI1M19zb2Z0X3N0YXJ0X2RlbGF5IHNlbCk7CisKKy8vICgweDhFNCkgT0MgQ09ONQorZXh0ZXJuIGthbF9ib29sIGRjbF9wbXU2MjUzX29jX2ZsYWcocG11NjI1M19vY19iaXRfZW51bSBzZWwpOworZXh0ZXJuIHZvaWQgZGNsX3BtdTYyNTNfY2xlYXJfb2NfZmxhZyhwbXU2MjUzX29jX2JpdF9lbnVtIHNlbCk7CitleHRlcm4gdm9pZCBkY2xfcG11NjI1M19jbGVhcl9hbGxfb2NfZmxhZyh2b2lkKTsKKworCisvLyA9PT09PT0gT3RoZXIgZXhwb3J0ZWQgQVBJcyA9PT09PT09PT09PT09CitleHRlcm4gcG11NjI1M19jaHJfY3VycmVudF9lbnVtIHBtdTYyNTNfcmV0X2Nocl9jdXJyZW50KHZvaWQpOworZXh0ZXJuIHBtdTYyNTNfY2hyX2N1cnJlbnRfZW51bSBwbXU2MjUzX3JldF91c2JfY3VycmVudCh2b2lkKTsKK2V4dGVybiB2b2lkIGRjbF9wbXU2MjUzX2luaXQodm9pZCk7CisKKworCisvKgordHlwZWRlZiBlbnVtCit7CisJUE1VX0ZBS0VfTERPX0JVQ0tfTUFYCit9UE1VX0ZBS0VfTERPX0JVQ0tfTElTVF9FTlVNOworCit0eXBlZGVmIGVudW0KK3sKKwlWUkYsCisJVklPLAorCVZNLAorCVZSVEMsCisJVlRDWE8sCisJVkEsCisJVlNJTSwKKwlWU0lNMiwKKwlWVVNCLAorCVZCVCwKKwlWQ0FNQSwKKwlWQ0FNRCwKKwlWQ09SRSwKKwlWSUJSLAorCVBNVV9MRE9fQlVDS19NQVgsCisJVlJGMTgsCisJVkZNLAorCVZNQworfVBNVV9MRE9fQlVDS19MSVNUX0VOVU07CisKK3R5cGVkZWYgZW51bQoreworCVZQQTEsCisJUE1VX1ZQQV9NQVgKK31QTVVfVlBBX0xJU1RfRU5VTTsKKwordHlwZWRlZiBlbnVtCit7CisJQ0hSLAorCVBNVV9DSFJfTUFYCit9UE1VX0NIUl9MSVNUX0VOVU07CisKK3R5cGVkZWYgZW51bQoreworCVNQSywKKwlTUEtMLAorCVNQS1IsCisJUE1VX1NQS19NQVgKK31QTVVfU1BLX0xJU1RfRU5VTTsKKwordHlwZWRlZiBlbnVtCit7CisJUE1VX0lTSU5LX01BWAorfVBNVV9JU0lOS19MSVNUX0VOVU07CisKK3R5cGVkZWYgZW51bQoreworCVBNVV9CT09TVF9NQVgKK31QTVVfQk9PU1RfTElTVF9FTlVNOworKi8KKworCisjZW5kaWYgLy8gI2lmZGVmIFBNSUNfNjI1M19SRUdfQVBJCisjZW5kaWYgLy8gI2lmbmRlZiBfX0RDTF9QTVU2MjUzX1NXX0hfU1RSVUNUX18KKworCisKZGlmZiAtLWdpdCBhL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvZGNsX3BtdTYyNTVfaHcuaCBiL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvZGNsX3BtdTYyNTVfaHcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZDYzNDY0Ci0tLSAvZGV2L251bGwKKysrIGIvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9kY2xfcG11NjI1NV9ody5oCkBAIC0wLDAgKzEsMjQyNSBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDExCisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRmlsZW5hbWU6CisgKiAtLS0tLS0tLS0KKyAqICAgIGRjbF9wbXU2MjU1X2h3LmgKKyAqCisgKiBQcm9qZWN0OgorICogLS0tLS0tLS0KKyAqICAgTWF1aV9Tb2Z0d2FyZQorICoKKyAqIERlc2NyaXB0aW9uOgorICogLS0tLS0tLS0tLS0tCisgKiAgIFRoaXMgZmlsZSBpcyBpbnRlbmRlZCBmb3IgUE1VIDYyNTUgZHJpdmVyLgorICoKKyAqIEF1dGhvcjoKKyAqIC0tLS0tLS0KKyAqIC0tLS0tLS0KKyAqCisgKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqICAgICAgICAgICAgIEhJU1RPUlkKKyAqIEJlbG93IHRoaXMgbGluZSwgdGhpcyBwYXJ0IGlzIGNvbnRyb2xsZWQgYnkgUFZDUyBWTS4gRE8gTk9UIE1PRElGWSEhCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICoKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiBVcHBlciB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmbmRlZiBfX1BNVTYyNTVfSFdfSF9fCisjZGVmaW5lIF9fUE1VNjI1NV9IV19IX18KKworCisjaWYgZGVmaW5lZChQTUlDXzYyNTVfUkVHX0FQSSkKKworI2RlZmluZSBQTVVfQkFTRSAgICAgICAgICAgIE1JWEVEX2Jhc2UKKworI2RlZmluZSBQTVVfRU5EICAgICAgICAgICAgIChQTVVfQkFTRSArIDB4MTAwMCkKKworLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworCisjZGVmaW5lIFdSX1BBVEggICAgICAgICAgICAgKFBNVV9CQVNFICsgMHgwMDAwKQorI2RlZmluZSBBRlVOQ19ESU4gICAgICAgICAgIChQTVVfQkFTRSArIDB4MDAwNCkKKyNkZWZpbmUgQUZVTkNfWE9TQyAgICAgICAgICAoUE1VX0JBU0UgKyAweDAwMDgpCisjZGVmaW5lIEFCSVNUX0NPTjAgICAgICAgICAgKFBNVV9CQVNFICsgMHgwMDEwKQorI2RlZmluZSBBQklTVF9DT04xICAgICAgICAgIChQTVVfQkFTRSArIDB4MDAxNCkKKyNkZWZpbmUgQUJJU1RfQ09OMiAgICAgICAgICAoUE1VX0JBU0UgKyAweDAwMTgpCisjZGVmaW5lIEFCSVNUX0NPTjMgICAgICAgICAgKFBNVV9CQVNFICsgMHgwMDFDKQorI2RlZmluZSBBRlVOQ19SVEMgICAgICAgICAgIChQTVVfQkFTRSArIDB4MDAyMCkKKyNkZWZpbmUgRUZVU0VfQ09OMCAgICAgICAgICAoUE1VX0JBU0UgKyAweDAxMDApCisjZGVmaW5lIEVGVVNFX0NPTjEgICAgICAgICAgKFBNVV9CQVNFICsgMHgwMTA0KQorI2RlZmluZSBFRlVTRV9DT04yICAgICAgICAgIChQTVVfQkFTRSArIDB4MDEwOCkKKyNkZWZpbmUgRUZVU0VfQ09OMyAgICAgICAgICAoUE1VX0JBU0UgKyAweDAxMEMpCisjZGVmaW5lIEVGVVNFX0NPTjQgICAgICAgICAgKFBNVV9CQVNFICsgMHgwMTEwKQorI2RlZmluZSBWU0ZfQ09OMCAgICAgICAgICAgIChQTVVfQkFTRSArIDB4MDcwMCkKKyNkZWZpbmUgVlNGX0NPTjEgICAgICAgICAgICAoUE1VX0JBU0UgKyAweDA3MDQpCisjZGVmaW5lIFZTRl9DT04yICAgICAgICAgICAgKFBNVV9CQVNFICsgMHgwNzA4KQorI2RlZmluZSBWU0ZfQ09OMyAgICAgICAgICAgIChQTVVfQkFTRSArIDB4MDcwQykKKyNkZWZpbmUgVlJGX0NPTjAgICAgICAgICAgICAoUE1VX0JBU0UgKyAweDA4MDApCisjZGVmaW5lIFZSRl9DT04xICAgICAgICAgICAgKFBNVV9CQVNFICsgMHgwODA0KQorI2RlZmluZSBWUkZfQ09OMiAgICAgICAgICAgIChQTVVfQkFTRSArIDB4MDgwOCkKKyNkZWZpbmUgVlJGX0NPTjMgICAgICAgICAgICAoUE1VX0JBU0UgKyAweDA4MEMpCisjZGVmaW5lIFZUQ1hPX0NPTjAgICAgICAgICAgKFBNVV9CQVNFICsgMHgwODEwKQorI2RlZmluZSBWVENYT19DT04xICAgICAgICAgIChQTVVfQkFTRSArIDB4MDgxNCkKKyNkZWZpbmUgVlRDWE9fQ09OMiAgICAgICAgICAoUE1VX0JBU0UgKyAweDA4MTgpCisjZGVmaW5lIFZBX0NPTjAgICAgICAgICAgICAgKFBNVV9CQVNFICsgMHgwODIwKQorI2RlZmluZSBWQV9DT04xICAgICAgICAgICAgIChQTVVfQkFTRSArIDB4MDgyNCkKKyNkZWZpbmUgVkFfQ09OMiAgICAgICAgICAgICAoUE1VX0JBU0UgKyAweDA4MjgpCisjZGVmaW5lIFZDQU1BX0NPTjAgICAgICAgICAgKFBNVV9CQVNFICsgMHgwODMwKQorI2RlZmluZSBWQ0FNQV9DT04xICAgICAgICAgIChQTVVfQkFTRSArIDB4MDgzNCkKKyNkZWZpbmUgVkNBTUFfQ09OMiAgICAgICAgICAoUE1VX0JBU0UgKyAweDA4MzgpCisjZGVmaW5lIFZDQU1EX0NPTjAgICAgICAgICAgKFBNVV9CQVNFICsgMHgwODQwKQorI2RlZmluZSBWQ0FNRF9DT04xICAgICAgICAgIChQTVVfQkFTRSArIDB4MDg0NCkKKyNkZWZpbmUgVkNBTURfQ09OMiAgICAgICAgICAoUE1VX0JBU0UgKyAweDA4NDgpCisjZGVmaW5lIFZJTzI4X0NPTjAgICAgICAgICAgKFBNVV9CQVNFICsgMHgwODUwKQorI2RlZmluZSBWSU8yOF9DT04xICAgICAgICAgIChQTVVfQkFTRSArIDB4MDg1NCkKKyNkZWZpbmUgVklPMjhfQ09OMiAgICAgICAgICAoUE1VX0JBU0UgKyAweDA4NTgpCisjZGVmaW5lIFZVU0JfQ09OMCAgICAgICAgICAgKFBNVV9CQVNFICsgMHgwODYwKQorI2RlZmluZSBWVVNCX0NPTjEgICAgICAgICAgIChQTVVfQkFTRSArIDB4MDg2NCkKKyNkZWZpbmUgVlVTQl9DT04yICAgICAgICAgICAoUE1VX0JBU0UgKyAweDA4NjgpCisjZGVmaW5lIFZCVF9DT04wICAgICAgICAgICAgKFBNVV9CQVNFICsgMHgwODcwKQorI2RlZmluZSBWQlRfQ09OMSAgICAgICAgICAgIChQTVVfQkFTRSArIDB4MDg3NCkKKyNkZWZpbmUgVkJUX0NPTjIgICAgICAgICAgICAoUE1VX0JBU0UgKyAweDA4NzgpCisjZGVmaW5lIFZTSU1fQ09OMCAgICAgICAgICAgKFBNVV9CQVNFICsgMHgwODgwKQorI2RlZmluZSBWU0lNX0NPTjEgICAgICAgICAgIChQTVVfQkFTRSArIDB4MDg4NCkKKyNkZWZpbmUgVlNJTV9DT04yICAgICAgICAgICAoUE1VX0JBU0UgKyAweDA4ODgpCisjZGVmaW5lIFZTSU1fQ09OMyAgICAgICAgICAgKFBNVV9CQVNFICsgMHgwODhDKQorI2RlZmluZSBWU0lNMl9DT04wICAgICAgICAgIChQTVVfQkFTRSArIDB4MDg5MCkKKyNkZWZpbmUgVlNJTTJfQ09OMSAgICAgICAgICAoUE1VX0JBU0UgKyAweDA4OTQpCisjZGVmaW5lIFZTSU0yX0NPTjIgICAgICAgICAgKFBNVV9CQVNFICsgMHgwODk4KQorI2RlZmluZSBWU0lNMl9DT04zICAgICAgICAgIChQTVVfQkFTRSArIDB4MDg5QykKKyNkZWZpbmUgVlJUQ19DT04wICAgICAgICAgICAoUE1VX0JBU0UgKyAweDA4QTApCisjZGVmaW5lIFZSVENfQ09OMSAgICAgICAgICAgKFBNVV9CQVNFICsgMHgwOEE0KQorI2RlZmluZSBWUlRDX0NPTjIgICAgICAgICAgIChQTVVfQkFTRSArIDB4MDhBOCkKKyNkZWZpbmUgVklCUl9DT04wICAgICAgICAgICAoUE1VX0JBU0UgKyAweDA4QjApCisjZGVmaW5lIFZJQlJfQ09OMSAgICAgICAgICAgKFBNVV9CQVNFICsgMHgwOEI0KQorI2RlZmluZSBWSUJSX0NPTjIgICAgICAgICAgIChQTVVfQkFTRSArIDB4MDhCOCkKKyNkZWZpbmUgVk1DX0NPTjAgICAgICAgICAgICAoUE1VX0JBU0UgKyAweDA4QzApCisjZGVmaW5lIFZNQ19DT04xICAgICAgICAgICAgKFBNVV9CQVNFICsgMHgwOEM0KQorI2RlZmluZSBWTUNfQ09OMiAgICAgICAgICAgIChQTVVfQkFTRSArIDB4MDhDOCkKKyNkZWZpbmUgVklPMThfQ09OMCAgICAgICAgICAoUE1VX0JBU0UgKyAweDA4RjApCisjZGVmaW5lIFZJTzE4X0NPTjEgICAgICAgICAgKFBNVV9CQVNFICsgMHgwOEY0KQorI2RlZmluZSBWSU8xOF9DT04yICAgICAgICAgIChQTVVfQkFTRSArIDB4MDhGOCkKKyNkZWZpbmUgVkNPUkVfQ09OMCAgICAgICAgICAoUE1VX0JBU0UgKyAweDA5MDApCisjZGVmaW5lIFZDT1JFX0NPTjEgICAgICAgICAgKFBNVV9CQVNFICsgMHgwOTA0KQorI2RlZmluZSBWQ09SRV9DT04yICAgICAgICAgIChQTVVfQkFTRSArIDB4MDkwOCkKKyNkZWZpbmUgVkNPUkVfQ09OMyAgICAgICAgICAoUE1VX0JBU0UgKyAweDA5MEMpCisjZGVmaW5lIFZDT1JFX0NPTjQgICAgICAgICAgKFBNVV9CQVNFICsgMHgwOTEwKQorI2RlZmluZSBWQ09SRV9DT041ICAgICAgICAgIChQTVVfQkFTRSArIDB4MDkxNCkKKyNkZWZpbmUgVkNPUkVfQ09ONiAgICAgICAgICAoUE1VX0JBU0UgKyAweDA5MTgpCisjZGVmaW5lIENIUl9DT04wICAgICAgICAgICAgKFBNVV9CQVNFICsgMHgwQTAwKQorI2RlZmluZSBDSFJfQ09OMSAgICAgICAgICAgIChQTVVfQkFTRSArIDB4MEEwNCkKKyNkZWZpbmUgQ0hSX0NPTjIgICAgICAgICAgICAoUE1VX0JBU0UgKyAweDBBMDgpCisjZGVmaW5lIENIUl9DT04zICAgICAgICAgICAgKFBNVV9CQVNFICsgMHgwQTBDKQorI2RlZmluZSBDSFJfQ09ONCAgICAgICAgICAgIChQTVVfQkFTRSArIDB4MEExMCkKKyNkZWZpbmUgQ0hSX0NPTjUgICAgICAgICAgICAoUE1VX0JBU0UgKyAweDBBMTQpCisjZGVmaW5lIENIUl9DT042ICAgICAgICAgICAgKFBNVV9CQVNFICsgMHgwQTE4KQorI2RlZmluZSBDSFJfQ09ONyAgICAgICAgICAgIChQTVVfQkFTRSArIDB4MEExQykKKyNkZWZpbmUgQ0hSX0NPTjggICAgICAgICAgICAoUE1VX0JBU0UgKyAweDBBMjApCisjZGVmaW5lIENIUl9DT045ICAgICAgICAgICAgKFBNVV9CQVNFICsgMHgwQTI0KQorI2RlZmluZSBDSFJfQ09OMTAgICAgICAgICAgIChQTVVfQkFTRSArIDB4MEEyOCkKKyNkZWZpbmUgQ0hSX0NPTjExICAgICAgICAgICAoUE1VX0JBU0UgKyAweDBBMkMpCisjZGVmaW5lIENIUl9DT04xMiAgICAgICAgICAgKFBNVV9CQVNFICsgMHgwQTMwKQorI2RlZmluZSBDSFJfQ09OMTMgICAgICAgICAgIChQTVVfQkFTRSArIDB4MEEzNCkKKyNkZWZpbmUgQ0hSX0NPTjE0ICAgICAgICAgICAoUE1VX0JBU0UgKyAweDBBMzgpCisjZGVmaW5lIFNUUlVQX0NPTjAgICAgICAgICAgKFBNVV9CQVNFICsgMHgwQTgwKQorI2RlZmluZSBTVFJVUF9DT04xICAgICAgICAgIChQTVVfQkFTRSArIDB4MEE4NCkKKyNkZWZpbmUgU1RSVVBfQ09OMiAgICAgICAgICAoUE1VX0JBU0UgKyAweDBBODgpCisjZGVmaW5lIFNUUlVQX0NPTjMgICAgICAgICAgKFBNVV9CQVNFICsgMHgwQThDKQorI2RlZmluZSBCT09TVF9DT04zICAgICAgICAgIChQTVVfQkFTRSArIDB4MEIwQykKKyNkZWZpbmUgSVNJTkswX0NPTjAgICAgICAgICAoUE1VX0JBU0UgKyAweDBDMDApCisjZGVmaW5lIElTSU5LMF9DT04xICAgICAgICAgKFBNVV9CQVNFICsgMHgwQzA0KQorI2RlZmluZSBJU0lOSzBfQ09OMiAgICAgICAgIChQTVVfQkFTRSArIDB4MEMwOCkKKyNkZWZpbmUgSVNJTksxX0NPTjAgICAgICAgICAoUE1VX0JBU0UgKyAweDBDMTApCisjZGVmaW5lIElTSU5LMl9DT04wICAgICAgICAgKFBNVV9CQVNFICsgMHgwQzIwKQorI2RlZmluZSBJU0lOSzNfQ09OMCAgICAgICAgIChQTVVfQkFTRSArIDB4MEMzMCkKKyNkZWZpbmUgSVNJTks0X0NPTjAgICAgICAgICAoUE1VX0JBU0UgKyAweDBDNDApCisjZGVmaW5lIElTSU5LNV9DT04wICAgICAgICAgKFBNVV9CQVNFICsgMHgwQzUwKQorI2RlZmluZSBLUExFRF9DT04wICAgICAgICAgIChQTVVfQkFTRSArIDB4MEM4MCkKKyNkZWZpbmUgS1BMRURfQ09OMSAgICAgICAgICAoUE1VX0JBU0UgKyAweDBDODQpCisjZGVmaW5lIFNQS19DT04wICAgICAgICAgICAgKFBNVV9CQVNFICsgMHgwRDAwKQorI2RlZmluZSBTUEtfQ09OMyAgICAgICAgICAgIChQTVVfQkFTRSArIDB4MEQwQykKKyNkZWZpbmUgU1BLX0NPTjcgICAgICAgICAgICAoUE1VX0JBU0UgKyAweDBEMUMpCisjZGVmaW5lIFNQS19DT044ICAgICAgICAgICAgKFBNVV9CQVNFICsgMHgwRDIwKQorI2RlZmluZSBQTVVfT0NfQ09OMCAgICAgICAgIChQTVVfQkFTRSArIDB4MEUwMCkKKyNkZWZpbmUgUE1VX09DX0NPTjEgICAgICAgICAoUE1VX0JBU0UgKyAweDBFMDQpCisjZGVmaW5lIFBNVV9PQ19DT04zICAgICAgICAgKFBNVV9CQVNFICsgMHgwRTBDKQorI2RlZmluZSBQTVVfT0NfQ09ONCAgICAgICAgIChQTVVfQkFTRSArIDB4MEUxMCkKKyNkZWZpbmUgUE1VX09DX0NPTjUgICAgICAgICAoUE1VX0JBU0UgKyAweDBFMTQpCisjZGVmaW5lIFBNVV9PQ19DT043ICAgICAgICAgKFBNVV9CQVNFICsgMHgwRTFDKQorI2RlZmluZSBQTVVfT0NfQ09OOCAgICAgICAgIChQTVVfQkFTRSArIDB4MEUyMCkKKyNkZWZpbmUgUE1VX09DX0NPTjkgICAgICAgICAoUE1VX0JBU0UgKyAweDBFMjQpCisjZGVmaW5lIFBNVV9PQ19DT05CICAgICAgICAgKFBNVV9CQVNFICsgMHgwRTJDKQorI2RlZmluZSBQTVVfVEVTVF9DT04wICAgICAgIChQTVVfQkFTRSArIDB4MEYwMCkKKyNkZWZpbmUgUE1VX1RFU1RfQ09OMSAgICAgICAoUE1VX0JBU0UgKyAweDBGMDQpCisjZGVmaW5lIFBNVV9URVNUX0NPTjIgICAgICAgKFBNVV9CQVNFICsgMHgwRjA4KQorCisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisKKyNkZWZpbmUgQ09OMF9PRkZTRVQgICAgICAgICAgIAkJCTB4MDAKKyNkZWZpbmUgQ09OMV9PRkZTRVQgICAgICAgICAgIAkJCTB4MDQKKyNkZWZpbmUgQ09OMl9PRkZTRVQgICAgICAgICAgIAkJCTB4MDgKKyNkZWZpbmUgQ09OM19PRkZTRVQgICAgICAgICAgIAkJCTB4MEMKKyNkZWZpbmUgQ09ONF9PRkZTRVQgICAgICAgICAgIAkJCTB4MTAKKyNkZWZpbmUgQ09ONV9PRkZTRVQgICAgICAgICAgIAkJCTB4MTQKKyNkZWZpbmUgQ09ONl9PRkZTRVQgICAgICAgICAgIAkJCTB4MTgKKyNkZWZpbmUgQ09ON19PRkZTRVQgICAgICAgICAgIAkJCTB4MUMKKyNkZWZpbmUgQ09OOF9PRkZTRVQgICAgICAgICAgIAkJCTB4MjAKKyNkZWZpbmUgQ09OOV9PRkZTRVQgICAgICAgICAgIAkJCTB4MjQKKyNkZWZpbmUgQ09OMTBfT0ZGU0VUICAgICAgICAgICAJCQkweDI4CisjZGVmaW5lIENPTkFfT0ZGU0VUICAgICAgICAgICAJCQkweDI4CisjZGVmaW5lIENPTjExX09GRlNFVCAgICAgICAgICAgCQkJMHgyQworI2RlZmluZSBDT05CX09GRlNFVCAgICAgICAgICAgCQkJMHgyQworI2RlZmluZSBDT04xMl9PRkZTRVQgICAgICAgICAgIAkJCTB4MzAKKyNkZWZpbmUgQ09OMTNfT0ZGU0VUICAgICAgICAgICAJCQkweDM0CisjZGVmaW5lIENPTjE0X09GRlNFVCAgICAgICAgICAgCQkJMHgzOAorCisKKyNkZWZpbmUgU0lNTFNfUFdEQl9PRkZTRVQgICAgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBTSU1MU19QV0RCX01BU0sgICAgICAgICAgICAgICAgIDB4MDEwMAorI2RlZmluZSBTSU1MU19QV0RCX1NISUZUICAgICAgICAgICAgICAgIDgKKworI2RlZmluZSBQUlNUX01PREVfT0ZGU0VUICAgICAgICAgICAgICAgIENPTjBfT0ZGU0VUCisjZGVmaW5lIFBSU1RfTU9ERV9NQVNLICAgICAgICAgICAgICAgICAgMHgwMDA0CisjZGVmaW5lIFBSU1RfTU9ERV9TSElGVCAgICAgICAgICAgICAgICAgMgorCisjZGVmaW5lIEFCSVNUX01PREVfT0ZGU0VUICAgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgQUJJU1RfTU9ERV9NQVNLICAgICAgICAgICAgICAgICAweDAwMDIKKyNkZWZpbmUgQUJJU1RfTU9ERV9TSElGVCAgICAgICAgICAgICAgICAxCisKKyNkZWZpbmUgQUNEX01PREVfT0ZGU0VUICAgICAgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBBQ0RfTU9ERV9NQVNLICAgICAgICAgICAgICAgICAgIDB4MDAwMQorI2RlZmluZSBBQ0RfTU9ERV9TSElGVCAgICAgICAgICAgICAgICAgIDAKKworI2RlZmluZSBBX0ZVTkNfRE9FX09GRlNFVCAgICAgICAgICAgICAgIENPTjBfT0ZGU0VUCisjZGVmaW5lIEFfRlVOQ19ET0VfTUFTSyAgICAgICAgICAgICAgICAgMHhGRkZGCisjZGVmaW5lIEFfRlVOQ19ET0VfU0hJRlQgICAgICAgICAgICAgICAgMAorCisjZGVmaW5lIFhPU0NfTFBEVEJfT0ZGU0VUICAgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgWE9TQ19MUERUQl9NQVNLICAgICAgICAgICAgICAgICAweDgwMDAKKyNkZWZpbmUgWE9TQ19MUERUQl9TSElGVCAgICAgICAgICAgICAgICAxNQorCisjZGVmaW5lIFhPU0NfQ1BEVEJfT0ZGU0VUICAgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgWE9TQ19DUERUQl9NQVNLICAgICAgICAgICAgICAgICAweDQwMDAKKyNkZWZpbmUgWE9TQ19DUERUQl9TSElGVCAgICAgICAgICAgICAgICAxNAorCisjZGVmaW5lIFhPU0NfTFBEUlNUX09GRlNFVCAgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgWE9TQ19MUERSU1RfTUFTSyAgICAgICAgICAgICAgICAweDAyMDAKKyNkZWZpbmUgWE9TQ19MUERSU1RfU0hJRlQgICAgICAgICAgICAgICA5CisKKyNkZWZpbmUgWE9TQ19MUERFTl9PRkZTRVQgICAgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBYT1NDX0xQREVOX01BU0sgICAgICAgICAgICAgICAgIDB4MDEwMAorI2RlZmluZSBYT1NDX0xQREVOX1NISUZUICAgICAgICAgICAgICAgIDgKKworI2RlZmluZSBYT1NDX1BXREJfT0ZGU0VUICAgICAgICAgICAgICAgIENPTjBfT0ZGU0VUCisjZGVmaW5lIFhPU0NfUFdEQl9NQVNLICAgICAgICAgICAgICAgICAgMHgwMDgwCisjZGVmaW5lIFhPU0NfUFdEQl9TSElGVCAgICAgICAgICAgICAgICAgNworCisjZGVmaW5lIFhPU0NfQU1QU0VMX09GRlNFVCAgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgWE9TQ19BTVBTRUxfTUFTSyAgICAgICAgICAgICAgICAweDAwNDAKKyNkZWZpbmUgWE9TQ19BTVBTRUxfU0hJRlQgICAgICAgICAgICAgICA2CisKKyNkZWZpbmUgWE9TQ19BTVBFTl9PRkZTRVQgICAgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBYT1NDX0FNUEVOX01BU0sgICAgICAgICAgICAgICAgIDB4MDAyMAorI2RlZmluZSBYT1NDX0FNUEVOX1NISUZUICAgICAgICAgICAgICAgIDUKKworI2RlZmluZSBYT1NDX0NBTElfT0ZGU0VUICAgICAgICAgICAgICAgIENPTjBfT0ZGU0VUCisjZGVmaW5lIFhPU0NfQ0FMSV9NQVNLICAgICAgICAgICAgICAgICAgMHgwMDFGCisjZGVmaW5lIFhPU0NfQ0FMSV9TSElGVCAgICAgICAgICAgICAgICAgMAorCisjZGVmaW5lIEFCSVNUX0ZJTklTSF9PRkZTRVQgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgQUJJU1RfRklOSVNIX01BU0sgICAgICAgICAgICAgICAweDgwMDAKKyNkZWZpbmUgQUJJU1RfRklOSVNIX1NISUZUICAgICAgICAgICAgICAxNQorCisjZGVmaW5lIEFCSVNUX1BBU1NfT0ZGU0VUICAgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgQUJJU1RfUEFTU19NQVNLICAgICAgICAgICAgICAgICAweDQwMDAKKyNkZWZpbmUgQUJJU1RfUEFTU19TSElGVCAgICAgICAgICAgICAgICAxNAorCisjZGVmaW5lIEFCSVNUX01PTl9DRkdfT0ZGU0VUICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgQUJJU1RfTU9OX0NGR19NQVNLICAgICAgICAgICAgICAweDAxMDAKKyNkZWZpbmUgQUJJU1RfTU9OX0NGR19TSElGVCAgICAgICAgICAgICA4CisKKyNkZWZpbmUgQUJJU1RfSE1PTl9TRUxfT0ZGU0VUICAgICAgICAgICBDT04xX09GRlNFVAorI2RlZmluZSBBQklTVF9ITU9OX1NFTF9NQVNLICAgICAgICAgICAgIDB4RkYwMAorI2RlZmluZSBBQklTVF9ITU9OX1NFTF9TSElGVCAgICAgICAgICAgIDgKKworI2RlZmluZSBBQklTVF9MTU9OX1NFTF9PRkZTRVQgICAgICAgICAgIENPTjFfT0ZGU0VUCisjZGVmaW5lIEFCSVNUX0xNT05fU0VMX01BU0sgICAgICAgICAgICAgMHgwMEZGCisjZGVmaW5lIEFCSVNUX0xNT05fU0VMX1NISUZUICAgICAgICAgICAgMAorCisjZGVmaW5lIEFCSVNUX0hNT05fT1VUX09GRlNFVCAgICAgICAgICAgQ09OMl9PRkZTRVQKKyNkZWZpbmUgQUJJU1RfSE1PTl9PVVRfTUFTSyAgICAgICAgICAgICAweDAwRjAKKyNkZWZpbmUgQUJJU1RfSE1PTl9PVVRfU0hJRlQgICAgICAgICAgICA0CisKKyNkZWZpbmUgQUJJU1RfTE1PTl9PVVRfT0ZGU0VUICAgICAgICAgICBDT04yX09GRlNFVAorI2RlZmluZSBBQklTVF9MTU9OX09VVF9NQVNLICAgICAgICAgICAgIDB4MDAwRgorI2RlZmluZSBBQklTVF9MTU9OX09VVF9TSElGVCAgICAgICAgICAgIDAKKworI2RlZmluZSBBQklTVF9ITU9OX0RBVEFfT0ZGU0VUICAgICAgICAgIENPTjNfT0ZGU0VUCisjZGVmaW5lIEFCSVNUX0hNT05fREFUQV9NQVNLICAgICAgICAgICAgMHgwMEYwCisjZGVmaW5lIEFCSVNUX0hNT05fREFUQV9TSElGVCAgICAgICAgICAgNAorCisjZGVmaW5lIEFCSVNUX0xNT05fREFUQV9PRkZTRVQgICAgICAgICAgQ09OM19PRkZTRVQKKyNkZWZpbmUgQUJJU1RfTE1PTl9EQVRBX01BU0sgICAgICAgICAgICAweDAwMEYKKyNkZWZpbmUgQUJJU1RfTE1PTl9EQVRBX1NISUZUICAgICAgICAgICAwCisKKyNkZWZpbmUgRU9TQzMyX1NUUF9DSE9QX0VOX09GRlNFVCAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBFT1NDMzJfU1RQX0NIT1BfRU5fTUFTSyAgICAgICAgIDB4MDAwMgorI2RlZmluZSBFT1NDMzJfU1RQX0NIT1BfRU5fU0hJRlQgICAgICAgIDEKKworI2RlZmluZSBEQ1hPX1NUUF9MVlNIX0VOX09GRlNFVCAgICAgICAgIENPTjBfT0ZGU0VUCisjZGVmaW5lIERDWE9fU1RQX0xWU0hfRU5fTUFTSyAgICAgICAgICAgMHgwMDAxCisjZGVmaW5lIERDWE9fU1RQX0xWU0hfRU5fU0hJRlQgICAgICAgICAgMAorCisjZGVmaW5lIEVGVVNFX0NLX09GRlNFVCAgICAgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgRUZVU0VfQ0tfTUFTSyAgICAgICAgICAgICAgICAgICAweDAwMDEKKyNkZWZpbmUgRUZVU0VfQ0tfU0hJRlQgICAgICAgICAgICAgICAgICAwCisKKyNkZWZpbmUgRUZVU0VfQV9PRkZTRVQgICAgICAgICAgICAgICAgICBDT04xX09GRlNFVAorI2RlZmluZSBFRlVTRV9BX01BU0sgICAgICAgICAgICAgICAgICAgIDB4M0YwMAorI2RlZmluZSBFRlVTRV9BX1NISUZUICAgICAgICAgICAgICAgICAgIDgKKworI2RlZmluZSBFRlVTRV9ERUxTRUxfT0ZGU0VUICAgICAgICAgICAgIENPTjFfT0ZGU0VUCisjZGVmaW5lIEVGVVNFX0RFTFNFTF9NQVNLICAgICAgICAgICAgICAgMHgwMDMwCisjZGVmaW5lIEVGVVNFX0RFTFNFTF9TSElGVCAgICAgICAgICAgICAgNAorCisjZGVmaW5lIEVGVVNFX1dFX09GRlNFVCAgICAgICAgICAgICAgICAgQ09OMV9PRkZTRVQKKyNkZWZpbmUgRUZVU0VfV0VfTUFTSyAgICAgICAgICAgICAgICAgICAweDAwMDQKKyNkZWZpbmUgRUZVU0VfV0VfU0hJRlQgICAgICAgICAgICAgICAgICAyCisKKyNkZWZpbmUgRUZVU0VfUkRfT0ZGU0VUICAgICAgICAgICAgICAgICBDT04xX09GRlNFVAorI2RlZmluZSBFRlVTRV9SRF9NQVNLICAgICAgICAgICAgICAgICAgIDB4MDAwMgorI2RlZmluZSBFRlVTRV9SRF9TSElGVCAgICAgICAgICAgICAgICAgIDEKKworI2RlZmluZSBFRlVTRV9DS1NFTF9PRkZTRVQgICAgICAgICAgICAgIENPTjFfT0ZGU0VUCisjZGVmaW5lIEVGVVNFX0NLU0VMX01BU0sgICAgICAgICAgICAgICAgMHgwMDAxCisjZGVmaW5lIEVGVVNFX0NLU0VMX1NISUZUICAgICAgICAgICAgICAgMAorCisjZGVmaW5lIEVGVVNFX09TQ19PRkZTRVQgICAgICAgICAgICAgICAgQ09OMl9PRkZTRVQKKyNkZWZpbmUgRUZVU0VfT1NDX01BU0sgICAgICAgICAgICAgICAgICAweEZDMDAKKyNkZWZpbmUgRUZVU0VfT1NDX1NISUZUICAgICAgICAgICAgICAgICAxMAorCisjZGVmaW5lIFNLSVBfRUZVU0VfT1VUX09GRlNFVCAgICAgICAgICAgQ09OMl9PRkZTRVQKKyNkZWZpbmUgU0tJUF9FRlVTRV9PVVRfTUFTSyAgICAgICAgICAgICAweDAyMDAKKyNkZWZpbmUgU0tJUF9FRlVTRV9PVVRfU0hJRlQgICAgICAgICAgICA5CisKKyNkZWZpbmUgRUZVU0VfRk9SQ0VfT0ZGU0VUICAgICAgICAgICAgICBDT04yX09GRlNFVAorI2RlZmluZSBFRlVTRV9GT1JDRV9NQVNLICAgICAgICAgICAgICAgIDB4MDEwMAorI2RlZmluZSBFRlVTRV9GT1JDRV9TSElGVCAgICAgICAgICAgICAgIDgKKworI2RlZmluZSBFRlVTRV9NT05TRUxfT0ZGU0VUICAgICAgICAgICAgIENPTjJfT0ZGU0VUCisjZGVmaW5lIEVGVVNFX01PTlNFTF9NQVNLICAgICAgICAgICAgICAgMHgwMDBGCisjZGVmaW5lIEVGVVNFX01PTlNFTF9TSElGVCAgICAgICAgICAgICAgMAorCisjZGVmaW5lIEVGVVNFX01PTk9VVF9PRkZTRVQgICAgICAgICAgICAgQ09OM19PRkZTRVQKKyNkZWZpbmUgRUZVU0VfTU9OT1VUX01BU0sgICAgICAgICAgICAgICAweDAwRkYKKyNkZWZpbmUgRUZVU0VfTU9OT1VUX1NISUZUICAgICAgICAgICAgICAwCisKKyNkZWZpbmUgRUZVU0VfSUNHUl9PRkZTRVQgICAgICAgICAgICAgICBDT040X09GRlNFVAorI2RlZmluZSBFRlVTRV9JQ0dSX01BU0sgICAgICAgICAgICAgICAgIDB4MEYwMAorI2RlZmluZSBFRlVTRV9JQ0dSX1NISUZUICAgICAgICAgICAgICAgIDgKKworI2RlZmluZSBFRlVTRV9CR1JfT0ZGU0VUICAgICAgICAgICAgICAgIENPTjRfT0ZGU0VUCisjZGVmaW5lIEVGVVNFX0JHUl9NQVNLICAgICAgICAgICAgICAgICAgMHgwMDFGCisjZGVmaW5lIEVGVVNFX0JHUl9TSElGVCAgICAgICAgICAgICAgICAgMAorCisjZGVmaW5lIFZSRl9TVEFUVVNfT0ZGU0VUICAgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVlJGX1NUQVRVU19NQVNLICAgICAgICAgICAgICAgICAweDgwMDAKKyNkZWZpbmUgVlJGX1NUQVRVU19TSElGVCAgICAgICAgICAgICAgICAxNQorCisjZGVmaW5lIFZSRl9PQ19GTEFHX09GRlNFVCAgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVlJGX09DX0ZMQUdfTUFTSyAgICAgICAgICAgICAgICAweDQwMDAKKyNkZWZpbmUgVlJGX09DX0ZMQUdfU0hJRlQgICAgICAgICAgICAgICAxNAorCisjZGVmaW5lIFZSRl9PQ0ZCX0VOX09GRlNFVCAgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVlJGX09DRkJfRU5fTUFTSyAgICAgICAgICAgICAgICAweDIwMDAKKyNkZWZpbmUgVlJGX09DRkJfRU5fU0hJRlQgICAgICAgICAgICAgICAxMworCisjZGVmaW5lIFZSRl9PQ19BVVRPRkZfT0ZGU0VUICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVlJGX09DX0FVVE9GRl9NQVNLICAgICAgICAgICAgICAweDEwMDAKKyNkZWZpbmUgVlJGX09DX0FVVE9GRl9TSElGVCAgICAgICAgICAgICAxMgorCisjZGVmaW5lIFZSRl9TVEJfRU5fT0ZGU0VUICAgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVlJGX1NUQl9FTl9NQVNLICAgICAgICAgICAgICAgICAweDA4MDAKKyNkZWZpbmUgVlJGX1NUQl9FTl9TSElGVCAgICAgICAgICAgICAgICAxMQorCisjZGVmaW5lIFZSRl9ORElTX0VOX09GRlNFVCAgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVlJGX05ESVNfRU5fTUFTSyAgICAgICAgICAgICAgICAweDA0MDAKKyNkZWZpbmUgVlJGX05ESVNfRU5fU0hJRlQgICAgICAgICAgICAgICAxMAorCisjZGVmaW5lIFZSRl9SU19PRkZTRVQgICAgICAgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVlJGX1JTX01BU0sgICAgICAgICAgICAgICAgICAgICAweDAwMDQKKyNkZWZpbmUgVlJGX1JTX1NISUZUICAgICAgICAgICAgICAgICAgICAyCisKKyNkZWZpbmUgVlJGX09OX1NFTF9PRkZTRVQgICAgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBWUkZfT05fU0VMX01BU0sgICAgICAgICAgICAgICAgIDB4MDAwMgorI2RlZmluZSBWUkZfT05fU0VMX1NISUZUICAgICAgICAgICAgICAgIDEKKworI2RlZmluZSBWUkZfRU5fT0ZGU0VUICAgICAgICAgICAgICAgICAgIENPTjBfT0ZGU0VUCisjZGVmaW5lIFZSRl9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgwMDAxCisjZGVmaW5lIFZSRl9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgMAorCisjZGVmaW5lIFZSRl9DQUxfT0ZGU0VUICAgICAgICAgICAgICAgICAgQ09OMV9PRkZTRVQKKyNkZWZpbmUgVlJGX0NBTF9NQVNLICAgICAgICAgICAgICAgICAgICAweDAwRjAKKyNkZWZpbmUgVlJGX0NBTF9TSElGVCAgICAgICAgICAgICAgICAgICA0CisKKyNkZWZpbmUgVlJGX1NUQl9URF9PRkZTRVQgICAgICAgICAgICAgICBDT04yX09GRlNFVAorI2RlZmluZSBWUkZfU1RCX1REX01BU0sgICAgICAgICAgICAgICAgIDB4MDBDMAorI2RlZmluZSBWUkZfU1RCX1REX1NISUZUICAgICAgICAgICAgICAgIDYKKworI2RlZmluZSBWUkZfT0NfVERfT0ZGU0VUICAgICAgICAgICAgICAgIENPTjJfT0ZGU0VUCisjZGVmaW5lIFZSRl9PQ19URF9NQVNLICAgICAgICAgICAgICAgICAgMHgwMDMwCisjZGVmaW5lIFZSRl9PQ19URF9TSElGVCAgICAgICAgICAgICAgICAgNAorCisjZGVmaW5lIFZSRl9FTl9GT1JDRV9PRkZTRVQgICAgICAgICAgICAgQ09OMl9PRkZTRVQKKyNkZWZpbmUgVlJGX0VOX0ZPUkNFX01BU0sgICAgICAgICAgICAgICAweDAwMDEKKyNkZWZpbmUgVlJGX0VOX0ZPUkNFX1NISUZUICAgICAgICAgICAgICAwCisKKyNkZWZpbmUgT0NGQl9DQUxfT0ZGU0VUICAgICAgICAgICAgICAgICBDT04zX09GRlNFVAorI2RlZmluZSBPQ0ZCX0NBTF9NQVNLICAgICAgICAgICAgICAgICAgIDB4NjAwMAorI2RlZmluZSBPQ0ZCX0NBTF9TSElGVCAgICAgICAgICAgICAgICAgIDEzCisKKyNkZWZpbmUgTERPU19URVNUX0VOX09GRlNFVCAgICAgICAgICAgICBDT04zX09GRlNFVAorI2RlZmluZSBMRE9TX1RFU1RfRU5fTUFTSyAgICAgICAgICAgICAgIDB4MTAwMAorI2RlZmluZSBMRE9TX1RFU1RfRU5fU0hJRlQgICAgICAgICAgICAgIDEyCisKKyNkZWZpbmUgVk9TRUxfVEVTVF9PRkZTRVQgICAgICAgICAgICAgICBDT04zX09GRlNFVAorI2RlZmluZSBWT1NFTF9URVNUX01BU0sgICAgICAgICAgICAgICAgIDB4MEYwMAorI2RlZmluZSBWT1NFTF9URVNUX1NISUZUICAgICAgICAgICAgICAgIDgKKworI2RlZmluZSBMRE9TX1JTVl9PRkZTRVQgICAgICAgICAgICAgICAgIENPTjNfT0ZGU0VUCisjZGVmaW5lIExET1NfUlNWX01BU0sgICAgICAgICAgICAgICAgICAgMHgwMEZGCisjZGVmaW5lIExET1NfUlNWX1NISUZUICAgICAgICAgICAgICAgICAgMAorCisjZGVmaW5lIFZUQ1hPX1NUQVRVU19PRkZTRVQgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVlRDWE9fU1RBVFVTX01BU0sgICAgICAgICAgICAgICAweDgwMDAKKyNkZWZpbmUgVlRDWE9fU1RBVFVTX1NISUZUICAgICAgICAgICAgICAxNQorCisjZGVmaW5lIFZUQ1hPX09DX0ZMQUdfT0ZGU0VUICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVlRDWE9fT0NfRkxBR19NQVNLICAgICAgICAgICAgICAweDQwMDAKKyNkZWZpbmUgVlRDWE9fT0NfRkxBR19TSElGVCAgICAgICAgICAgICAxNAorCisjZGVmaW5lIFZUQ1hPX09DRkJfRU5fT0ZGU0VUICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVlRDWE9fT0NGQl9FTl9NQVNLICAgICAgICAgICAgICAweDIwMDAKKyNkZWZpbmUgVlRDWE9fT0NGQl9FTl9TSElGVCAgICAgICAgICAgICAxMworCisjZGVmaW5lIFZUQ1hPX09DX0FVVE9GRl9PRkZTRVQgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVlRDWE9fT0NfQVVUT0ZGX01BU0sgICAgICAgICAgICAweDEwMDAKKyNkZWZpbmUgVlRDWE9fT0NfQVVUT0ZGX1NISUZUICAgICAgICAgICAxMgorCisjZGVmaW5lIFZUQ1hPX1NUQl9FTl9PRkZTRVQgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVlRDWE9fU1RCX0VOX01BU0sgICAgICAgICAgICAgICAweDA4MDAKKyNkZWZpbmUgVlRDWE9fU1RCX0VOX1NISUZUICAgICAgICAgICAgICAxMQorCisjZGVmaW5lIFZUQ1hPX05ESVNfRU5fT0ZGU0VUICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVlRDWE9fTkRJU19FTl9NQVNLICAgICAgICAgICAgICAweDA0MDAKKyNkZWZpbmUgVlRDWE9fTkRJU19FTl9TSElGVCAgICAgICAgICAgICAxMAorCisjZGVmaW5lIFZUQ1hPX1JTX09GRlNFVCAgICAgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVlRDWE9fUlNfTUFTSyAgICAgICAgICAgICAgICAgICAweDAwMDQKKyNkZWZpbmUgVlRDWE9fUlNfU0hJRlQgICAgICAgICAgICAgICAgICAyCisKKyNkZWZpbmUgVlRDWE9fT05fU0VMX09GRlNFVCAgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBWVENYT19PTl9TRUxfTUFTSyAgICAgICAgICAgICAgIDB4MDAwMgorI2RlZmluZSBWVENYT19PTl9TRUxfU0hJRlQgICAgICAgICAgICAgIDEKKworI2RlZmluZSBWVENYT19FTl9PRkZTRVQgICAgICAgICAgICAgICAgIENPTjBfT0ZGU0VUCisjZGVmaW5lIFZUQ1hPX0VOX01BU0sgICAgICAgICAgICAgICAgICAgMHgwMDAxCisjZGVmaW5lIFZUQ1hPX0VOX1NISUZUICAgICAgICAgICAgICAgICAgMAorCisjZGVmaW5lIFZUQ1hPX0NBTF9PRkZTRVQgICAgICAgICAgICAgICAgQ09OMV9PRkZTRVQKKyNkZWZpbmUgVlRDWE9fQ0FMX01BU0sgICAgICAgICAgICAgICAgICAweDAwRjAKKyNkZWZpbmUgVlRDWE9fQ0FMX1NISUZUICAgICAgICAgICAgICAgICA0CisKKyNkZWZpbmUgVlRDWE9fTU9ERV9TRUxfT0ZGU0VUICAgICAgICAgICBDT04xX09GRlNFVAorI2RlZmluZSBWVENYT19NT0RFX1NFTF9NQVNLICAgICAgICAgICAgIDB4MDAwMgorI2RlZmluZSBWVENYT19NT0RFX1NFTF9TSElGVCAgICAgICAgICAgIDEKKworI2RlZmluZSBWVENYT19MUF9FTl9PRkZTRVQgICAgICAgICAgICAgIENPTjFfT0ZGU0VUCisjZGVmaW5lIFZUQ1hPX0xQX0VOX01BU0sgICAgICAgICAgICAgICAgMHgwMDAxCisjZGVmaW5lIFZUQ1hPX0xQX0VOX1NISUZUICAgICAgICAgICAgICAgMAorCisjZGVmaW5lIFZUQ1hPX1NUQl9URF9PRkZTRVQgICAgICAgICAgICAgQ09OMl9PRkZTRVQKKyNkZWZpbmUgVlRDWE9fU1RCX1REX01BU0sgICAgICAgICAgICAgICAweDAwQzAKKyNkZWZpbmUgVlRDWE9fU1RCX1REX1NISUZUICAgICAgICAgICAgICA2CisKKyNkZWZpbmUgVlRDWE9fT0NfVERfT0ZGU0VUICAgICAgICAgICAgICBDT04yX09GRlNFVAorI2RlZmluZSBWVENYT19PQ19URF9NQVNLICAgICAgICAgICAgICAgIDB4MDAzMAorI2RlZmluZSBWVENYT19PQ19URF9TSElGVCAgICAgICAgICAgICAgIDQKKworI2RlZmluZSBDQ0lfU1JDTEtFTl9PRkZTRVQgICAgICAgICAgICAgIENPTjJfT0ZGU0VUCisjZGVmaW5lIENDSV9TUkNMS0VOX01BU0sgICAgICAgICAgICAgICAgMHgwMDAyCisjZGVmaW5lIENDSV9TUkNMS0VOX1NISUZUICAgICAgICAgICAgICAgMQorCisjZGVmaW5lIFZUQ1hPX0VOX0ZPUkNFX09GRlNFVCAgICAgICAgICAgQ09OMl9PRkZTRVQKKyNkZWZpbmUgVlRDWE9fRU5fRk9SQ0VfTUFTSyAgICAgICAgICAgICAweDAwMDEKKyNkZWZpbmUgVlRDWE9fRU5fRk9SQ0VfU0hJRlQgICAgICAgICAgICAwCisKKyNkZWZpbmUgVkFfU1RBVFVTX09GRlNFVCAgICAgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBWQV9TVEFUVVNfTUFTSyAgICAgICAgICAgICAgICAgIDB4ODAwMAorI2RlZmluZSBWQV9TVEFUVVNfU0hJRlQgICAgICAgICAgICAgICAgIDE1CisKKyNkZWZpbmUgVkFfT0NfRkxBR19PRkZTRVQgICAgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBWQV9PQ19GTEFHX01BU0sgICAgICAgICAgICAgICAgIDB4NDAwMAorI2RlZmluZSBWQV9PQ19GTEFHX1NISUZUICAgICAgICAgICAgICAgIDE0CisKKyNkZWZpbmUgVkFfT0NGQl9FTl9PRkZTRVQgICAgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBWQV9PQ0ZCX0VOX01BU0sgICAgICAgICAgICAgICAgIDB4MjAwMAorI2RlZmluZSBWQV9PQ0ZCX0VOX1NISUZUICAgICAgICAgICAgICAgIDEzCisKKyNkZWZpbmUgVkFfT0NfQVVUT0ZGX09GRlNFVCAgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBWQV9PQ19BVVRPRkZfTUFTSyAgICAgICAgICAgICAgIDB4MTAwMAorI2RlZmluZSBWQV9PQ19BVVRPRkZfU0hJRlQgICAgICAgICAgICAgIDEyCisKKyNkZWZpbmUgVkFfU1RCX0VOX09GRlNFVCAgICAgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBWQV9TVEJfRU5fTUFTSyAgICAgICAgICAgICAgICAgIDB4MDgwMAorI2RlZmluZSBWQV9TVEJfRU5fU0hJRlQgICAgICAgICAgICAgICAgIDExCisKKyNkZWZpbmUgVkFfTkRJU19FTl9PRkZTRVQgICAgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBWQV9ORElTX0VOX01BU0sgICAgICAgICAgICAgICAgIDB4MDQwMAorI2RlZmluZSBWQV9ORElTX0VOX1NISUZUICAgICAgICAgICAgICAgIDEwCisKKyNkZWZpbmUgVkFfUlNfT0ZGU0VUICAgICAgICAgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBWQV9SU19NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MDAwNAorI2RlZmluZSBWQV9SU19TSElGVCAgICAgICAgICAgICAgICAgICAgIDIKKworI2RlZmluZSBWQV9PTl9TRUxfT0ZGU0VUICAgICAgICAgICAgICAgIENPTjBfT0ZGU0VUCisjZGVmaW5lIFZBX09OX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgMHgwMDAyCisjZGVmaW5lIFZBX09OX1NFTF9TSElGVCAgICAgICAgICAgICAgICAgMQorCisjZGVmaW5lIFZBX0VOX09GRlNFVCAgICAgICAgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVkFfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDAwMDEKKyNkZWZpbmUgVkFfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICAwCisKKyNkZWZpbmUgVkFfQ0FMX09GRlNFVCAgICAgICAgICAgICAgICAgICBDT04xX09GRlNFVAorI2RlZmluZSBWQV9DQUxfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MDBGMAorI2RlZmluZSBWQV9DQUxfU0hJRlQgICAgICAgICAgICAgICAgICAgIDQKKworI2RlZmluZSBWQV9NT0RFX1NFTF9PRkZTRVQgICAgICAgICAgICAgIENPTjFfT0ZGU0VUCisjZGVmaW5lIFZBX01PREVfU0VMX01BU0sgICAgICAgICAgICAgICAgMHgwMDAyCisjZGVmaW5lIFZBX01PREVfU0VMX1NISUZUICAgICAgICAgICAgICAgMQorCisjZGVmaW5lIFZBX0xQX0VOX09GRlNFVCAgICAgICAgICAgICAgICAgQ09OMV9PRkZTRVQKKyNkZWZpbmUgVkFfTFBfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAweDAwMDEKKyNkZWZpbmUgVkFfTFBfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAwCisKKyNkZWZpbmUgVkFfU1RCX1REX09GRlNFVCAgICAgICAgICAgICAgICBDT04yX09GRlNFVAorI2RlZmluZSBWQV9TVEJfVERfTUFTSyAgICAgICAgICAgICAgICAgIDB4MDBDMAorI2RlZmluZSBWQV9TVEJfVERfU0hJRlQgICAgICAgICAgICAgICAgIDYKKworI2RlZmluZSBWQV9PQ19URF9PRkZTRVQgICAgICAgICAgICAgICAgIENPTjJfT0ZGU0VUCisjZGVmaW5lIFZBX09DX1REX01BU0sgICAgICAgICAgICAgICAgICAgMHgwMDMwCisjZGVmaW5lIFZBX09DX1REX1NISUZUICAgICAgICAgICAgICAgICAgNAorCisjZGVmaW5lIFZBX0VOX0ZPUkNFX09GRlNFVCAgICAgICAgICAgICAgQ09OMl9PRkZTRVQKKyNkZWZpbmUgVkFfRU5fRk9SQ0VfTUFTSyAgICAgICAgICAgICAgICAweDAwMDEKKyNkZWZpbmUgVkFfRU5fRk9SQ0VfU0hJRlQgICAgICAgICAgICAgICAwCisKKyNkZWZpbmUgVkNBTUFfU1RBVFVTX09GRlNFVCAgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBWQ0FNQV9TVEFUVVNfTUFTSyAgICAgICAgICAgICAgIDB4ODAwMAorI2RlZmluZSBWQ0FNQV9TVEFUVVNfU0hJRlQgICAgICAgICAgICAgIDE1CisKKyNkZWZpbmUgVkNBTUFfT0NfRkxBR19PRkZTRVQgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBWQ0FNQV9PQ19GTEFHX01BU0sgICAgICAgICAgICAgIDB4NDAwMAorI2RlZmluZSBWQ0FNQV9PQ19GTEFHX1NISUZUICAgICAgICAgICAgIDE0CisKKyNkZWZpbmUgVkNBTUFfT0NGQl9FTl9PRkZTRVQgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBWQ0FNQV9PQ0ZCX0VOX01BU0sgICAgICAgICAgICAgIDB4MjAwMAorI2RlZmluZSBWQ0FNQV9PQ0ZCX0VOX1NISUZUICAgICAgICAgICAgIDEzCisKKyNkZWZpbmUgVkNBTUFfT0NfQVVUT0ZGX09GRlNFVCAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBWQ0FNQV9PQ19BVVRPRkZfTUFTSyAgICAgICAgICAgIDB4MTAwMAorI2RlZmluZSBWQ0FNQV9PQ19BVVRPRkZfU0hJRlQgICAgICAgICAgIDEyCisKKyNkZWZpbmUgVkNBTUFfU1RCX0VOX09GRlNFVCAgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBWQ0FNQV9TVEJfRU5fTUFTSyAgICAgICAgICAgICAgIDB4MDgwMAorI2RlZmluZSBWQ0FNQV9TVEJfRU5fU0hJRlQgICAgICAgICAgICAgIDExCisKKyNkZWZpbmUgVkNBTUFfTkRJU19FTl9PRkZTRVQgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBWQ0FNQV9ORElTX0VOX01BU0sgICAgICAgICAgICAgIDB4MDQwMAorI2RlZmluZSBWQ0FNQV9ORElTX0VOX1NISUZUICAgICAgICAgICAgIDEwCisKKyNkZWZpbmUgVkNBTUFfVk9TRUxfT0ZGU0VUICAgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBWQ0FNQV9WT1NFTF9NQVNLICAgICAgICAgICAgICAgIDB4MDAzMAorI2RlZmluZSBWQ0FNQV9WT1NFTF9TSElGVCAgICAgICAgICAgICAgIDQKKworI2RlZmluZSBWQ0FNQV9SU19PRkZTRVQgICAgICAgICAgICAgICAgIENPTjBfT0ZGU0VUCisjZGVmaW5lIFZDQU1BX1JTX01BU0sgICAgICAgICAgICAgICAgICAgMHgwMDA0CisjZGVmaW5lIFZDQU1BX1JTX1NISUZUICAgICAgICAgICAgICAgICAgMgorCisjZGVmaW5lIFZDQU1BX09OX1NFTF9PRkZTRVQgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVkNBTUFfT05fU0VMX01BU0sgICAgICAgICAgICAgICAweDAwMDIKKyNkZWZpbmUgVkNBTUFfT05fU0VMX1NISUZUICAgICAgICAgICAgICAxCisKKyNkZWZpbmUgVkNBTUFfRU5fT0ZGU0VUICAgICAgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBWQ0FNQV9FTl9NQVNLICAgICAgICAgICAgICAgICAgIDB4MDAwMQorI2RlZmluZSBWQ0FNQV9FTl9TSElGVCAgICAgICAgICAgICAgICAgIDAKKworI2RlZmluZSBWQ0FNQV9DQUxfT0ZGU0VUICAgICAgICAgICAgICAgIENPTjFfT0ZGU0VUCisjZGVmaW5lIFZDQU1BX0NBTF9NQVNLICAgICAgICAgICAgICAgICAgMHgwMEYwCisjZGVmaW5lIFZDQU1BX0NBTF9TSElGVCAgICAgICAgICAgICAgICAgNAorCisjZGVmaW5lIFZDQU1BX1NUQl9URF9PRkZTRVQgICAgICAgICAgICAgQ09OMl9PRkZTRVQKKyNkZWZpbmUgVkNBTUFfU1RCX1REX01BU0sgICAgICAgICAgICAgICAweDAwQzAKKyNkZWZpbmUgVkNBTUFfU1RCX1REX1NISUZUICAgICAgICAgICAgICA2CisKKyNkZWZpbmUgVkNBTUFfT0NfVERfT0ZGU0VUICAgICAgICAgICAgICBDT04yX09GRlNFVAorI2RlZmluZSBWQ0FNQV9PQ19URF9NQVNLICAgICAgICAgICAgICAgIDB4MDAzMAorI2RlZmluZSBWQ0FNQV9PQ19URF9TSElGVCAgICAgICAgICAgICAgIDQKKworI2RlZmluZSBWQ0FNQV9FTl9GT1JDRV9PRkZTRVQgICAgICAgICAgIENPTjJfT0ZGU0VUCisjZGVmaW5lIFZDQU1BX0VOX0ZPUkNFX01BU0sgICAgICAgICAgICAgMHgwMDAxCisjZGVmaW5lIFZDQU1BX0VOX0ZPUkNFX1NISUZUICAgICAgICAgICAgMAorCisjZGVmaW5lIFZDQU1EX1NUQVRVU19PRkZTRVQgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVkNBTURfU1RBVFVTX01BU0sgICAgICAgICAgICAgICAweDgwMDAKKyNkZWZpbmUgVkNBTURfU1RBVFVTX1NISUZUICAgICAgICAgICAgICAxNQorCisjZGVmaW5lIFZDQU1EX09DX0ZMQUdfT0ZGU0VUICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVkNBTURfT0NfRkxBR19NQVNLICAgICAgICAgICAgICAweDQwMDAKKyNkZWZpbmUgVkNBTURfT0NfRkxBR19TSElGVCAgICAgICAgICAgICAxNAorCisjZGVmaW5lIFZDQU1EX09DRkJfRU5fT0ZGU0VUICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVkNBTURfT0NGQl9FTl9NQVNLICAgICAgICAgICAgICAweDIwMDAKKyNkZWZpbmUgVkNBTURfT0NGQl9FTl9TSElGVCAgICAgICAgICAgICAxMworCisjZGVmaW5lIFZDQU1EX09DX0FVVE9GRl9PRkZTRVQgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVkNBTURfT0NfQVVUT0ZGX01BU0sgICAgICAgICAgICAweDEwMDAKKyNkZWZpbmUgVkNBTURfT0NfQVVUT0ZGX1NISUZUICAgICAgICAgICAxMgorCisjZGVmaW5lIFZDQU1EX1NUQl9FTl9PRkZTRVQgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVkNBTURfU1RCX0VOX01BU0sgICAgICAgICAgICAgICAweDA4MDAKKyNkZWZpbmUgVkNBTURfU1RCX0VOX1NISUZUICAgICAgICAgICAgICAxMQorCisjZGVmaW5lIFZDQU1EX05ESVNfRU5fT0ZGU0VUICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVkNBTURfTkRJU19FTl9NQVNLICAgICAgICAgICAgICAweDA0MDAKKyNkZWZpbmUgVkNBTURfTkRJU19FTl9TSElGVCAgICAgICAgICAgICAxMAorCisjZGVmaW5lIFZDQU1EX1ZPU0VMX09GRlNFVCAgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVkNBTURfVk9TRUxfTUFTSyAgICAgICAgICAgICAgICAweDAwNzAKKyNkZWZpbmUgVkNBTURfVk9TRUxfU0hJRlQgICAgICAgICAgICAgICA0CisKKyNkZWZpbmUgVkNBTURfUlNfT0ZGU0VUICAgICAgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBWQ0FNRF9SU19NQVNLICAgICAgICAgICAgICAgICAgIDB4MDAwNAorI2RlZmluZSBWQ0FNRF9SU19TSElGVCAgICAgICAgICAgICAgICAgIDIKKworI2RlZmluZSBWQ0FNRF9PTl9TRUxfT0ZGU0VUICAgICAgICAgICAgIENPTjBfT0ZGU0VUCisjZGVmaW5lIFZDQU1EX09OX1NFTF9NQVNLICAgICAgICAgICAgICAgMHgwMDAyCisjZGVmaW5lIFZDQU1EX09OX1NFTF9TSElGVCAgICAgICAgICAgICAgMQorCisjZGVmaW5lIFZDQU1EX0VOX09GRlNFVCAgICAgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVkNBTURfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAweDAwMDEKKyNkZWZpbmUgVkNBTURfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAwCisKKyNkZWZpbmUgVkNBTURfQ0FMX09GRlNFVCAgICAgICAgICAgICAgICBDT04xX09GRlNFVAorI2RlZmluZSBWQ0FNRF9DQUxfTUFTSyAgICAgICAgICAgICAgICAgIDB4MDBGMAorI2RlZmluZSBWQ0FNRF9DQUxfU0hJRlQgICAgICAgICAgICAgICAgIDQKKworI2RlZmluZSBWQ0FNRF9TVEJfVERfT0ZGU0VUICAgICAgICAgICAgIENPTjJfT0ZGU0VUCisjZGVmaW5lIFZDQU1EX1NUQl9URF9NQVNLICAgICAgICAgICAgICAgMHgwMEMwCisjZGVmaW5lIFZDQU1EX1NUQl9URF9TSElGVCAgICAgICAgICAgICAgNgorCisjZGVmaW5lIFZDQU1EX09DX1REX09GRlNFVCAgICAgICAgICAgICAgQ09OMl9PRkZTRVQKKyNkZWZpbmUgVkNBTURfT0NfVERfTUFTSyAgICAgICAgICAgICAgICAweDAwMzAKKyNkZWZpbmUgVkNBTURfT0NfVERfU0hJRlQgICAgICAgICAgICAgICA0CisKKyNkZWZpbmUgVkNBTURfRU5fRk9SQ0VfT0ZGU0VUICAgICAgICAgICBDT04yX09GRlNFVAorI2RlZmluZSBWQ0FNRF9FTl9GT1JDRV9NQVNLICAgICAgICAgICAgIDB4MDAwMQorI2RlZmluZSBWQ0FNRF9FTl9GT1JDRV9TSElGVCAgICAgICAgICAgIDAKKworI2RlZmluZSBWSU8yOF9TVEFUVVNfT0ZGU0VUICAgICAgICAgICAgIENPTjBfT0ZGU0VUCisjZGVmaW5lIFZJTzI4X1NUQVRVU19NQVNLICAgICAgICAgICAgICAgMHg4MDAwCisjZGVmaW5lIFZJTzI4X1NUQVRVU19TSElGVCAgICAgICAgICAgICAgMTUKKworI2RlZmluZSBWSU8yOF9PQ19GTEFHX09GRlNFVCAgICAgICAgICAgIENPTjBfT0ZGU0VUCisjZGVmaW5lIFZJTzI4X09DX0ZMQUdfTUFTSyAgICAgICAgICAgICAgMHg0MDAwCisjZGVmaW5lIFZJTzI4X09DX0ZMQUdfU0hJRlQgICAgICAgICAgICAgMTQKKworI2RlZmluZSBWSU8yOF9PQ0ZCX0VOX09GRlNFVCAgICAgICAgICAgIENPTjBfT0ZGU0VUCisjZGVmaW5lIFZJTzI4X09DRkJfRU5fTUFTSyAgICAgICAgICAgICAgMHgyMDAwCisjZGVmaW5lIFZJTzI4X09DRkJfRU5fU0hJRlQgICAgICAgICAgICAgMTMKKworI2RlZmluZSBWSU8yOF9PQ19BVVRPRkZfT0ZGU0VUICAgICAgICAgIENPTjBfT0ZGU0VUCisjZGVmaW5lIFZJTzI4X09DX0FVVE9GRl9NQVNLICAgICAgICAgICAgMHgxMDAwCisjZGVmaW5lIFZJTzI4X09DX0FVVE9GRl9TSElGVCAgICAgICAgICAgMTIKKworI2RlZmluZSBWSU8yOF9TVEJfRU5fT0ZGU0VUICAgICAgICAgICAgIENPTjBfT0ZGU0VUCisjZGVmaW5lIFZJTzI4X1NUQl9FTl9NQVNLICAgICAgICAgICAgICAgMHgwODAwCisjZGVmaW5lIFZJTzI4X1NUQl9FTl9TSElGVCAgICAgICAgICAgICAgMTEKKworI2RlZmluZSBWSU8yOF9ORElTX0VOX09GRlNFVCAgICAgICAgICAgIENPTjBfT0ZGU0VUCisjZGVmaW5lIFZJTzI4X05ESVNfRU5fTUFTSyAgICAgICAgICAgICAgMHgwNDAwCisjZGVmaW5lIFZJTzI4X05ESVNfRU5fU0hJRlQgICAgICAgICAgICAgMTAKKworI2RlZmluZSBWSU8yOF9SU19PRkZTRVQgICAgICAgICAgICAgICAgIENPTjBfT0ZGU0VUCisjZGVmaW5lIFZJTzI4X1JTX01BU0sgICAgICAgICAgICAgICAgICAgMHgwMDA0CisjZGVmaW5lIFZJTzI4X1JTX1NISUZUICAgICAgICAgICAgICAgICAgMgorCisjZGVmaW5lIFZJTzI4X09OX1NFTF9PRkZTRVQgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVklPMjhfT05fU0VMX01BU0sgICAgICAgICAgICAgICAweDAwMDIKKyNkZWZpbmUgVklPMjhfT05fU0VMX1NISUZUICAgICAgICAgICAgICAxCisKKyNkZWZpbmUgVklPMjhfRU5fT0ZGU0VUICAgICAgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBWSU8yOF9FTl9NQVNLICAgICAgICAgICAgICAgICAgIDB4MDAwMQorI2RlZmluZSBWSU8yOF9FTl9TSElGVCAgICAgICAgICAgICAgICAgIDAKKworI2RlZmluZSBWSU8yOF9DQUxfT0ZGU0VUICAgICAgICAgICAgICAgIENPTjFfT0ZGU0VUCisjZGVmaW5lIFZJTzI4X0NBTF9NQVNLICAgICAgICAgICAgICAgICAgMHgwMEYwCisjZGVmaW5lIFZJTzI4X0NBTF9TSElGVCAgICAgICAgICAgICAgICAgNAorCisjZGVmaW5lIFZJTzI4X1NUQl9URF9PRkZTRVQgICAgICAgICAgICAgQ09OMl9PRkZTRVQKKyNkZWZpbmUgVklPMjhfU1RCX1REX01BU0sgICAgICAgICAgICAgICAweDAwQzAKKyNkZWZpbmUgVklPMjhfU1RCX1REX1NISUZUICAgICAgICAgICAgICA2CisKKyNkZWZpbmUgVklPMjhfT0NfVERfT0ZGU0VUICAgICAgICAgICAgICBDT04yX09GRlNFVAorI2RlZmluZSBWSU8yOF9PQ19URF9NQVNLICAgICAgICAgICAgICAgIDB4MDAzMAorI2RlZmluZSBWSU8yOF9PQ19URF9TSElGVCAgICAgICAgICAgICAgIDQKKworI2RlZmluZSBWSU8yOF9FTl9GT1JDRV9PRkZTRVQgICAgICAgICAgIENPTjJfT0ZGU0VUCisjZGVmaW5lIFZJTzI4X0VOX0ZPUkNFX01BU0sgICAgICAgICAgICAgMHgwMDAxCisjZGVmaW5lIFZJTzI4X0VOX0ZPUkNFX1NISUZUICAgICAgICAgICAgMAorCisjZGVmaW5lIFZVU0JfU1RBVFVTX09GRlNFVCAgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVlVTQl9TVEFUVVNfTUFTSyAgICAgICAgICAgICAgICAweDgwMDAKKyNkZWZpbmUgVlVTQl9TVEFUVVNfU0hJRlQgICAgICAgICAgICAgICAxNQorCisjZGVmaW5lIFZVU0JfT0NfRkxBR19PRkZTRVQgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVlVTQl9PQ19GTEFHX01BU0sgICAgICAgICAgICAgICAweDQwMDAKKyNkZWZpbmUgVlVTQl9PQ19GTEFHX1NISUZUICAgICAgICAgICAgICAxNAorCisjZGVmaW5lIFZVU0JfT0NGQl9FTl9PRkZTRVQgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVlVTQl9PQ0ZCX0VOX01BU0sgICAgICAgICAgICAgICAweDIwMDAKKyNkZWZpbmUgVlVTQl9PQ0ZCX0VOX1NISUZUICAgICAgICAgICAgICAxMworCisjZGVmaW5lIFZVU0JfT0NfQVVUT0ZGX09GRlNFVCAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVlVTQl9PQ19BVVRPRkZfTUFTSyAgICAgICAgICAgICAweDEwMDAKKyNkZWZpbmUgVlVTQl9PQ19BVVRPRkZfU0hJRlQgICAgICAgICAgICAxMgorCisjZGVmaW5lIFZVU0JfU1RCX0VOX09GRlNFVCAgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVlVTQl9TVEJfRU5fTUFTSyAgICAgICAgICAgICAgICAweDA4MDAKKyNkZWZpbmUgVlVTQl9TVEJfRU5fU0hJRlQgICAgICAgICAgICAgICAxMQorCisjZGVmaW5lIFZVU0JfTkRJU19FTl9PRkZTRVQgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVlVTQl9ORElTX0VOX01BU0sgICAgICAgICAgICAgICAweDA0MDAKKyNkZWZpbmUgVlVTQl9ORElTX0VOX1NISUZUICAgICAgICAgICAgICAxMAorCisjZGVmaW5lIFZVU0JfUlNfT0ZGU0VUICAgICAgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVlVTQl9SU19NQVNLICAgICAgICAgICAgICAgICAgICAweDAwMDQKKyNkZWZpbmUgVlVTQl9SU19TSElGVCAgICAgICAgICAgICAgICAgICAyCisKKyNkZWZpbmUgVlVTQl9PTl9TRUxfT0ZGU0VUICAgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBWVVNCX09OX1NFTF9NQVNLICAgICAgICAgICAgICAgIDB4MDAwMgorI2RlZmluZSBWVVNCX09OX1NFTF9TSElGVCAgICAgICAgICAgICAgIDEKKworI2RlZmluZSBWVVNCX0VOX09GRlNFVCAgICAgICAgICAgICAgICAgIENPTjBfT0ZGU0VUCisjZGVmaW5lIFZVU0JfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgMHgwMDAxCisjZGVmaW5lIFZVU0JfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgMAorCisjZGVmaW5lIFZVU0JfQ0FMX09GRlNFVCAgICAgICAgICAgICAgICAgQ09OMV9PRkZTRVQKKyNkZWZpbmUgVlVTQl9DQUxfTUFTSyAgICAgICAgICAgICAgICAgICAweDAwRjAKKyNkZWZpbmUgVlVTQl9DQUxfU0hJRlQgICAgICAgICAgICAgICAgICA0CisKKyNkZWZpbmUgVlVTQl9TVEJfVERfT0ZGU0VUICAgICAgICAgICAgICBDT04yX09GRlNFVAorI2RlZmluZSBWVVNCX1NUQl9URF9NQVNLICAgICAgICAgICAgICAgIDB4MDBDMAorI2RlZmluZSBWVVNCX1NUQl9URF9TSElGVCAgICAgICAgICAgICAgIDYKKworI2RlZmluZSBWVVNCX09DX1REX09GRlNFVCAgICAgICAgICAgICAgIENPTjJfT0ZGU0VUCisjZGVmaW5lIFZVU0JfT0NfVERfTUFTSyAgICAgICAgICAgICAgICAgMHgwMDMwCisjZGVmaW5lIFZVU0JfT0NfVERfU0hJRlQgICAgICAgICAgICAgICAgNAorCisjZGVmaW5lIFZVU0JfRU5fRk9SQ0VfT0ZGU0VUICAgICAgICAgICAgQ09OMl9PRkZTRVQKKyNkZWZpbmUgVlVTQl9FTl9GT1JDRV9NQVNLICAgICAgICAgICAgICAweDAwMDEKKyNkZWZpbmUgVlVTQl9FTl9GT1JDRV9TSElGVCAgICAgICAgICAgICAwCisKKyNkZWZpbmUgVkJUX1NUQVRVU19PRkZTRVQgICAgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBWQlRfU1RBVFVTX01BU0sgICAgICAgICAgICAgICAgIDB4ODAwMAorI2RlZmluZSBWQlRfU1RBVFVTX1NISUZUICAgICAgICAgICAgICAgIDE1CisKKyNkZWZpbmUgVkJUX09DX0ZMQUdfT0ZGU0VUICAgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBWQlRfT0NfRkxBR19NQVNLICAgICAgICAgICAgICAgIDB4NDAwMAorI2RlZmluZSBWQlRfT0NfRkxBR19TSElGVCAgICAgICAgICAgICAgIDE0CisKKyNkZWZpbmUgVkJUX09DRkJfRU5fT0ZGU0VUICAgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBWQlRfT0NGQl9FTl9NQVNLICAgICAgICAgICAgICAgIDB4MjAwMAorI2RlZmluZSBWQlRfT0NGQl9FTl9TSElGVCAgICAgICAgICAgICAgIDEzCisKKyNkZWZpbmUgVkJUX09DX0FVVE9GRl9PRkZTRVQgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBWQlRfT0NfQVVUT0ZGX01BU0sgICAgICAgICAgICAgIDB4MTAwMAorI2RlZmluZSBWQlRfT0NfQVVUT0ZGX1NISUZUICAgICAgICAgICAgIDEyCisKKyNkZWZpbmUgVkJUX1NUQl9FTl9PRkZTRVQgICAgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBWQlRfU1RCX0VOX01BU0sgICAgICAgICAgICAgICAgIDB4MDgwMAorI2RlZmluZSBWQlRfU1RCX0VOX1NISUZUICAgICAgICAgICAgICAgIDExCisKKyNkZWZpbmUgVkJUX05ESVNfRU5fT0ZGU0VUICAgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBWQlRfTkRJU19FTl9NQVNLICAgICAgICAgICAgICAgIDB4MDQwMAorI2RlZmluZSBWQlRfTkRJU19FTl9TSElGVCAgICAgICAgICAgICAgIDEwCisKKyNkZWZpbmUgVkJUX1ZPU0VMX09GRlNFVCAgICAgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBWQlRfVk9TRUxfTUFTSyAgICAgICAgICAgICAgICAgIDB4MDA3MAorI2RlZmluZSBWQlRfVk9TRUxfU0hJRlQgICAgICAgICAgICAgICAgIDQKKworI2RlZmluZSBWQlRfUlNfT0ZGU0VUICAgICAgICAgICAgICAgICAgIENPTjBfT0ZGU0VUCisjZGVmaW5lIFZCVF9SU19NQVNLICAgICAgICAgICAgICAgICAgICAgMHgwMDA0CisjZGVmaW5lIFZCVF9SU19TSElGVCAgICAgICAgICAgICAgICAgICAgMgorCisjZGVmaW5lIFZCVF9PTl9TRUxfT0ZGU0VUICAgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVkJUX09OX1NFTF9NQVNLICAgICAgICAgICAgICAgICAweDAwMDIKKyNkZWZpbmUgVkJUX09OX1NFTF9TSElGVCAgICAgICAgICAgICAgICAxCisKKyNkZWZpbmUgVkJUX0VOX09GRlNFVCAgICAgICAgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBWQlRfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MDAwMQorI2RlZmluZSBWQlRfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgIDAKKworI2RlZmluZSBWQlRfQ0FMX09GRlNFVCAgICAgICAgICAgICAgICAgIENPTjFfT0ZGU0VUCisjZGVmaW5lIFZCVF9DQUxfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgwMEYwCisjZGVmaW5lIFZCVF9DQUxfU0hJRlQgICAgICAgICAgICAgICAgICAgNAorCisjZGVmaW5lIFZCVF9TVEJfVERfT0ZGU0VUICAgICAgICAgICAgICAgQ09OMl9PRkZTRVQKKyNkZWZpbmUgVkJUX1NUQl9URF9NQVNLICAgICAgICAgICAgICAgICAweDAwQzAKKyNkZWZpbmUgVkJUX1NUQl9URF9TSElGVCAgICAgICAgICAgICAgICA2CisKKyNkZWZpbmUgVkJUX09DX1REX09GRlNFVCAgICAgICAgICAgICAgICBDT04yX09GRlNFVAorI2RlZmluZSBWQlRfT0NfVERfTUFTSyAgICAgICAgICAgICAgICAgIDB4MDAzMAorI2RlZmluZSBWQlRfT0NfVERfU0hJRlQgICAgICAgICAgICAgICAgIDQKKworI2RlZmluZSBWQlRfRU5fRk9SQ0VfT0ZGU0VUICAgICAgICAgICAgIENPTjJfT0ZGU0VUCisjZGVmaW5lIFZCVF9FTl9GT1JDRV9NQVNLICAgICAgICAgICAgICAgMHgwMDAxCisjZGVmaW5lIFZCVF9FTl9GT1JDRV9TSElGVCAgICAgICAgICAgICAgMAorCisjZGVmaW5lIFZTSU1fU1RBVFVTX09GRlNFVCAgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVlNJTV9TVEFUVVNfTUFTSyAgICAgICAgICAgICAgICAweDgwMDAKKyNkZWZpbmUgVlNJTV9TVEFUVVNfU0hJRlQgICAgICAgICAgICAgICAxNQorCisjZGVmaW5lIFZTSU1fT0NfRkxBR19PRkZTRVQgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVlNJTV9PQ19GTEFHX01BU0sgICAgICAgICAgICAgICAweDQwMDAKKyNkZWZpbmUgVlNJTV9PQ19GTEFHX1NISUZUICAgICAgICAgICAgICAxNAorCisjZGVmaW5lIFZTSU1fT0NGQl9FTl9PRkZTRVQgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVlNJTV9PQ0ZCX0VOX01BU0sgICAgICAgICAgICAgICAweDIwMDAKKyNkZWZpbmUgVlNJTV9PQ0ZCX0VOX1NISUZUICAgICAgICAgICAgICAxMworCisjZGVmaW5lIFZTSU1fT0NfQVVUT0ZGX09GRlNFVCAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVlNJTV9PQ19BVVRPRkZfTUFTSyAgICAgICAgICAgICAweDEwMDAKKyNkZWZpbmUgVlNJTV9PQ19BVVRPRkZfU0hJRlQgICAgICAgICAgICAxMgorCisjZGVmaW5lIFZTSU1fU1RCX0VOX09GRlNFVCAgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVlNJTV9TVEJfRU5fTUFTSyAgICAgICAgICAgICAgICAweDA4MDAKKyNkZWZpbmUgVlNJTV9TVEJfRU5fU0hJRlQgICAgICAgICAgICAgICAxMQorCisjZGVmaW5lIFZTSU1fTkRJU19FTl9PRkZTRVQgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVlNJTV9ORElTX0VOX01BU0sgICAgICAgICAgICAgICAweDA0MDAKKyNkZWZpbmUgVlNJTV9ORElTX0VOX1NISUZUICAgICAgICAgICAgICAxMAorCisjZGVmaW5lIFZTSU1fVk9TRUxfT0ZGU0VUICAgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVlNJTV9WT1NFTF9NQVNLICAgICAgICAgICAgICAgICAweDAwMTAKKyNkZWZpbmUgVlNJTV9WT1NFTF9TSElGVCAgICAgICAgICAgICAgICA0CisKKyNkZWZpbmUgVlNJTV9SU19PRkZTRVQgICAgICAgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBWU0lNX1JTX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MDAwNAorI2RlZmluZSBWU0lNX1JTX1NISUZUICAgICAgICAgICAgICAgICAgIDIKKworI2RlZmluZSBWU0lNX09OX1NFTF9PRkZTRVQgICAgICAgICAgICAgIENPTjBfT0ZGU0VUCisjZGVmaW5lIFZTSU1fT05fU0VMX01BU0sgICAgICAgICAgICAgICAgMHgwMDAyCisjZGVmaW5lIFZTSU1fT05fU0VMX1NISUZUICAgICAgICAgICAgICAgMQorCisjZGVmaW5lIFZTSU1fRU5fT0ZGU0VUICAgICAgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVlNJTV9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAweDAwMDEKKyNkZWZpbmUgVlNJTV9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAwCisKKyNkZWZpbmUgVlNJTV9DQUxfT0ZGU0VUICAgICAgICAgICAgICAgICBDT04xX09GRlNFVAorI2RlZmluZSBWU0lNX0NBTF9NQVNLICAgICAgICAgICAgICAgICAgIDB4MDBGMAorI2RlZmluZSBWU0lNX0NBTF9TSElGVCAgICAgICAgICAgICAgICAgIDQKKworI2RlZmluZSBWU0lNX1NUQl9URF9PRkZTRVQgICAgICAgICAgICAgIENPTjJfT0ZGU0VUCisjZGVmaW5lIFZTSU1fU1RCX1REX01BU0sgICAgICAgICAgICAgICAgMHgwMEMwCisjZGVmaW5lIFZTSU1fU1RCX1REX1NISUZUICAgICAgICAgICAgICAgNgorCisjZGVmaW5lIFZTSU1fT0NfVERfT0ZGU0VUICAgICAgICAgICAgICAgQ09OMl9PRkZTRVQKKyNkZWZpbmUgVlNJTV9PQ19URF9NQVNLICAgICAgICAgICAgICAgICAweDAwMzAKKyNkZWZpbmUgVlNJTV9PQ19URF9TSElGVCAgICAgICAgICAgICAgICA0CisKKyNkZWZpbmUgVlNJTV9HUExET19FTl9PRkZTRVQgICAgICAgICAgICBDT04yX09GRlNFVAorI2RlZmluZSBWU0lNX0dQTERPX0VOX01BU0sgICAgICAgICAgICAgIDB4MDAwMgorI2RlZmluZSBWU0lNX0dQTERPX0VOX1NISUZUICAgICAgICAgICAgIDEKKworI2RlZmluZSBWU0lNX0VOX0ZPUkNFX09GRlNFVCAgICAgICAgICAgIENPTjJfT0ZGU0VUCisjZGVmaW5lIFZTSU1fRU5fRk9SQ0VfTUFTSyAgICAgICAgICAgICAgMHgwMDAxCisjZGVmaW5lIFZTSU1fRU5fRk9SQ0VfU0hJRlQgICAgICAgICAgICAgMAorCisjZGVmaW5lIFZTSU1fQ1NUT1BfT0ZGU0VUICAgICAgICAgICAgICAgQ09OM19PRkZTRVQKKyNkZWZpbmUgVlNJTV9DU1RPUF9NQVNLICAgICAgICAgICAgICAgICAweDA0MDAKKyNkZWZpbmUgVlNJTV9DU1RPUF9TSElGVCAgICAgICAgICAgICAgICAxMAorCisjZGVmaW5lIFZTSU1fU1JQX09GRlNFVCAgICAgICAgICAgICAgICAgQ09OM19PRkZTRVQKKyNkZWZpbmUgVlNJTV9TUlBfTUFTSyAgICAgICAgICAgICAgICAgICAweDAzMDAKKyNkZWZpbmUgVlNJTV9TUlBfU0hJRlQgICAgICAgICAgICAgICAgICA4CisKKyNkZWZpbmUgVlNJTV9TUk5fT0ZGU0VUICAgICAgICAgICAgICAgICBDT04zX09GRlNFVAorI2RlZmluZSBWU0lNX1NSTl9NQVNLICAgICAgICAgICAgICAgICAgIDB4MDBDMAorI2RlZmluZSBWU0lNX1NSTl9TSElGVCAgICAgICAgICAgICAgICAgIDYKKworI2RlZmluZSBWU0lNX0JJQVNfT0ZGU0VUICAgICAgICAgICAgICAgIENPTjNfT0ZGU0VUCisjZGVmaW5lIFZTSU1fQklBU19NQVNLICAgICAgICAgICAgICAgICAgMHgwMDMwCisjZGVmaW5lIFZTSU1fQklBU19TSElGVCAgICAgICAgICAgICAgICAgNAorCisjZGVmaW5lIFNJTUlPX0RSVl9PRkZTRVQgICAgICAgICAgICAgICAgQ09OM19PRkZTRVQKKyNkZWZpbmUgU0lNSU9fRFJWX01BU0sgICAgICAgICAgICAgICAgICAweDAwMEUKKyNkZWZpbmUgU0lNSU9fRFJWX1NISUZUICAgICAgICAgICAgICAgICAxCisKKyNkZWZpbmUgVlNJTTJfU1RBVFVTX09GRlNFVCAgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBWU0lNMl9TVEFUVVNfTUFTSyAgICAgICAgICAgICAgIDB4ODAwMAorI2RlZmluZSBWU0lNMl9TVEFUVVNfU0hJRlQgICAgICAgICAgICAgIDE1CisKKyNkZWZpbmUgVlNJTTJfT0NfRkxBR19PRkZTRVQgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBWU0lNMl9PQ19GTEFHX01BU0sgICAgICAgICAgICAgIDB4NDAwMAorI2RlZmluZSBWU0lNMl9PQ19GTEFHX1NISUZUICAgICAgICAgICAgIDE0CisKKyNkZWZpbmUgVlNJTTJfT0NGQl9FTl9PRkZTRVQgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBWU0lNMl9PQ0ZCX0VOX01BU0sgICAgICAgICAgICAgIDB4MjAwMAorI2RlZmluZSBWU0lNMl9PQ0ZCX0VOX1NISUZUICAgICAgICAgICAgIDEzCisKKyNkZWZpbmUgVlNJTTJfT0NfQVVUT0ZGX09GRlNFVCAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBWU0lNMl9PQ19BVVRPRkZfTUFTSyAgICAgICAgICAgIDB4MTAwMAorI2RlZmluZSBWU0lNMl9PQ19BVVRPRkZfU0hJRlQgICAgICAgICAgIDEyCisKKyNkZWZpbmUgVlNJTTJfU1RCX0VOX09GRlNFVCAgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBWU0lNMl9TVEJfRU5fTUFTSyAgICAgICAgICAgICAgIDB4MDgwMAorI2RlZmluZSBWU0lNMl9TVEJfRU5fU0hJRlQgICAgICAgICAgICAgIDExCisKKyNkZWZpbmUgVlNJTTJfTkRJU19FTl9PRkZTRVQgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBWU0lNMl9ORElTX0VOX01BU0sgICAgICAgICAgICAgIDB4MDQwMAorI2RlZmluZSBWU0lNMl9ORElTX0VOX1NISUZUICAgICAgICAgICAgIDEwCisKKyNkZWZpbmUgVlNJTTJfVk9TRUxfT0ZGU0VUICAgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBWU0lNMl9WT1NFTF9NQVNLICAgICAgICAgICAgICAgIDB4MDA3MAorI2RlZmluZSBWU0lNMl9WT1NFTF9TSElGVCAgICAgICAgICAgICAgIDQKKworI2RlZmluZSBWU0lNMl9SU19PRkZTRVQgICAgICAgICAgICAgICAgIENPTjBfT0ZGU0VUCisjZGVmaW5lIFZTSU0yX1JTX01BU0sgICAgICAgICAgICAgICAgICAgMHgwMDA0CisjZGVmaW5lIFZTSU0yX1JTX1NISUZUICAgICAgICAgICAgICAgICAgMgorCisjZGVmaW5lIFZTSU0yX09OX1NFTF9PRkZTRVQgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVlNJTTJfT05fU0VMX01BU0sgICAgICAgICAgICAgICAweDAwMDIKKyNkZWZpbmUgVlNJTTJfT05fU0VMX1NISUZUICAgICAgICAgICAgICAxCisKKyNkZWZpbmUgVlNJTTJfRU5fT0ZGU0VUICAgICAgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBWU0lNMl9FTl9NQVNLICAgICAgICAgICAgICAgICAgIDB4MDAwMQorI2RlZmluZSBWU0lNMl9FTl9TSElGVCAgICAgICAgICAgICAgICAgIDAKKworI2RlZmluZSBWU0lNMl9DQUxfT0ZGU0VUICAgICAgICAgICAgICAgIENPTjFfT0ZGU0VUCisjZGVmaW5lIFZTSU0yX0NBTF9NQVNLICAgICAgICAgICAgICAgICAgMHgwMEYwCisjZGVmaW5lIFZTSU0yX0NBTF9TSElGVCAgICAgICAgICAgICAgICAgNAorCisjZGVmaW5lIFZTSU0yX1NUQl9URF9PRkZTRVQgICAgICAgICAgICAgQ09OMl9PRkZTRVQKKyNkZWZpbmUgVlNJTTJfU1RCX1REX01BU0sgICAgICAgICAgICAgICAweDAwQzAKKyNkZWZpbmUgVlNJTTJfU1RCX1REX1NISUZUICAgICAgICAgICAgICA2CisKKyNkZWZpbmUgVlNJTTJfT0NfVERfT0ZGU0VUICAgICAgICAgICAgICBDT04yX09GRlNFVAorI2RlZmluZSBWU0lNMl9PQ19URF9NQVNLICAgICAgICAgICAgICAgIDB4MDAzMAorI2RlZmluZSBWU0lNMl9PQ19URF9TSElGVCAgICAgICAgICAgICAgIDQKKworI2RlZmluZSBWU0lNMl9HUExET19FTl9PRkZTRVQgICAgICAgICAgIENPTjJfT0ZGU0VUCisjZGVmaW5lIFZTSU0yX0dQTERPX0VOX01BU0sgICAgICAgICAgICAgMHgwMDAyCisjZGVmaW5lIFZTSU0yX0dQTERPX0VOX1NISUZUICAgICAgICAgICAgMQorCisjZGVmaW5lIFZTSU0yX0VOX0ZPUkNFX09GRlNFVCAgICAgICAgICAgQ09OMl9PRkZTRVQKKyNkZWZpbmUgVlNJTTJfRU5fRk9SQ0VfTUFTSyAgICAgICAgICAgICAweDAwMDEKKyNkZWZpbmUgVlNJTTJfRU5fRk9SQ0VfU0hJRlQgICAgICAgICAgICAwCisKKyNkZWZpbmUgR1BJT19TSU8yX09GRlNFVCAgICAgICAgICAgICAgICBDT04zX09GRlNFVAorI2RlZmluZSBHUElPX1NJTzJfTUFTSyAgICAgICAgICAgICAgICAgIDB4ODAwMAorI2RlZmluZSBHUElPX1NJTzJfU0hJRlQgICAgICAgICAgICAgICAgIDE1CisKKyNkZWZpbmUgR1BJT19TQ0xLMl9PRkZTRVQgICAgICAgICAgICAgICBDT04zX09GRlNFVAorI2RlZmluZSBHUElPX1NDTEsyX01BU0sgICAgICAgICAgICAgICAgIDB4NDAwMAorI2RlZmluZSBHUElPX1NDTEsyX1NISUZUICAgICAgICAgICAgICAgIDE0CisKKyNkZWZpbmUgR1BJT19TUlNUMl9PRkZTRVQgICAgICAgICAgICAgICBDT04zX09GRlNFVAorI2RlZmluZSBHUElPX1NSU1QyX01BU0sgICAgICAgICAgICAgICAgIDB4MjAwMAorI2RlZmluZSBHUElPX1NSU1QyX1NISUZUICAgICAgICAgICAgICAgIDEzCisKKyNkZWZpbmUgU0lNMl9DU1RPUF9PRkZTRVQgICAgICAgICAgICAgICBDT04zX09GRlNFVAorI2RlZmluZSBTSU0yX0NTVE9QX01BU0sgICAgICAgICAgICAgICAgIDB4MDQwMAorI2RlZmluZSBTSU0yX0NTVE9QX1NISUZUICAgICAgICAgICAgICAgIDEwCisKKyNkZWZpbmUgU0lNMl9TUlBfT0ZGU0VUICAgICAgICAgICAgICAgICBDT04zX09GRlNFVAorI2RlZmluZSBTSU0yX1NSUF9NQVNLICAgICAgICAgICAgICAgICAgIDB4MDMwMAorI2RlZmluZSBTSU0yX1NSUF9TSElGVCAgICAgICAgICAgICAgICAgIDgKKworI2RlZmluZSBTSU0yX1NSTl9PRkZTRVQgICAgICAgICAgICAgICAgIENPTjNfT0ZGU0VUCisjZGVmaW5lIFNJTTJfU1JOX01BU0sgICAgICAgICAgICAgICAgICAgMHgwMEMwCisjZGVmaW5lIFNJTTJfU1JOX1NISUZUICAgICAgICAgICAgICAgICAgNgorCisjZGVmaW5lIFNJTTJfQklBU19PRkZTRVQgICAgICAgICAgICAgICAgQ09OM19PRkZTRVQKKyNkZWZpbmUgU0lNMl9CSUFTX01BU0sgICAgICAgICAgICAgICAgICAweDAwMzAKKyNkZWZpbmUgU0lNMl9CSUFTX1NISUZUICAgICAgICAgICAgICAgICA0CisKKyNkZWZpbmUgU0lNSU8yX0RSVl9PRkZTRVQgICAgICAgICAgICAgICBDT04zX09GRlNFVAorI2RlZmluZSBTSU1JTzJfRFJWX01BU0sgICAgICAgICAgICAgICAgIDB4MDAwRQorI2RlZmluZSBTSU1JTzJfRFJWX1NISUZUICAgICAgICAgICAgICAgIDEKKworI2RlZmluZSBTSU0yX0dQSU9fRU5fT0ZGU0VUICAgICAgICAgICAgIENPTjNfT0ZGU0VUCisjZGVmaW5lIFNJTTJfR1BJT19FTl9NQVNLICAgICAgICAgICAgICAgMHgwMDAxCisjZGVmaW5lIFNJTTJfR1BJT19FTl9TSElGVCAgICAgICAgICAgICAgMAorCisjZGVmaW5lIFZSVENfU1RBVFVTX09GRlNFVCAgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVlJUQ19TVEFUVVNfTUFTSyAgICAgICAgICAgICAgICAweDgwMDAKKyNkZWZpbmUgVlJUQ19TVEFUVVNfU0hJRlQgICAgICAgICAgICAgICAxNQorCisjZGVmaW5lIFZSVENfT0NfRkxBR19PRkZTRVQgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVlJUQ19PQ19GTEFHX01BU0sgICAgICAgICAgICAgICAweDQwMDAKKyNkZWZpbmUgVlJUQ19PQ19GTEFHX1NISUZUICAgICAgICAgICAgICAxNAorCisjZGVmaW5lIFZSVENfT0NGQl9FTl9PRkZTRVQgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVlJUQ19PQ0ZCX0VOX01BU0sgICAgICAgICAgICAgICAweDIwMDAKKyNkZWZpbmUgVlJUQ19PQ0ZCX0VOX1NISUZUICAgICAgICAgICAgICAxMworCisjZGVmaW5lIFZSVENfT0NfQVVUT0ZGX09GRlNFVCAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVlJUQ19PQ19BVVRPRkZfTUFTSyAgICAgICAgICAgICAweDEwMDAKKyNkZWZpbmUgVlJUQ19PQ19BVVRPRkZfU0hJRlQgICAgICAgICAgICAxMgorCisjZGVmaW5lIFZSVENfU1RCX0VOX09GRlNFVCAgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVlJUQ19TVEJfRU5fTUFTSyAgICAgICAgICAgICAgICAweDA4MDAKKyNkZWZpbmUgVlJUQ19TVEJfRU5fU0hJRlQgICAgICAgICAgICAgICAxMQorCisjZGVmaW5lIFZSVENfTkRJU19FTl9PRkZTRVQgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVlJUQ19ORElTX0VOX01BU0sgICAgICAgICAgICAgICAweDA0MDAKKyNkZWZpbmUgVlJUQ19ORElTX0VOX1NISUZUICAgICAgICAgICAgICAxMAorCisjZGVmaW5lIFZSVENfUlNfT0ZGU0VUICAgICAgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVlJUQ19SU19NQVNLICAgICAgICAgICAgICAgICAgICAweDAwMDQKKyNkZWZpbmUgVlJUQ19SU19TSElGVCAgICAgICAgICAgICAgICAgICAyCisKKyNkZWZpbmUgVlJUQ19PTl9TRUxfT0ZGU0VUICAgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBWUlRDX09OX1NFTF9NQVNLICAgICAgICAgICAgICAgIDB4MDAwMgorI2RlZmluZSBWUlRDX09OX1NFTF9TSElGVCAgICAgICAgICAgICAgIDEKKworI2RlZmluZSBWUlRDX0VOX09GRlNFVCAgICAgICAgICAgICAgICAgIENPTjBfT0ZGU0VUCisjZGVmaW5lIFZSVENfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgMHgwMDAxCisjZGVmaW5lIFZSVENfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgMAorCisjZGVmaW5lIFZSVENfQ0FMX09GRlNFVCAgICAgICAgICAgICAgICAgQ09OMV9PRkZTRVQKKyNkZWZpbmUgVlJUQ19DQUxfTUFTSyAgICAgICAgICAgICAgICAgICAweDAwRjAKKyNkZWZpbmUgVlJUQ19DQUxfU0hJRlQgICAgICAgICAgICAgICAgICA0CisKKyNkZWZpbmUgVlJUQ19TVEJfVERfT0ZGU0VUICAgICAgICAgICAgICBDT04yX09GRlNFVAorI2RlZmluZSBWUlRDX1NUQl9URF9NQVNLICAgICAgICAgICAgICAgIDB4MDBDMAorI2RlZmluZSBWUlRDX1NUQl9URF9TSElGVCAgICAgICAgICAgICAgIDYKKworI2RlZmluZSBWUlRDX09DX1REX09GRlNFVCAgICAgICAgICAgICAgIENPTjJfT0ZGU0VUCisjZGVmaW5lIFZSVENfT0NfVERfTUFTSyAgICAgICAgICAgICAgICAgMHgwMDMwCisjZGVmaW5lIFZSVENfT0NfVERfU0hJRlQgICAgICAgICAgICAgICAgNAorCisjZGVmaW5lIFZSVENfRU5fRk9SQ0VfT0ZGU0VUICAgICAgICAgICAgQ09OMl9PRkZTRVQKKyNkZWZpbmUgVlJUQ19FTl9GT1JDRV9NQVNLICAgICAgICAgICAgICAweDAwMDEKKyNkZWZpbmUgVlJUQ19FTl9GT1JDRV9TSElGVCAgICAgICAgICAgICAwCisKKyNkZWZpbmUgVklCUl9TVEFUVVNfT0ZGU0VUICAgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBWSUJSX1NUQVRVU19NQVNLICAgICAgICAgICAgICAgIDB4ODAwMAorI2RlZmluZSBWSUJSX1NUQVRVU19TSElGVCAgICAgICAgICAgICAgIDE1CisKKyNkZWZpbmUgVklCUl9PQ19GTEFHX09GRlNFVCAgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBWSUJSX09DX0ZMQUdfTUFTSyAgICAgICAgICAgICAgIDB4NDAwMAorI2RlZmluZSBWSUJSX09DX0ZMQUdfU0hJRlQgICAgICAgICAgICAgIDE0CisKKyNkZWZpbmUgVklCUl9PQ0ZCX0VOX09GRlNFVCAgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBWSUJSX09DRkJfRU5fTUFTSyAgICAgICAgICAgICAgIDB4MjAwMAorI2RlZmluZSBWSUJSX09DRkJfRU5fU0hJRlQgICAgICAgICAgICAgIDEzCisKKyNkZWZpbmUgVklCUl9PQ19BVVRPRkZfT0ZGU0VUICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBWSUJSX09DX0FVVE9GRl9NQVNLICAgICAgICAgICAgIDB4MTAwMAorI2RlZmluZSBWSUJSX09DX0FVVE9GRl9TSElGVCAgICAgICAgICAgIDEyCisKKyNkZWZpbmUgVklCUl9TVEJfRU5fT0ZGU0VUICAgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBWSUJSX1NUQl9FTl9NQVNLICAgICAgICAgICAgICAgIDB4MDgwMAorI2RlZmluZSBWSUJSX1NUQl9FTl9TSElGVCAgICAgICAgICAgICAgIDExCisKKyNkZWZpbmUgVklCUl9ORElTX0VOX09GRlNFVCAgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBWSUJSX05ESVNfRU5fTUFTSyAgICAgICAgICAgICAgIDB4MDQwMAorI2RlZmluZSBWSUJSX05ESVNfRU5fU0hJRlQgICAgICAgICAgICAgIDEwCisKKyNkZWZpbmUgVklCUl9WT1NFTF9PRkZTRVQgICAgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBWSUJSX1ZPU0VMX01BU0sgICAgICAgICAgICAgICAgIDB4MDA3MAorI2RlZmluZSBWSUJSX1ZPU0VMX1NISUZUICAgICAgICAgICAgICAgIDQKKworI2RlZmluZSBWSUJSX1JTX09GRlNFVCAgICAgICAgICAgICAgICAgIENPTjBfT0ZGU0VUCisjZGVmaW5lIFZJQlJfUlNfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgwMDA0CisjZGVmaW5lIFZJQlJfUlNfU0hJRlQgICAgICAgICAgICAgICAgICAgMgorCisjZGVmaW5lIFZJQlJfT05fU0VMX09GRlNFVCAgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVklCUl9PTl9TRUxfTUFTSyAgICAgICAgICAgICAgICAweDAwMDIKKyNkZWZpbmUgVklCUl9PTl9TRUxfU0hJRlQgICAgICAgICAgICAgICAxCisKKyNkZWZpbmUgVklCUl9FTl9PRkZTRVQgICAgICAgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBWSUJSX0VOX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MDAwMQorI2RlZmluZSBWSUJSX0VOX1NISUZUICAgICAgICAgICAgICAgICAgIDAKKworI2RlZmluZSBWSUJSX1NUQl9TRUxfT0ZGU0VUICAgICAgICAgICAgIENPTjFfT0ZGU0VUCisjZGVmaW5lIFZJQlJfU1RCX1NFTF9NQVNLICAgICAgICAgICAgICAgMHgxMDAwCisjZGVmaW5lIFZJQlJfU1RCX1NFTF9TSElGVCAgICAgICAgICAgICAgMTIKKworI2RlZmluZSBWSUJSX0NBTF9PRkZTRVQgICAgICAgICAgICAgICAgIENPTjFfT0ZGU0VUCisjZGVmaW5lIFZJQlJfQ0FMX01BU0sgICAgICAgICAgICAgICAgICAgMHgwMEYwCisjZGVmaW5lIFZJQlJfQ0FMX1NISUZUICAgICAgICAgICAgICAgICAgNAorCisjZGVmaW5lIFZJQlJfU1RCX1REX09GRlNFVCAgICAgICAgICAgICAgQ09OMl9PRkZTRVQKKyNkZWZpbmUgVklCUl9TVEJfVERfTUFTSyAgICAgICAgICAgICAgICAweDAwQzAKKyNkZWZpbmUgVklCUl9TVEJfVERfU0hJRlQgICAgICAgICAgICAgICA2CisKKyNkZWZpbmUgVklCUl9PQ19URF9PRkZTRVQgICAgICAgICAgICAgICBDT04yX09GRlNFVAorI2RlZmluZSBWSUJSX09DX1REX01BU0sgICAgICAgICAgICAgICAgIDB4MDAzMAorI2RlZmluZSBWSUJSX09DX1REX1NISUZUICAgICAgICAgICAgICAgIDQKKworI2RlZmluZSBWSUJSX0VOX0ZPUkNFX09GRlNFVCAgICAgICAgICAgIENPTjJfT0ZGU0VUCisjZGVmaW5lIFZJQlJfRU5fRk9SQ0VfTUFTSyAgICAgICAgICAgICAgMHgwMDAxCisjZGVmaW5lIFZJQlJfRU5fRk9SQ0VfU0hJRlQgICAgICAgICAgICAgMAorCisjZGVmaW5lIFZNQ19TVEFUVVNfT0ZGU0VUICAgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVk1DX1NUQVRVU19NQVNLICAgICAgICAgICAgICAgICAweDgwMDAKKyNkZWZpbmUgVk1DX1NUQVRVU19TSElGVCAgICAgICAgICAgICAgICAxNQorCisjZGVmaW5lIFZNQ19PQ19GTEFHX09GRlNFVCAgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVk1DX09DX0ZMQUdfTUFTSyAgICAgICAgICAgICAgICAweDQwMDAKKyNkZWZpbmUgVk1DX09DX0ZMQUdfU0hJRlQgICAgICAgICAgICAgICAxNAorCisjZGVmaW5lIFZNQ19PQ0ZCX0VOX09GRlNFVCAgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVk1DX09DRkJfRU5fTUFTSyAgICAgICAgICAgICAgICAweDIwMDAKKyNkZWZpbmUgVk1DX09DRkJfRU5fU0hJRlQgICAgICAgICAgICAgICAxMworCisjZGVmaW5lIFZNQ19PQ19BVVRPRkZfT0ZGU0VUICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVk1DX09DX0FVVE9GRl9NQVNLICAgICAgICAgICAgICAweDEwMDAKKyNkZWZpbmUgVk1DX09DX0FVVE9GRl9TSElGVCAgICAgICAgICAgICAxMgorCisjZGVmaW5lIFZNQ19TVEJfRU5fT0ZGU0VUICAgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVk1DX1NUQl9FTl9NQVNLICAgICAgICAgICAgICAgICAweDA4MDAKKyNkZWZpbmUgVk1DX1NUQl9FTl9TSElGVCAgICAgICAgICAgICAgICAxMQorCisjZGVmaW5lIFZNQ19ORElTX0VOX09GRlNFVCAgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVk1DX05ESVNfRU5fTUFTSyAgICAgICAgICAgICAgICAweDA0MDAKKyNkZWZpbmUgVk1DX05ESVNfRU5fU0hJRlQgICAgICAgICAgICAgICAxMAorCisjZGVmaW5lIFZNQ19WT1NFTF9PRkZTRVQgICAgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVk1DX1ZPU0VMX01BU0sgICAgICAgICAgICAgICAgICAweDAwNzAKKyNkZWZpbmUgVk1DX1ZPU0VMX1NISUZUICAgICAgICAgICAgICAgICA0CisKKyNkZWZpbmUgVk1DX1JTX09GRlNFVCAgICAgICAgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBWTUNfUlNfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MDAwNAorI2RlZmluZSBWTUNfUlNfU0hJRlQgICAgICAgICAgICAgICAgICAgIDIKKworI2RlZmluZSBWTUNfT05fU0VMX09GRlNFVCAgICAgICAgICAgICAgIENPTjBfT0ZGU0VUCisjZGVmaW5lIFZNQ19PTl9TRUxfTUFTSyAgICAgICAgICAgICAgICAgMHgwMDAyCisjZGVmaW5lIFZNQ19PTl9TRUxfU0hJRlQgICAgICAgICAgICAgICAgMQorCisjZGVmaW5lIFZNQ19FTl9PRkZTRVQgICAgICAgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVk1DX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAweDAwMDEKKyNkZWZpbmUgVk1DX0VOX1NISUZUICAgICAgICAgICAgICAgICAgICAwCisKKyNkZWZpbmUgVk1DX1NUQl9TRUxfT0ZGU0VUICAgICAgICAgICAgICBDT04xX09GRlNFVAorI2RlZmluZSBWTUNfU1RCX1NFTF9NQVNLICAgICAgICAgICAgICAgIDB4MTAwMAorI2RlZmluZSBWTUNfU1RCX1NFTF9TSElGVCAgICAgICAgICAgICAgIDEyCisKKyNkZWZpbmUgVk1DX0NBTF9PRkZTRVQgICAgICAgICAgICAgICAgICBDT04xX09GRlNFVAorI2RlZmluZSBWTUNfQ0FMX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MDBGMAorI2RlZmluZSBWTUNfQ0FMX1NISUZUICAgICAgICAgICAgICAgICAgIDQKKworI2RlZmluZSBWTUNfU1RCX1REX09GRlNFVCAgICAgICAgICAgICAgIENPTjJfT0ZGU0VUCisjZGVmaW5lIFZNQ19TVEJfVERfTUFTSyAgICAgICAgICAgICAgICAgMHgwMEMwCisjZGVmaW5lIFZNQ19TVEJfVERfU0hJRlQgICAgICAgICAgICAgICAgNgorCisjZGVmaW5lIFZNQ19PQ19URF9PRkZTRVQgICAgICAgICAgICAgICAgQ09OMl9PRkZTRVQKKyNkZWZpbmUgVk1DX09DX1REX01BU0sgICAgICAgICAgICAgICAgICAweDAwMzAKKyNkZWZpbmUgVk1DX09DX1REX1NISUZUICAgICAgICAgICAgICAgICA0CisKKyNkZWZpbmUgVk1DX0VOX0ZPUkNFX09GRlNFVCAgICAgICAgICAgICBDT04yX09GRlNFVAorI2RlZmluZSBWTUNfRU5fRk9SQ0VfTUFTSyAgICAgICAgICAgICAgIDB4MDAwMQorI2RlZmluZSBWTUNfRU5fRk9SQ0VfU0hJRlQgICAgICAgICAgICAgIDAKKworI2RlZmluZSBWSU8xOF9TVEFUVVNfT0ZGU0VUICAgICAgICAgICAgIENPTjBfT0ZGU0VUCisjZGVmaW5lIFZJTzE4X1NUQVRVU19NQVNLICAgICAgICAgICAgICAgMHg4MDAwCisjZGVmaW5lIFZJTzE4X1NUQVRVU19TSElGVCAgICAgICAgICAgICAgMTUKKworI2RlZmluZSBWSU8xOF9PQ19GTEFHX09GRlNFVCAgICAgICAgICAgIENPTjBfT0ZGU0VUCisjZGVmaW5lIFZJTzE4X09DX0ZMQUdfTUFTSyAgICAgICAgICAgICAgMHg0MDAwCisjZGVmaW5lIFZJTzE4X09DX0ZMQUdfU0hJRlQgICAgICAgICAgICAgMTQKKworI2RlZmluZSBWSU8xOF9PQ0ZCX0VOX09GRlNFVCAgICAgICAgICAgIENPTjBfT0ZGU0VUCisjZGVmaW5lIFZJTzE4X09DRkJfRU5fTUFTSyAgICAgICAgICAgICAgMHgyMDAwCisjZGVmaW5lIFZJTzE4X09DRkJfRU5fU0hJRlQgICAgICAgICAgICAgMTMKKworI2RlZmluZSBWSU8xOF9PQ19BVVRPRkZfT0ZGU0VUICAgICAgICAgIENPTjBfT0ZGU0VUCisjZGVmaW5lIFZJTzE4X09DX0FVVE9GRl9NQVNLICAgICAgICAgICAgMHgxMDAwCisjZGVmaW5lIFZJTzE4X09DX0FVVE9GRl9TSElGVCAgICAgICAgICAgMTIKKworI2RlZmluZSBWSU8xOF9ORElTX0VOX09GRlNFVCAgICAgICAgICAgIENPTjBfT0ZGU0VUCisjZGVmaW5lIFZJTzE4X05ESVNfRU5fTUFTSyAgICAgICAgICAgICAgMHgwNDAwCisjZGVmaW5lIFZJTzE4X05ESVNfRU5fU0hJRlQgICAgICAgICAgICAgMTAKKworI2RlZmluZSBWSU8xOF9SU19PRkZTRVQgICAgICAgICAgICAgICAgIENPTjBfT0ZGU0VUCisjZGVmaW5lIFZJTzE4X1JTX01BU0sgICAgICAgICAgICAgICAgICAgMHgwMDA0CisjZGVmaW5lIFZJTzE4X1JTX1NISUZUICAgICAgICAgICAgICAgICAgMgorCisjZGVmaW5lIFZJTzE4X09OX1NFTF9PRkZTRVQgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVklPMThfT05fU0VMX01BU0sgICAgICAgICAgICAgICAweDAwMDIKKyNkZWZpbmUgVklPMThfT05fU0VMX1NISUZUICAgICAgICAgICAgICAxCisKKyNkZWZpbmUgVklPMThfRU5fT0ZGU0VUICAgICAgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBWSU8xOF9FTl9NQVNLICAgICAgICAgICAgICAgICAgIDB4MDAwMQorI2RlZmluZSBWSU8xOF9FTl9TSElGVCAgICAgICAgICAgICAgICAgIDAKKworI2RlZmluZSBWSU8xOF9DQUxfT0ZGU0VUICAgICAgICAgICAgICAgIENPTjFfT0ZGU0VUCisjZGVmaW5lIFZJTzE4X0NBTF9NQVNLICAgICAgICAgICAgICAgICAgMHgwMEYwCisjZGVmaW5lIFZJTzE4X0NBTF9TSElGVCAgICAgICAgICAgICAgICAgNAorCisjZGVmaW5lIFZJTzE4X1NUQl9URF9PRkZTRVQgICAgICAgICAgICAgQ09OMl9PRkZTRVQKKyNkZWZpbmUgVklPMThfU1RCX1REX01BU0sgICAgICAgICAgICAgICAweDAwQzAKKyNkZWZpbmUgVklPMThfU1RCX1REX1NISUZUICAgICAgICAgICAgICA2CisKKyNkZWZpbmUgVklPMThfT0NfVERfT0ZGU0VUICAgICAgICAgICAgICBDT04yX09GRlNFVAorI2RlZmluZSBWSU8xOF9PQ19URF9NQVNLICAgICAgICAgICAgICAgIDB4MDAzMAorI2RlZmluZSBWSU8xOF9PQ19URF9TSElGVCAgICAgICAgICAgICAgIDQKKworI2RlZmluZSBWSU8xOF9FTl9GT1JDRV9PRkZTRVQgICAgICAgICAgIENPTjJfT0ZGU0VUCisjZGVmaW5lIFZJTzE4X0VOX0ZPUkNFX01BU0sgICAgICAgICAgICAgMHgwMDAxCisjZGVmaW5lIFZJTzE4X0VOX0ZPUkNFX1NISUZUICAgICAgICAgICAgMAorCisjZGVmaW5lIFZTRl9TVEFUVVNfT0ZGU0VUICAgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVlNGX1NUQVRVU19NQVNLICAgICAgICAgICAgICAgICAweDgwMDAKKyNkZWZpbmUgVlNGX1NUQVRVU19TSElGVCAgICAgICAgICAgICAgICAxNQorCisjZGVmaW5lIFZTRl9PQ19GTEFHX09GRlNFVCAgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVlNGX09DX0ZMQUdfTUFTSyAgICAgICAgICAgICAgICAweDQwMDAKKyNkZWZpbmUgVlNGX09DX0ZMQUdfU0hJRlQgICAgICAgICAgICAgICAxNAorCisjZGVmaW5lIFZTRl9PQ0ZCX0VOX09GRlNFVCAgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVlNGX09DRkJfRU5fTUFTSyAgICAgICAgICAgICAgICAweDIwMDAKKyNkZWZpbmUgVlNGX09DRkJfRU5fU0hJRlQgICAgICAgICAgICAgICAxMworCisjZGVmaW5lIFZTRl9PQ19BVVRPRkZfT0ZGU0VUICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVlNGX09DX0FVVE9GRl9NQVNLICAgICAgICAgICAgICAweDEwMDAKKyNkZWZpbmUgVlNGX09DX0FVVE9GRl9TSElGVCAgICAgICAgICAgICAxMgorCisjZGVmaW5lIFZTRl9TVEJfRU5fT0ZGU0VUICAgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVlNGX1NUQl9FTl9NQVNLICAgICAgICAgICAgICAgICAweDA4MDAKKyNkZWZpbmUgVlNGX1NUQl9FTl9TSElGVCAgICAgICAgICAgICAgICAxMQorCisjZGVmaW5lIFZTRl9ORElTX0VOX09GRlNFVCAgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVlNGX05ESVNfRU5fTUFTSyAgICAgICAgICAgICAgICAweDA0MDAKKyNkZWZpbmUgVlNGX05ESVNfRU5fU0hJRlQgICAgICAgICAgICAgICAxMAorCisjZGVmaW5lIFZTRl9WT1NFTF9PRkZTRVQgICAgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVlNGX1ZPU0VMX01BU0sgICAgICAgICAgICAgICAgICAweDAwNzAKKyNkZWZpbmUgVlNGX1ZPU0VMX1NISUZUICAgICAgICAgICAgICAgICA0CisKKyNkZWZpbmUgVlNGX1JTX09GRlNFVCAgICAgICAgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBWU0ZfUlNfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MDAwNAorI2RlZmluZSBWU0ZfUlNfU0hJRlQgICAgICAgICAgICAgICAgICAgIDIKKworI2RlZmluZSBWU0ZfRU5fT0ZGU0VUICAgICAgICAgICAgICAgICAgIENPTjBfT0ZGU0VUCisjZGVmaW5lIFZTRl9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgwMDAxCisjZGVmaW5lIFZTRl9FTl9TSElGVCAgICAgICAgICAgICAgICAgICAgMAorCisjZGVmaW5lIFZTRl9DQUxfT0ZGU0VUICAgICAgICAgICAgICAgICAgQ09OMV9PRkZTRVQKKyNkZWZpbmUgVlNGX0NBTF9NQVNLICAgICAgICAgICAgICAgICAgICAweDAwRjAKKyNkZWZpbmUgVlNGX0NBTF9TSElGVCAgICAgICAgICAgICAgICAgICA0CisKKyNkZWZpbmUgVlNGX1NUQl9URF9PRkZTRVQgICAgICAgICAgICAgICBDT04yX09GRlNFVAorI2RlZmluZSBWU0ZfU1RCX1REX01BU0sgICAgICAgICAgICAgICAgIDB4MDBDMAorI2RlZmluZSBWU0ZfU1RCX1REX1NISUZUICAgICAgICAgICAgICAgIDYKKworI2RlZmluZSBWU0ZfT0NfVERfT0ZGU0VUICAgICAgICAgICAgICAgIENPTjJfT0ZGU0VUCisjZGVmaW5lIFZTRl9PQ19URF9NQVNLICAgICAgICAgICAgICAgICAgMHgwMDMwCisjZGVmaW5lIFZTRl9PQ19URF9TSElGVCAgICAgICAgICAgICAgICAgNAorCisjZGVmaW5lIFZTRl9FTl9GT1JDRV9PRkZTRVQgICAgICAgICAgICAgQ09OMl9PRkZTRVQKKyNkZWZpbmUgVlNGX0VOX0ZPUkNFX01BU0sgICAgICAgICAgICAgICAweDAwMDEKKyNkZWZpbmUgVlNGX0VOX0ZPUkNFX1NISUZUICAgICAgICAgICAgICAwCisKKyNkZWZpbmUgVlNGX0FVVE9GRl9ETFlfU0VMX09GRlNFVCAgICAgICBDT04zX09GRlNFVAorI2RlZmluZSBWU0ZfQVVUT0ZGX0RMWV9TRUxfTUFTSyAgICAgICAgIDB4MDBGMAorI2RlZmluZSBWU0ZfQVVUT0ZGX0RMWV9TRUxfU0hJRlQgICAgICAgIDQKKworI2RlZmluZSBWU0ZfQVVUT0ZGX0VOX09GRlNFVCAgICAgICAgICAgIENPTjNfT0ZGU0VUCisjZGVmaW5lIFZTRl9BVVRPRkZfRU5fTUFTSyAgICAgICAgICAgICAgMHgwMDAxCisjZGVmaW5lIFZTRl9BVVRPRkZfRU5fU0hJRlQgICAgICAgICAgICAgMAorCisjZGVmaW5lIFZDT1JFX1NUQVRVU19PRkZTRVQgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVkNPUkVfU1RBVFVTX01BU0sgICAgICAgICAgICAgICAweDgwMDAKKyNkZWZpbmUgVkNPUkVfU1RBVFVTX1NISUZUICAgICAgICAgICAgICAxNQorCisjZGVmaW5lIFZDT1JFX09DX0ZMQUdfT0ZGU0VUICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVkNPUkVfT0NfRkxBR19NQVNLICAgICAgICAgICAgICAweDQwMDAKKyNkZWZpbmUgVkNPUkVfT0NfRkxBR19TSElGVCAgICAgICAgICAgICAxNAorCisjZGVmaW5lIFZDT1JFX09DRkJfRU5fT0ZGU0VUICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVkNPUkVfT0NGQl9FTl9NQVNLICAgICAgICAgICAgICAweDIwMDAKKyNkZWZpbmUgVkNPUkVfT0NGQl9FTl9TSElGVCAgICAgICAgICAgICAxMworCisjZGVmaW5lIFZDT1JFX09DX0FVVE9GRl9PRkZTRVQgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVkNPUkVfT0NfQVVUT0ZGX01BU0sgICAgICAgICAgICAweDEwMDAKKyNkZWZpbmUgVkNPUkVfT0NfQVVUT0ZGX1NISUZUICAgICAgICAgICAxMgorCisjZGVmaW5lIFZDT1JFX1NUQl9FTl9PRkZTRVQgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVkNPUkVfU1RCX0VOX01BU0sgICAgICAgICAgICAgICAweDA4MDAKKyNkZWZpbmUgVkNPUkVfU1RCX0VOX1NISUZUICAgICAgICAgICAgICAxMQorCisjZGVmaW5lIFZDT1JFX0FOVElVTlNIX0ROX09GRlNFVCAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVkNPUkVfQU5USVVOU0hfRE5fTUFTSyAgICAgICAgICAweDA0MDAKKyNkZWZpbmUgVkNPUkVfQU5USVVOU0hfRE5fU0hJRlQgICAgICAgICAxMAorCisjZGVmaW5lIFZDT1JFX1ZGQkFESl9PRkZTRVQgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVkNPUkVfVkZCQURKX01BU0sgICAgICAgICAgICAgICAweDAxRjAKKyNkZWZpbmUgVkNPUkVfVkZCQURKX1NISUZUICAgICAgICAgICAgICA0CisKKyNkZWZpbmUgVkNPUkVfU0ZTVFJFTl9PRkZTRVQgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBWQ09SRV9TRlNUUkVOX01BU0sgICAgICAgICAgICAgIDB4MDAwOAorI2RlZmluZSBWQ09SRV9TRlNUUkVOX1NISUZUICAgICAgICAgICAgIDMKKworI2RlZmluZSBWQ09SRV9SU19PRkZTRVQgICAgICAgICAgICAgICAgIENPTjBfT0ZGU0VUCisjZGVmaW5lIFZDT1JFX1JTX01BU0sgICAgICAgICAgICAgICAgICAgMHgwMDA0CisjZGVmaW5lIFZDT1JFX1JTX1NISUZUICAgICAgICAgICAgICAgICAgMgorCisjZGVmaW5lIFZDT1JFX09OX1NFTF9PRkZTRVQgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVkNPUkVfT05fU0VMX01BU0sgICAgICAgICAgICAgICAweDAwMDIKKyNkZWZpbmUgVkNPUkVfT05fU0VMX1NISUZUICAgICAgICAgICAgICAxCisKKyNkZWZpbmUgVkNPUkVfRU5fT0ZGU0VUICAgICAgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBWQ09SRV9FTl9NQVNLICAgICAgICAgICAgICAgICAgIDB4MDAwMQorI2RlZmluZSBWQ09SRV9FTl9TSElGVCAgICAgICAgICAgICAgICAgIDAKKworI2RlZmluZSBWQ09SRV9CVUNLX1NUQVRVU19PRkZTRVQgICAgICAgIENPTjFfT0ZGU0VUCisjZGVmaW5lIFZDT1JFX0JVQ0tfU1RBVFVTX01BU0sgICAgICAgICAgMHg4MDAwCisjZGVmaW5lIFZDT1JFX0JVQ0tfU1RBVFVTX1NISUZUICAgICAgICAgMTUKKworI2RlZmluZSBWQ09SRV9DUE1DS1NFTF9PRkZTRVQgICAgICAgICAgIENPTjFfT0ZGU0VUCisjZGVmaW5lIFZDT1JFX0NQTUNLU0VMX01BU0sgICAgICAgICAgICAgMHgwNDAwCisjZGVmaW5lIFZDT1JFX0NQTUNLU0VMX1NISUZUICAgICAgICAgICAgMTAKKworI2RlZmluZSBWQ09SRV9WRkJBREpfU0xFRVBfT0ZGU0VUICAgICAgIENPTjFfT0ZGU0VUCisjZGVmaW5lIFZDT1JFX1ZGQkFESl9TTEVFUF9NQVNLICAgICAgICAgMHgwMUYwCisjZGVmaW5lIFZDT1JFX1ZGQkFESl9TTEVFUF9TSElGVCAgICAgICAgNAorCisjZGVmaW5lIFZDT1JFX0NQTUNLU0VMX01PREVfT0ZGU0VUICAgICAgQ09OMV9PRkZTRVQKKyNkZWZpbmUgVkNPUkVfQ1BNQ0tTRUxfTU9ERV9NQVNLICAgICAgICAweDAwMDIKKyNkZWZpbmUgVkNPUkVfQ1BNQ0tTRUxfTU9ERV9TSElGVCAgICAgICAxCisKKyNkZWZpbmUgVkNPUkVfTU9ERVNFVF9PRkZTRVQgICAgICAgICAgICBDT04xX09GRlNFVAorI2RlZmluZSBWQ09SRV9NT0RFU0VUX01BU0sgICAgICAgICAgICAgIDB4MDAwMQorI2RlZmluZSBWQ09SRV9NT0RFU0VUX1NISUZUICAgICAgICAgICAgIDAKKworI2RlZmluZSBWQ09SRV9WT1NFTF9PRkZTRVQgICAgICAgICAgICAgIENPTjJfT0ZGU0VUCisjZGVmaW5lIFZDT1JFX1ZPU0VMX01BU0sgICAgICAgICAgICAgICAgMHgwMDA3CisjZGVmaW5lIFZDT1JFX1ZPU0VMX1NISUZUICAgICAgICAgICAgICAgMAorCisjZGVmaW5lIFZDT1JFX0lDQUxfTERPX09GRlNFVCAgICAgICAgICAgQ09OM19PRkZTRVQKKyNkZWZpbmUgVkNPUkVfSUNBTF9MRE9fTUFTSyAgICAgICAgICAgICAweDMwMDAKKyNkZWZpbmUgVkNPUkVfSUNBTF9MRE9fU0hJRlQgICAgICAgICAgICAxMgorCisjZGVmaW5lIFZDT1JFX09DX1dORF9PRkZTRVQgICAgICAgICAgICAgQ09OM19PRkZTRVQKKyNkZWZpbmUgVkNPUkVfT0NfV05EX01BU0sgICAgICAgICAgICAgICAweDBDMDAKKyNkZWZpbmUgVkNPUkVfT0NfV05EX1NISUZUICAgICAgICAgICAgICAxMAorCisjZGVmaW5lIFZDT1JFX09DX1RIRF9PRkZTRVQgICAgICAgICAgICAgQ09OM19PRkZTRVQKKyNkZWZpbmUgVkNPUkVfT0NfVEhEX01BU0sgICAgICAgICAgICAgICAweDAzMDAKKyNkZWZpbmUgVkNPUkVfT0NfVEhEX1NISUZUICAgICAgICAgICAgICA4CisKKyNkZWZpbmUgVkNPUkVfU1RCX1REX09GRlNFVCAgICAgICAgICAgICBDT04zX09GRlNFVAorI2RlZmluZSBWQ09SRV9TVEJfVERfTUFTSyAgICAgICAgICAgICAgIDB4MDBDMAorI2RlZmluZSBWQ09SRV9TVEJfVERfU0hJRlQgICAgICAgICAgICAgIDYKKworI2RlZmluZSBWQ09SRV9PQ19URF9PRkZTRVQgICAgICAgICAgICAgIENPTjNfT0ZGU0VUCisjZGVmaW5lIFZDT1JFX09DX1REX01BU0sgICAgICAgICAgICAgICAgMHgwMDMwCisjZGVmaW5lIFZDT1JFX09DX1REX1NISUZUICAgICAgICAgICAgICAgNAorCisjZGVmaW5lIFZDT1JFX0VOX0ZPUkNFX09GRlNFVCAgICAgICAgICAgQ09OM19PRkZTRVQKKyNkZWZpbmUgVkNPUkVfRU5fRk9SQ0VfTUFTSyAgICAgICAgICAgICAweDAwMDEKKyNkZWZpbmUgVkNPUkVfRU5fRk9SQ0VfU0hJRlQgICAgICAgICAgICAwCisKKyNkZWZpbmUgVkNPUkVfUlNWX09GRlNFVCAgICAgICAgICAgICAgICBDT040X09GRlNFVAorI2RlZmluZSBWQ09SRV9SU1ZfTUFTSyAgICAgICAgICAgICAgICAgIDB4RkYwMAorI2RlZmluZSBWQ09SRV9SU1ZfU0hJRlQgICAgICAgICAgICAgICAgIDgKKworI2RlZmluZSBWQ09SRV9BREpDS1NFTF9PRkZTRVQgICAgICAgICAgIENPTjRfT0ZGU0VUCisjZGVmaW5lIFZDT1JFX0FESkNLU0VMX01BU0sgICAgICAgICAgICAgMHgwMDcwCisjZGVmaW5lIFZDT1JFX0FESkNLU0VMX1NISUZUICAgICAgICAgICAgNAorCisjZGVmaW5lIFZDT1JFX1NMRVdfT0ZGU0VUICAgICAgICAgICAgICAgQ09ONF9PRkZTRVQKKyNkZWZpbmUgVkNPUkVfU0xFV19NQVNLICAgICAgICAgICAgICAgICAweDAwMEMKKyNkZWZpbmUgVkNPUkVfU0xFV19TSElGVCAgICAgICAgICAgICAgICAyCisKKyNkZWZpbmUgVkNPUkVfU0xFV19OTU9TX09GRlNFVCAgICAgICAgICBDT040X09GRlNFVAorI2RlZmluZSBWQ09SRV9TTEVXX05NT1NfTUFTSyAgICAgICAgICAgIDB4MDAwMworI2RlZmluZSBWQ09SRV9TTEVXX05NT1NfU0hJRlQgICAgICAgICAgIDAKKworI2RlZmluZSBWQ09SRV9aWF9QRE5fT0ZGU0VUICAgICAgICAgICAgIENPTjVfT0ZGU0VUCisjZGVmaW5lIFZDT1JFX1pYX1BETl9NQVNLICAgICAgICAgICAgICAgMHg4MDAwCisjZGVmaW5lIFZDT1JFX1pYX1BETl9TSElGVCAgICAgICAgICAgICAgMTUKKworI2RlZmluZSBWQ09SRV9HTVNFTF9PRkZTRVQgICAgICAgICAgICAgIENPTjVfT0ZGU0VUCisjZGVmaW5lIFZDT1JFX0dNU0VMX01BU0sgICAgICAgICAgICAgICAgMHg0MDAwCisjZGVmaW5lIFZDT1JFX0dNU0VMX1NISUZUICAgICAgICAgICAgICAgMTQKKworI2RlZmluZSBWQ09SRV9CVVJTVF9PRkZTRVQgICAgICAgICAgICAgIENPTjVfT0ZGU0VUCisjZGVmaW5lIFZDT1JFX0JVUlNUX01BU0sgICAgICAgICAgICAgICAgMHgzMDAwCisjZGVmaW5lIFZDT1JFX0JVUlNUX1NISUZUICAgICAgICAgICAgICAgMTIKKworI2RlZmluZSBWQ09SRV9DU0xfT0ZGU0VUICAgICAgICAgICAgICAgIENPTjVfT0ZGU0VUCisjZGVmaW5lIFZDT1JFX0NTTF9NQVNLICAgICAgICAgICAgICAgICAgMHgwNzAwCisjZGVmaW5lIFZDT1JFX0NTTF9TSElGVCAgICAgICAgICAgICAgICAgOAorCisjZGVmaW5lIFZDT1JFX1JaU0VMX09GRlNFVCAgICAgICAgICAgICAgQ09ONV9PRkZTRVQKKyNkZWZpbmUgVkNPUkVfUlpTRUxfTUFTSyAgICAgICAgICAgICAgICAweDAwNzAKKyNkZWZpbmUgVkNPUkVfUlpTRUxfU0hJRlQgICAgICAgICAgICAgICA0CisKKyNkZWZpbmUgVkNPUkVfQ1NSX09GRlNFVCAgICAgICAgICAgICAgICBDT041X09GRlNFVAorI2RlZmluZSBWQ09SRV9DU1JfTUFTSyAgICAgICAgICAgICAgICAgIDB4MDAwRgorI2RlZmluZSBWQ09SRV9DU1JfU0hJRlQgICAgICAgICAgICAgICAgIDAKKworI2RlZmluZSBCVUNLX0NLU19DSEdfT0ZGU0VUICAgICAgICAgICAgIENPTjZfT0ZGU0VUCisjZGVmaW5lIEJVQ0tfQ0tTX0NIR19NQVNLICAgICAgICAgICAgICAgMHg4MDAwCisjZGVmaW5lIEJVQ0tfQ0tTX0NIR19TSElGVCAgICAgICAgICAgICAgMTUKKworI2RlZmluZSBCVUNLX0NLU19QUkdfT0ZGU0VUICAgICAgICAgICAgIENPTjZfT0ZGU0VUCisjZGVmaW5lIEJVQ0tfQ0tTX1BSR19NQVNLICAgICAgICAgICAgICAgMHgwMDNGCisjZGVmaW5lIEJVQ0tfQ0tTX1BSR19TSElGVCAgICAgICAgICAgICAgMAorCisjZGVmaW5lIFZDRFRfSFZfVlRIX09GRlNFVCAgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVkNEVF9IVl9WVEhfTUFTSyAgICAgICAgICAgICAgICAweEYwMDAKKyNkZWZpbmUgVkNEVF9IVl9WVEhfU0hJRlQgICAgICAgICAgICAgICAxMgorCisjZGVmaW5lIFZDRFRfTFZfVlRIX09GRlNFVCAgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVkNEVF9MVl9WVEhfTUFTSyAgICAgICAgICAgICAgICAweDBGMDAKKyNkZWZpbmUgVkNEVF9MVl9WVEhfU0hJRlQgICAgICAgICAgICAgICA4CisKKyNkZWZpbmUgVkNEVF9IVl9ERVRfT0ZGU0VUICAgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBWQ0RUX0hWX0RFVF9NQVNLICAgICAgICAgICAgICAgIDB4MDA4MAorI2RlZmluZSBWQ0RUX0hWX0RFVF9TSElGVCAgICAgICAgICAgICAgIDcKKworI2RlZmluZSBWQ0RUX0xWX0RFVF9PRkZTRVQgICAgICAgICAgICAgIENPTjBfT0ZGU0VUCisjZGVmaW5lIFZDRFRfTFZfREVUX01BU0sgICAgICAgICAgICAgICAgMHgwMDQwCisjZGVmaW5lIFZDRFRfTFZfREVUX1NISUZUICAgICAgICAgICAgICAgNgorCisjZGVmaW5lIENIUkRFVF9PRkZTRVQgICAgICAgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgQ0hSREVUX01BU0sgICAgICAgICAgICAgICAgICAgICAweDAwMjAKKyNkZWZpbmUgQ0hSREVUX1NISUZUICAgICAgICAgICAgICAgICAgICA1CisKKyNkZWZpbmUgQ0hSX0VOX09GRlNFVCAgICAgICAgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBDSFJfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MDAxMAorI2RlZmluZSBDSFJfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgIDQKKworI2RlZmluZSBDU0RBQ19FTl9PRkZTRVQgICAgICAgICAgICAgICAgIENPTjBfT0ZGU0VUCisjZGVmaW5lIENTREFDX0VOX01BU0sgICAgICAgICAgICAgICAgICAgMHgwMDA4CisjZGVmaW5lIENTREFDX0VOX1NISUZUICAgICAgICAgICAgICAgICAgMworCisjZGVmaW5lIFBDSFJfQVVUT01PREVfT0ZGU0VUICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgUENIUl9BVVRPTU9ERV9NQVNLICAgICAgICAgICAgICAweDAwMDQKKyNkZWZpbmUgUENIUl9BVVRPTU9ERV9TSElGVCAgICAgICAgICAgICAyCisKKyNkZWZpbmUgQ0hSX0xET19ERVRfT0ZGU0VUICAgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBDSFJfTERPX0RFVF9NQVNLICAgICAgICAgICAgICAgIDB4MDAwMgorI2RlZmluZSBDSFJfTERPX0RFVF9TSElGVCAgICAgICAgICAgICAgIDEKKworI2RlZmluZSBWQ0RUX0hWX0VOX09GRlNFVCAgICAgICAgICAgICAgIENPTjBfT0ZGU0VUCisjZGVmaW5lIFZDRFRfSFZfRU5fTUFTSyAgICAgICAgICAgICAgICAgMHgwMDAxCisjZGVmaW5lIFZDRFRfSFZfRU5fU0hJRlQgICAgICAgICAgICAgICAgMAorCisjZGVmaW5lIFZCQVRfQ1ZfVlRIX09GRlNFVCAgICAgICAgICAgICAgQ09OMV9PRkZTRVQKKyNkZWZpbmUgVkJBVF9DVl9WVEhfTUFTSyAgICAgICAgICAgICAgICAweDFGMDAKKyNkZWZpbmUgVkJBVF9DVl9WVEhfU0hJRlQgICAgICAgICAgICAgICA4CisKKyNkZWZpbmUgVkJBVF9DQ19WVEhfT0ZGU0VUICAgICAgICAgICAgICBDT04xX09GRlNFVAorI2RlZmluZSBWQkFUX0NDX1ZUSF9NQVNLICAgICAgICAgICAgICAgIDB4MDAzMAorI2RlZmluZSBWQkFUX0NDX1ZUSF9TSElGVCAgICAgICAgICAgICAgIDQKKworI2RlZmluZSBWQkFUX0NDX0RFVF9PRkZTRVQgICAgICAgICAgICAgIENPTjFfT0ZGU0VUCisjZGVmaW5lIFZCQVRfQ0NfREVUX01BU0sgICAgICAgICAgICAgICAgMHgwMDA4CisjZGVmaW5lIFZCQVRfQ0NfREVUX1NISUZUICAgICAgICAgICAgICAgMworCisjZGVmaW5lIFZCQVRfQ1ZfREVUX09GRlNFVCAgICAgICAgICAgICAgQ09OMV9PRkZTRVQKKyNkZWZpbmUgVkJBVF9DVl9ERVRfTUFTSyAgICAgICAgICAgICAgICAweDAwMDQKKyNkZWZpbmUgVkJBVF9DVl9ERVRfU0hJRlQgICAgICAgICAgICAgICAyCisKKyNkZWZpbmUgVkJBVF9DQ19FTl9PRkZTRVQgICAgICAgICAgICAgICBDT04xX09GRlNFVAorI2RlZmluZSBWQkFUX0NDX0VOX01BU0sgICAgICAgICAgICAgICAgIDB4MDAwMgorI2RlZmluZSBWQkFUX0NDX0VOX1NISUZUICAgICAgICAgICAgICAgIDEKKworI2RlZmluZSBWQkFUX0NWX0VOX09GRlNFVCAgICAgICAgICAgICAgIENPTjFfT0ZGU0VUCisjZGVmaW5lIFZCQVRfQ1ZfRU5fTUFTSyAgICAgICAgICAgICAgICAgMHgwMDAxCisjZGVmaW5lIFZCQVRfQ1ZfRU5fU0hJRlQgICAgICAgICAgICAgICAgMAorCisjZGVmaW5lIENTX0RFVF9PRkZTRVQgICAgICAgICAgICAgICAgICAgQ09OMl9PRkZTRVQKKyNkZWZpbmUgQ1NfREVUX01BU0sgICAgICAgICAgICAgICAgICAgICAweDgwMDAKKyNkZWZpbmUgQ1NfREVUX1NISUZUICAgICAgICAgICAgICAgICAgICAxNQorCisjZGVmaW5lIENTX0VOX09GRlNFVCAgICAgICAgICAgICAgICAgICAgQ09OMl9PRkZTRVQKKyNkZWZpbmUgQ1NfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDAxMDAKKyNkZWZpbmUgQ1NfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgICA4CisKKyNkZWZpbmUgQ1NfVlRIX09GRlNFVCAgICAgICAgICAgICAgICAgICBDT04yX09GRlNFVAorI2RlZmluZSBDU19WVEhfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MDAwRgorI2RlZmluZSBDU19WVEhfU0hJRlQgICAgICAgICAgICAgICAgICAgIDAKKworI2RlZmluZSBUT0xUQ19PRkZTRVQgICAgICAgICAgICAgICAgICAgIENPTjNfT0ZGU0VUCisjZGVmaW5lIFRPTFRDX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgwNzAwCisjZGVmaW5lIFRPTFRDX1NISUZUICAgICAgICAgICAgICAgICAgICAgOAorCisjZGVmaW5lIFRPSFRDX09GRlNFVCAgICAgICAgICAgICAgICAgICAgQ09OM19PRkZTRVQKKyNkZWZpbmUgVE9IVENfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDAwMDcKKyNkZWZpbmUgVE9IVENfU0hJRlQgICAgICAgICAgICAgICAgICAgICAwCisKKyNkZWZpbmUgQ1NEQUNfRExZX09GRlNFVCAgICAgICAgICAgICAgICBDT040X09GRlNFVAorI2RlZmluZSBDU0RBQ19ETFlfTUFTSyAgICAgICAgICAgICAgICAgIDB4NzAwMAorI2RlZmluZSBDU0RBQ19ETFlfU0hJRlQgICAgICAgICAgICAgICAgIDEyCisKKyNkZWZpbmUgQ1NEQUNfU1RQX09GRlNFVCAgICAgICAgICAgICAgICBDT040X09GRlNFVAorI2RlZmluZSBDU0RBQ19TVFBfTUFTSyAgICAgICAgICAgICAgICAgIDB4MDcwMAorI2RlZmluZSBDU0RBQ19TVFBfU0hJRlQgICAgICAgICAgICAgICAgIDgKKworI2RlZmluZSBDU0RBQ19TVFBfREVDX09GRlNFVCAgICAgICAgICAgIENPTjRfT0ZGU0VUCisjZGVmaW5lIENTREFDX1NUUF9ERUNfTUFTSyAgICAgICAgICAgICAgMHgwMDcwCisjZGVmaW5lIENTREFDX1NUUF9ERUNfU0hJRlQgICAgICAgICAgICAgNAorCisjZGVmaW5lIENTREFDX1NUUF9JTkNfT0ZGU0VUICAgICAgICAgICAgQ09ONF9PRkZTRVQKKyNkZWZpbmUgQ1NEQUNfU1RQX0lOQ19NQVNLICAgICAgICAgICAgICAweDAwMDcKKyNkZWZpbmUgQ1NEQUNfU1RQX0lOQ19TSElGVCAgICAgICAgICAgICAwCisKKyNkZWZpbmUgQkFUT05fVU5ERVRfT0ZGU0VUICAgICAgICAgICAgICBDT041X09GRlNFVAorI2RlZmluZSBCQVRPTl9VTkRFVF9NQVNLICAgICAgICAgICAgICAgIDB4MDQwMAorI2RlZmluZSBCQVRPTl9VTkRFVF9TSElGVCAgICAgICAgICAgICAgIDEwCisKKyNkZWZpbmUgQkFUT05fSFRfRU5fT0ZGU0VUICAgICAgICAgICAgICBDT041X09GRlNFVAorI2RlZmluZSBCQVRPTl9IVF9FTl9NQVNLICAgICAgICAgICAgICAgIDB4MDIwMAorI2RlZmluZSBCQVRPTl9IVF9FTl9TSElGVCAgICAgICAgICAgICAgIDkKKworI2RlZmluZSBCQVRPTl9FTl9PRkZTRVQgICAgICAgICAgICAgICAgIENPTjVfT0ZGU0VUCisjZGVmaW5lIEJBVE9OX0VOX01BU0sgICAgICAgICAgICAgICAgICAgMHgwMTAwCisjZGVmaW5lIEJBVE9OX0VOX1NISUZUICAgICAgICAgICAgICAgICAgOAorCisjZGVmaW5lIFZCQVRfT1ZfVlRIX09GRlNFVCAgICAgICAgICAgICAgQ09ONV9PRkZTRVQKKyNkZWZpbmUgVkJBVF9PVl9WVEhfTUFTSyAgICAgICAgICAgICAgICAweDAwMzAKKyNkZWZpbmUgVkJBVF9PVl9WVEhfU0hJRlQgICAgICAgICAgICAgICA0CisKKyNkZWZpbmUgVkJBVF9PVl9ERVRfT0ZGU0VUICAgICAgICAgICAgICBDT041X09GRlNFVAorI2RlZmluZSBWQkFUX09WX0RFVF9NQVNLICAgICAgICAgICAgICAgIDB4MDAwOAorI2RlZmluZSBWQkFUX09WX0RFVF9TSElGVCAgICAgICAgICAgICAgIDMKKworI2RlZmluZSBWQkFUX09WX0RFR19PRkZTRVQgICAgICAgICAgICAgIENPTjVfT0ZGU0VUCisjZGVmaW5lIFZCQVRfT1ZfREVHX01BU0sgICAgICAgICAgICAgICAgMHgwMDAyCisjZGVmaW5lIFZCQVRfT1ZfREVHX1NISUZUICAgICAgICAgICAgICAgMQorCisjZGVmaW5lIFZCQVRfT1ZfRU5fT0ZGU0VUICAgICAgICAgICAgICAgQ09ONV9PRkZTRVQKKyNkZWZpbmUgVkJBVF9PVl9FTl9NQVNLICAgICAgICAgICAgICAgICAweDAwMDEKKyNkZWZpbmUgVkJBVF9PVl9FTl9TSElGVCAgICAgICAgICAgICAgICAwCisKKyNkZWZpbmUgQ1NEQUNfREFUQV9PRkZTRVQgICAgICAgICAgICAgICBDT042X09GRlNFVAorI2RlZmluZSBDU0RBQ19EQVRBX01BU0sgICAgICAgICAgICAgICAgIDB4MDNGRgorI2RlZmluZSBDU0RBQ19EQVRBX1NISUZUICAgICAgICAgICAgICAgIDAKKworI2RlZmluZSBQQ0hSX0ZUX0NUUkxfT0ZGU0VUICAgICAgICAgICAgIENPTjdfT0ZGU0VUCisjZGVmaW5lIFBDSFJfRlRfQ1RSTF9NQVNLICAgICAgICAgICAgICAgMHgwNzAwCisjZGVmaW5lIFBDSFJfRlRfQ1RSTF9TSElGVCAgICAgICAgICAgICAgOAorCisjZGVmaW5lIFBDSFJfUlNUX09GRlNFVCAgICAgICAgICAgICAgICAgQ09ON19PRkZTRVQKKyNkZWZpbmUgUENIUl9SU1RfTUFTSyAgICAgICAgICAgICAgICAgICAweDAwNDAKKyNkZWZpbmUgUENIUl9SU1RfU0hJRlQgICAgICAgICAgICAgICAgICA2CisKKyNkZWZpbmUgQ1NEQUNfVEVTVE1PREVfT0ZGU0VUICAgICAgICAgICBDT043X09GRlNFVAorI2RlZmluZSBDU0RBQ19URVNUTU9ERV9NQVNLICAgICAgICAgICAgIDB4MDAyMAorI2RlZmluZSBDU0RBQ19URVNUTU9ERV9TSElGVCAgICAgICAgICAgIDUKKworI2RlZmluZSBQQ0hSX1RFU1RNT0RFX09GRlNFVCAgICAgICAgICAgIENPTjdfT0ZGU0VUCisjZGVmaW5lIFBDSFJfVEVTVE1PREVfTUFTSyAgICAgICAgICAgICAgMHgwMDEwCisjZGVmaW5lIFBDSFJfVEVTVE1PREVfU0hJRlQgICAgICAgICAgICAgNAorCisjZGVmaW5lIE9UR19CVkFMSURfT0ZGU0VUICAgICAgICAgICAgICAgQ09ON19PRkZTRVQKKyNkZWZpbmUgT1RHX0JWQUxJRF9NQVNLICAgICAgICAgICAgICAgICAweDAwMDgKKyNkZWZpbmUgT1RHX0JWQUxJRF9TSElGVCAgICAgICAgICAgICAgICAzCisKKyNkZWZpbmUgT1RHX0JWQUxJRF9FTl9PRkZTRVQgICAgICAgICAgICBDT043X09GRlNFVAorI2RlZmluZSBPVEdfQlZBTElEX0VOX01BU0sgICAgICAgICAgICAgIDB4MDAwMQorI2RlZmluZSBPVEdfQlZBTElEX0VOX1NISUZUICAgICAgICAgICAgIDAKKworI2RlZmluZSBQQ0hSX0ZMQUdfU0VMX09GRlNFVCAgICAgICAgICAgIENPTjhfT0ZGU0VUCisjZGVmaW5lIFBDSFJfRkxBR19TRUxfTUFTSyAgICAgICAgICAgICAgMHgxRjAwCisjZGVmaW5lIFBDSFJfRkxBR19TRUxfU0hJRlQgICAgICAgICAgICAgOAorCisjZGVmaW5lIFBDSFJfRkxBR19FTl9PRkZTRVQgICAgICAgICAgICAgQ09OOF9PRkZTRVQKKyNkZWZpbmUgUENIUl9GTEFHX0VOX01BU0sgICAgICAgICAgICAgICAweDAwODAKKyNkZWZpbmUgUENIUl9GTEFHX0VOX1NISUZUICAgICAgICAgICAgICA3CisKKyNkZWZpbmUgUENIUl9GTEFHX09VVF9PRkZTRVQgICAgICAgICAgICBDT044X09GRlNFVAorI2RlZmluZSBQQ0hSX0ZMQUdfT1VUX01BU0sgICAgICAgICAgICAgIDB4MDAwRgorI2RlZmluZSBQQ0hSX0ZMQUdfT1VUX1NISUZUICAgICAgICAgICAgIDAKKworI2RlZmluZSBDSFJXRFRfT1VUX09GRlNFVCAgICAgICAgICAgICAgIENPTjlfT0ZGU0VUCisjZGVmaW5lIENIUldEVF9PVVRfTUFTSyAgICAgICAgICAgICAgICAgMHg4MDAwCisjZGVmaW5lIENIUldEVF9PVVRfU0hJRlQgICAgICAgICAgICAgICAgMTUKKworI2RlZmluZSBDSFJXRFRfRkxBR19PRkZTRVQgICAgICAgICAgICAgIENPTjlfT0ZGU0VUCisjZGVmaW5lIENIUldEVF9GTEFHX01BU0sgICAgICAgICAgICAgICAgMHgwMjAwCisjZGVmaW5lIENIUldEVF9GTEFHX1NISUZUICAgICAgICAgICAgICAgOQorCisjZGVmaW5lIENIUldEVF9JTlRfRU5fT0ZGU0VUICAgICAgICAgICAgQ09OOV9PRkZTRVQKKyNkZWZpbmUgQ0hSV0RUX0lOVF9FTl9NQVNLICAgICAgICAgICAgICAweDAxMDAKKyNkZWZpbmUgQ0hSV0RUX0lOVF9FTl9TSElGVCAgICAgICAgICAgICA4CisKKyNkZWZpbmUgQ0hSV0RUX0VOX09GRlNFVCAgICAgICAgICAgICAgICBDT045X09GRlNFVAorI2RlZmluZSBDSFJXRFRfRU5fTUFTSyAgICAgICAgICAgICAgICAgIDB4MDAxMAorI2RlZmluZSBDSFJXRFRfRU5fU0hJRlQgICAgICAgICAgICAgICAgIDQKKworI2RlZmluZSBDSFJXRFRfVERfT0ZGU0VUICAgICAgICAgICAgICAgIENPTjlfT0ZGU0VUCisjZGVmaW5lIENIUldEVF9URF9NQVNLICAgICAgICAgICAgICAgICAgMHgwMDBGCisjZGVmaW5lIENIUldEVF9URF9TSElGVCAgICAgICAgICAgICAgICAgMAorCisjZGVmaW5lIFVTQkRMX1NFVF9PRkZTRVQgICAgICAgICAgICAgICAgQ09OMTBfT0ZGU0VUCisjZGVmaW5lIFVTQkRMX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgMHg4MDAwCisjZGVmaW5lIFVTQkRMX1NFVF9TSElGVCAgICAgICAgICAgICAgICAgMTUKKworI2RlZmluZSBVU0JETF9SU1RfT0ZGU0VUICAgICAgICAgICAgICAgIENPTjEwX09GRlNFVAorI2RlZmluZSBVU0JETF9SU1RfTUFTSyAgICAgICAgICAgICAgICAgIDB4NDAwMAorI2RlZmluZSBVU0JETF9SU1RfU0hJRlQgICAgICAgICAgICAgICAgIDE0CisKKyNkZWZpbmUgQkdSX1VOQ0hPUF9PRkZTRVQgICAgICAgICAgICAgICBDT04xMF9PRkZTRVQKKyNkZWZpbmUgQkdSX1VOQ0hPUF9NQVNLICAgICAgICAgICAgICAgICAweDIwMDAKKyNkZWZpbmUgQkdSX1VOQ0hPUF9TSElGVCAgICAgICAgICAgICAgICAxMworCisjZGVmaW5lIEJHUl9VTkNIT1BfUEhfT0ZGU0VUICAgICAgICAgICAgQ09OMTBfT0ZGU0VUCisjZGVmaW5lIEJHUl9VTkNIT1BfUEhfTUFTSyAgICAgICAgICAgICAgMHgxMDAwCisjZGVmaW5lIEJHUl9VTkNIT1BfUEhfU0hJRlQgICAgICAgICAgICAgMTIKKworI2RlZmluZSBCR1JfUlNFTF9PRkZTRVQgICAgICAgICAgICAgICAgIENPTjEwX09GRlNFVAorI2RlZmluZSBCR1JfUlNFTF9NQVNLICAgICAgICAgICAgICAgICAgIDB4MDcwMAorI2RlZmluZSBCR1JfUlNFTF9TSElGVCAgICAgICAgICAgICAgICAgIDgKKworI2RlZmluZSBBRENJTl9DSFJfRU5fT0ZGU0VUICAgICAgICAgICAgIENPTjEwX09GRlNFVAorI2RlZmluZSBBRENJTl9DSFJfRU5fTUFTSyAgICAgICAgICAgICAgIDB4MDA0MAorI2RlZmluZSBBRENJTl9DSFJfRU5fU0hJRlQgICAgICAgICAgICAgIDYKKworI2RlZmluZSBBRENJTl9WU0VOX0VOX09GRlNFVCAgICAgICAgICAgIENPTjEwX09GRlNFVAorI2RlZmluZSBBRENJTl9WU0VOX0VOX01BU0sgICAgICAgICAgICAgIDB4MDAyMAorI2RlZmluZSBBRENJTl9WU0VOX0VOX1NISUZUICAgICAgICAgICAgIDUKKworI2RlZmluZSBBRENJTl9WQkFUX0VOX09GRlNFVCAgICAgICAgICAgIENPTjEwX09GRlNFVAorI2RlZmluZSBBRENJTl9WQkFUX0VOX01BU0sgICAgICAgICAgICAgIDB4MDAxMAorI2RlZmluZSBBRENJTl9WQkFUX0VOX1NISUZUICAgICAgICAgICAgIDQKKworI2RlZmluZSBVVkxPX1ZUSExfT0ZGU0VUICAgICAgICAgICAgICAgIENPTjEwX09GRlNFVAorI2RlZmluZSBVVkxPX1ZUSExfTUFTSyAgICAgICAgICAgICAgICAgIDB4MDAwMworI2RlZmluZSBVVkxPX1ZUSExfU0hJRlQgICAgICAgICAgICAgICAgIDAKKworI2RlZmluZSBCQzExX0NNUF9PVVRfT0ZGU0VUICAgICAgICAgICAgIENPTjExX09GRlNFVAorI2RlZmluZSBCQzExX0NNUF9PVVRfTUFTSyAgICAgICAgICAgICAgIDB4ODAwMAorI2RlZmluZSBCQzExX0NNUF9PVVRfU0hJRlQgICAgICAgICAgICAgIDE1CisKKyNkZWZpbmUgQkMxMV9SU1RfT0ZGU0VUICAgICAgICAgICAgICAgICBDT04xMV9PRkZTRVQKKyNkZWZpbmUgQkMxMV9SU1RfTUFTSyAgICAgICAgICAgICAgICAgICAweDA4MDAKKyNkZWZpbmUgQkMxMV9SU1RfU0hJRlQgICAgICAgICAgICAgICAgICAxMQorCisjZGVmaW5lIEJDMTFfQkJfQ1RSTF9PRkZTRVQgICAgICAgICAgICAgQ09OMTFfT0ZGU0VUCisjZGVmaW5lIEJDMTFfQkJfQ1RSTF9NQVNLICAgICAgICAgICAgICAgMHgwNDAwCisjZGVmaW5lIEJDMTFfQkJfQ1RSTF9TSElGVCAgICAgICAgICAgICAgMTAKKworI2RlZmluZSBCQzExX0JJQVNfRU5fT0ZGU0VUICAgICAgICAgICAgIENPTjExX09GRlNFVAorI2RlZmluZSBCQzExX0JJQVNfRU5fTUFTSyAgICAgICAgICAgICAgIDB4MDIwMAorI2RlZmluZSBCQzExX0JJQVNfRU5fU0hJRlQgICAgICAgICAgICAgIDkKKworI2RlZmluZSBCQzExX1ZSRUZfVlRIX09GRlNFVCAgICAgICAgICAgIENPTjExX09GRlNFVAorI2RlZmluZSBCQzExX1ZSRUZfVlRIX01BU0sgICAgICAgICAgICAgIDB4MDEwMAorI2RlZmluZSBCQzExX1ZSRUZfVlRIX1NISUZUICAgICAgICAgICAgIDgKKworI2RlZmluZSBCQzExX0lQVV9FTl9PRkZTRVQgICAgICAgICAgICAgIENPTjExX09GRlNFVAorI2RlZmluZSBCQzExX0lQVV9FTl9NQVNLICAgICAgICAgICAgICAgIDB4MDBDMAorI2RlZmluZSBCQzExX0lQVV9FTl9TSElGVCAgICAgICAgICAgICAgIDYKKworI2RlZmluZSBCQzExX0lQRF9FTl9PRkZTRVQgICAgICAgICAgICAgIENPTjExX09GRlNFVAorI2RlZmluZSBCQzExX0lQRF9FTl9NQVNLICAgICAgICAgICAgICAgIDB4MDAzMAorI2RlZmluZSBCQzExX0lQRF9FTl9TSElGVCAgICAgICAgICAgICAgIDQKKworI2RlZmluZSBCQzExX1ZTUkNfRU5fT0ZGU0VUICAgICAgICAgICAgIENPTjExX09GRlNFVAorI2RlZmluZSBCQzExX1ZTUkNfRU5fTUFTSyAgICAgICAgICAgICAgIDB4MDAwQworI2RlZmluZSBCQzExX1ZTUkNfRU5fU0hJRlQgICAgICAgICAgICAgIDIKKworI2RlZmluZSBCQzExX0NNUF9FTl9PRkZTRVQgICAgICAgICAgICAgIENPTjExX09GRlNFVAorI2RlZmluZSBCQzExX0NNUF9FTl9NQVNLICAgICAgICAgICAgICAgIDB4MDAwMworI2RlZmluZSBCQzExX0NNUF9FTl9TSElGVCAgICAgICAgICAgICAgIDAKKworI2RlZmluZSBMT1dfSUNIX0RCX09GRlNFVCAgICAgICAgICAgICAgIENPTjEyX09GRlNFVAorI2RlZmluZSBMT1dfSUNIX0RCX01BU0sgICAgICAgICAgICAgICAgIDB4M0YwMAorI2RlZmluZSBMT1dfSUNIX0RCX1NISUZUICAgICAgICAgICAgICAgIDgKKworI2RlZmluZSBVTENfREVUX0VOX09GRlNFVCAgICAgICAgICAgICAgIENPTjEyX09GRlNFVAorI2RlZmluZSBVTENfREVUX0VOX01BU0sgICAgICAgICAgICAgICAgIDB4MDA4MAorI2RlZmluZSBVTENfREVUX0VOX1NISUZUICAgICAgICAgICAgICAgIDcKKworI2RlZmluZSBIV0NWX0VOX09GRlNFVCAgICAgICAgICAgICAgICAgIENPTjEyX09GRlNFVAorI2RlZmluZSBIV0NWX0VOX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MDA0MAorI2RlZmluZSBIV0NWX0VOX1NISUZUICAgICAgICAgICAgICAgICAgIDYKKworI2RlZmluZSBUUkFDS0lOR19FTl9PRkZTRVQgICAgICAgICAgICAgIENPTjEyX09GRlNFVAorI2RlZmluZSBUUkFDS0lOR19FTl9NQVNLICAgICAgICAgICAgICAgIDB4MDAxMAorI2RlZmluZSBUUkFDS0lOR19FTl9TSElGVCAgICAgICAgICAgICAgIDQKKworI2RlZmluZSBDU0RBQ19NT0RFX09GRlNFVCAgICAgICAgICAgICAgIENPTjEyX09GRlNFVAorI2RlZmluZSBDU0RBQ19NT0RFX01BU0sgICAgICAgICAgICAgICAgIDB4MDAwNAorI2RlZmluZSBDU0RBQ19NT0RFX1NISUZUICAgICAgICAgICAgICAgIDIKKworI2RlZmluZSBWQ0RUX01PREVfT0ZGU0VUICAgICAgICAgICAgICAgIENPTjEyX09GRlNFVAorI2RlZmluZSBWQ0RUX01PREVfTUFTSyAgICAgICAgICAgICAgICAgIDB4MDAwMgorI2RlZmluZSBWQ0RUX01PREVfU0hJRlQgICAgICAgICAgICAgICAgIDEKKworI2RlZmluZSBDVl9NT0RFX09GRlNFVCAgICAgICAgICAgICAgICAgIENPTjEyX09GRlNFVAorI2RlZmluZSBDVl9NT0RFX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MDAwMQorI2RlZmluZSBDVl9NT0RFX1NISUZUICAgICAgICAgICAgICAgICAgIDAKKworI2RlZmluZSBEUlZfSVRVTkVfT0ZGU0VUICAgICAgICAgICAgICAgIENPTjEzX09GRlNFVAorI2RlZmluZSBEUlZfSVRVTkVfTUFTSyAgICAgICAgICAgICAgICAgIDB4MDMwMAorI2RlZmluZSBEUlZfSVRVTkVfU0hJRlQgICAgICAgICAgICAgICAgIDgKKworI2RlZmluZSBPVlBfVFJJTV9PRkZTRVQgICAgICAgICAgICAgICAgIENPTjEzX09GRlNFVAorI2RlZmluZSBPVlBfVFJJTV9NQVNLICAgICAgICAgICAgICAgICAgIDB4MDAwRgorI2RlZmluZSBPVlBfVFJJTV9TSElGVCAgICAgICAgICAgICAgICAgIDAKKworI2RlZmluZSBQQ0hSX1JWX09GRlNFVCAgICAgICAgICAgICAgICAgIENPTjE0X09GRlNFVAorI2RlZmluZSBQQ0hSX1JWX01BU0sgICAgICAgICAgICAgICAgICAgIDB4RkZGRgorI2RlZmluZSBQQ0hSX1JWX1NISUZUICAgICAgICAgICAgICAgICAgIDAKKworI2RlZmluZSBQV1JLRVlfREVCX09GRlNFVCAgICAgICAgICAgICAgIENPTjBfT0ZGU0VUCisjZGVmaW5lIFBXUktFWV9ERUJfTUFTSyAgICAgICAgICAgICAgICAgMHg4MDAwCisjZGVmaW5lIFBXUktFWV9ERUJfU0hJRlQgICAgICAgICAgICAgICAgMTUKKworI2RlZmluZSBQV1JLRVlfVkNPUkVfT0ZGU0VUICAgICAgICAgICAgIENPTjBfT0ZGU0VUCisjZGVmaW5lIFBXUktFWV9WQ09SRV9NQVNLICAgICAgICAgICAgICAgMHg0MDAwCisjZGVmaW5lIFBXUktFWV9WQ09SRV9TSElGVCAgICAgICAgICAgICAgMTQKKworI2RlZmluZSBURVNUX01PREVfUE9SX09GRlNFVCAgICAgICAgICAgIENPTjBfT0ZGU0VUCisjZGVmaW5lIFRFU1RfTU9ERV9QT1JfTUFTSyAgICAgICAgICAgICAgMHgyMDAwCisjZGVmaW5lIFRFU1RfTU9ERV9QT1JfU0hJRlQgICAgICAgICAgICAgMTMKKworI2RlZmluZSBVU0JETF9NRE9FX09GRlNFVCAgICAgICAgICAgICAgIENPTjBfT0ZGU0VUCisjZGVmaW5lIFVTQkRMX01ET0VfTUFTSyAgICAgICAgICAgICAgICAgMHgxMDAwCisjZGVmaW5lIFVTQkRMX01ET0VfU0hJRlQgICAgICAgICAgICAgICAgMTIKKworI2RlZmluZSBQTVVfVEhSX1BXUk9GRl9PRkZTRVQgICAgICAgICAgIENPTjBfT0ZGU0VUCisjZGVmaW5lIFBNVV9USFJfUFdST0ZGX01BU0sgICAgICAgICAgICAgMHgwODAwCisjZGVmaW5lIFBNVV9USFJfUFdST0ZGX1NISUZUICAgICAgICAgICAgMTEKKworI2RlZmluZSBQTVVfVEhSX1NUQVRVU19PRkZTRVQgICAgICAgICAgIENPTjBfT0ZGU0VUCisjZGVmaW5lIFBNVV9USFJfU1RBVFVTX01BU0sgICAgICAgICAgICAgMHgwNzAwCisjZGVmaW5lIFBNVV9USFJfU1RBVFVTX1NISUZUICAgICAgICAgICAgOAorCisjZGVmaW5lIFVTQkRMX0VOX09GRlNFVCAgICAgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVVNCRExfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAweDAwMTAKKyNkZWZpbmUgVVNCRExfRU5fU0hJRlQgICAgICAgICAgICAgICAgICA0CisKKyNkZWZpbmUgVEhSX0hXUEROX0VOX09GRlNFVCAgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBUSFJfSFdQRE5fRU5fTUFTSyAgICAgICAgICAgICAgIDB4MDAwOAorI2RlZmluZSBUSFJfSFdQRE5fRU5fU0hJRlQgICAgICAgICAgICAgIDMKKworI2RlZmluZSBUSEVSTUFMX0RJU19PRkZTRVQgICAgICAgICAgICAgIENPTjBfT0ZGU0VUCisjZGVmaW5lIFRIRVJNQUxfRElTX01BU0sgICAgICAgICAgICAgICAgMHgwMDA0CisjZGVmaW5lIFRIRVJNQUxfRElTX1NISUZUICAgICAgICAgICAgICAgMgorCisjZGVmaW5lIFRIUl9TRUxfT0ZGU0VUICAgICAgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVEhSX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAweDAwMDMKKyNkZWZpbmUgVEhSX1NFTF9TSElGVCAgICAgICAgICAgICAgICAgICAwCisKKyNkZWZpbmUgQklBU19HRU5fRk9SQ0VfT0ZGU0VUICAgICAgICAgICBDT04xX09GRlNFVAorI2RlZmluZSBCSUFTX0dFTl9GT1JDRV9NQVNLICAgICAgICAgICAgIDB4NDAwMAorI2RlZmluZSBCSUFTX0dFTl9GT1JDRV9TSElGVCAgICAgICAgICAgIDE0CisKKyNkZWZpbmUgUE1VX0xFVl9VTkdBVEVfT0ZGU0VUICAgICAgICAgICBDT04xX09GRlNFVAorI2RlZmluZSBQTVVfTEVWX1VOR0FURV9NQVNLICAgICAgICAgICAgIDB4MDEwMAorI2RlZmluZSBQTVVfTEVWX1VOR0FURV9TSElGVCAgICAgICAgICAgIDgKKworI2RlZmluZSBSU1RfRFJWU0VMX09GRlNFVCAgICAgICAgICAgICAgIENPTjFfT0ZGU0VUCisjZGVmaW5lIFJTVF9EUlZTRUxfTUFTSyAgICAgICAgICAgICAgICAgMHgwMDIwCisjZGVmaW5lIFJTVF9EUlZTRUxfU0hJRlQgICAgICAgICAgICAgICAgNQorCisjZGVmaW5lIFNUUlVQX1RFU1RfT0ZGU0VUICAgICAgICAgICAgICAgQ09OMV9PRkZTRVQKKyNkZWZpbmUgU1RSVVBfVEVTVF9NQVNLICAgICAgICAgICAgICAgICAweDAwMTAKKyNkZWZpbmUgU1RSVVBfVEVTVF9TSElGVCAgICAgICAgICAgICAgICA0CisKKyNkZWZpbmUgUE1VX1BHREVUX0RJU19PRkZTRVQgICAgICAgICAgICBDT04xX09GRlNFVAorI2RlZmluZSBQTVVfUEdERVRfRElTX01BU0sgICAgICAgICAgICAgIDB4MDAwOAorI2RlZmluZSBQTVVfUEdERVRfRElTX1NISUZUICAgICAgICAgICAgIDMKKworI2RlZmluZSBWUkVGX0JHX09GRlNFVCAgICAgICAgICAgICAgICAgIENPTjFfT0ZGU0VUCisjZGVmaW5lIFZSRUZfQkdfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgwMDA3CisjZGVmaW5lIFZSRUZfQkdfU0hJRlQgICAgICAgICAgICAgICAgICAgMAorCisjZGVmaW5lIFNUUlVQX0ZMQUdfT1VUX09GRlNFVCAgICAgICAgICAgQ09OMl9PRkZTRVQKKyNkZWZpbmUgU1RSVVBfRkxBR19PVVRfTUFTSyAgICAgICAgICAgICAweDBGMDAKKyNkZWZpbmUgU1RSVVBfRkxBR19PVVRfU0hJRlQgICAgICAgICAgICA4CisKKyNkZWZpbmUgU1RSVVBfRkxBR19FTl9PRkZTRVQgICAgICAgICAgICBDT04yX09GRlNFVAorI2RlZmluZSBTVFJVUF9GTEFHX0VOX01BU0sgICAgICAgICAgICAgIDB4MDA4MAorI2RlZmluZSBTVFJVUF9GTEFHX0VOX1NISUZUICAgICAgICAgICAgIDcKKworI2RlZmluZSBTVFJVUF9GTEFHX1NFTF9PRkZTRVQgICAgICAgICAgIENPTjJfT0ZGU0VUCisjZGVmaW5lIFNUUlVQX0ZMQUdfU0VMX01BU0sgICAgICAgICAgICAgMHgwMDBGCisjZGVmaW5lIFNUUlVQX0ZMQUdfU0VMX1NISUZUICAgICAgICAgICAgMAorCisjZGVmaW5lIEVTRERFR19ETFlTRUxfT0ZGU0VUICAgICAgICAgICAgQ09OM19PRkZTRVQKKyNkZWZpbmUgRVNEREVHX0RMWVNFTF9NQVNLICAgICAgICAgICAgICAweDAwMEUKKyNkZWZpbmUgRVNEREVHX0RMWVNFTF9TSElGVCAgICAgICAgICAgICAxCisKKyNkZWZpbmUgRVNEREVHX0VOX09GRlNFVCAgICAgICAgICAgICAgICBDT04zX09GRlNFVAorI2RlZmluZSBFU0RERUdfRU5fTUFTSyAgICAgICAgICAgICAgICAgIDB4MDAwMQorI2RlZmluZSBFU0RERUdfRU5fU0hJRlQgICAgICAgICAgICAgICAgIDAKKworI2RlZmluZSBCT09TVF9DS1NfQ0hHX09GRlNFVCAgICAgICAgICAgIENPTjNfT0ZGU0VUCisjZGVmaW5lIEJPT1NUX0NLU19DSEdfTUFTSyAgICAgICAgICAgICAgMHg4MDAwCisjZGVmaW5lIEJPT1NUX0NLU19DSEdfU0hJRlQgICAgICAgICAgICAgMTUKKworI2RlZmluZSBCT09TVF9DS1NfUFJHX09GRlNFVCAgICAgICAgICAgIENPTjNfT0ZGU0VUCisjZGVmaW5lIEJPT1NUX0NLU19QUkdfTUFTSyAgICAgICAgICAgICAgMHgwMDNGCisjZGVmaW5lIEJPT1NUX0NLU19QUkdfU0hJRlQgICAgICAgICAgICAgMAorCisjZGVmaW5lIElTSU5LMF9TVEFUVVNfT0ZGU0VUICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgSVNJTkswX1NUQVRVU19NQVNLICAgICAgICAgICAgICAweDgwMDAKKyNkZWZpbmUgSVNJTkswX1NUQVRVU19TSElGVCAgICAgICAgICAgICAxNQorCisjZGVmaW5lIElTSU5LMF9TVEVQX09GRlNFVCAgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgSVNJTkswX1NURVBfTUFTSyAgICAgICAgICAgICAgICAweDAwNzAKKyNkZWZpbmUgSVNJTkswX1NURVBfU0hJRlQgICAgICAgICAgICAgICA0CisKKyNkZWZpbmUgSVNJTkswX01PREVfT0ZGU0VUICAgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBJU0lOSzBfTU9ERV9NQVNLICAgICAgICAgICAgICAgIDB4MDAwMgorI2RlZmluZSBJU0lOSzBfTU9ERV9TSElGVCAgICAgICAgICAgICAgIDEKKworI2RlZmluZSBJU0lOSzBfRU5fT0ZGU0VUICAgICAgICAgICAgICAgIENPTjBfT0ZGU0VUCisjZGVmaW5lIElTSU5LMF9FTl9NQVNLICAgICAgICAgICAgICAgICAgMHgwMDAxCisjZGVmaW5lIElTSU5LMF9FTl9TSElGVCAgICAgICAgICAgICAgICAgMAorCisjZGVmaW5lIElTSU5LU19WUkVGX0NBTF9PRkZTRVQgICAgICAgICAgQ09OMV9PRkZTRVQKKyNkZWZpbmUgSVNJTktTX1ZSRUZfQ0FMX01BU0sgICAgICAgICAgICAweDFGMDAKKyNkZWZpbmUgSVNJTktTX1ZSRUZfQ0FMX1NISUZUICAgICAgICAgICA4CisKKyNkZWZpbmUgSVNJTktTX0ZPUkNFX09GRl9PRkZTRVQgICAgICAgICBDT04xX09GRlNFVAorI2RlZmluZSBJU0lOS1NfRk9SQ0VfT0ZGX01BU0sgICAgICAgICAgIDB4MDAwMQorI2RlZmluZSBJU0lOS1NfRk9SQ0VfT0ZGX1NISUZUICAgICAgICAgIDAKKworI2RlZmluZSBJU0lOS1NfVEVTVF9TRUxfT0ZGU0VUICAgICAgICAgIENPTjJfT0ZGU0VUCisjZGVmaW5lIElTSU5LU19URVNUX1NFTF9NQVNLICAgICAgICAgICAgMHgwNzAwCisjZGVmaW5lIElTSU5LU19URVNUX1NFTF9TSElGVCAgICAgICAgICAgOAorCisjZGVmaW5lIElTSU5LU19SU1ZfT0ZGU0VUICAgICAgICAgICAgICAgQ09OMl9PRkZTRVQKKyNkZWZpbmUgSVNJTktTX1JTVl9NQVNLICAgICAgICAgICAgICAgICAweDAwRkYKKyNkZWZpbmUgSVNJTktTX1JTVl9TSElGVCAgICAgICAgICAgICAgICAwCisKKyNkZWZpbmUgSVNJTksxX1NUQVRVU19PRkZTRVQgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBJU0lOSzFfU1RBVFVTX01BU0sgICAgICAgICAgICAgIDB4ODAwMAorI2RlZmluZSBJU0lOSzFfU1RBVFVTX1NISUZUICAgICAgICAgICAgIDE1CisKKyNkZWZpbmUgSVNJTksxX1NURVBfT0ZGU0VUICAgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBJU0lOSzFfU1RFUF9NQVNLICAgICAgICAgICAgICAgIDB4MDA3MAorI2RlZmluZSBJU0lOSzFfU1RFUF9TSElGVCAgICAgICAgICAgICAgIDQKKworI2RlZmluZSBJU0lOSzFfTU9ERV9PRkZTRVQgICAgICAgICAgICAgIENPTjBfT0ZGU0VUCisjZGVmaW5lIElTSU5LMV9NT0RFX01BU0sgICAgICAgICAgICAgICAgMHgwMDAyCisjZGVmaW5lIElTSU5LMV9NT0RFX1NISUZUICAgICAgICAgICAgICAgMQorCisjZGVmaW5lIElTSU5LMV9FTl9PRkZTRVQgICAgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgSVNJTksxX0VOX01BU0sgICAgICAgICAgICAgICAgICAweDAwMDEKKyNkZWZpbmUgSVNJTksxX0VOX1NISUZUICAgICAgICAgICAgICAgICAwCisKKyNkZWZpbmUgSVNJTksyX1NUQVRVU19PRkZTRVQgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBJU0lOSzJfU1RBVFVTX01BU0sgICAgICAgICAgICAgIDB4ODAwMAorI2RlZmluZSBJU0lOSzJfU1RBVFVTX1NISUZUICAgICAgICAgICAgIDE1CisKKyNkZWZpbmUgSVNJTksyX1NURVBfT0ZGU0VUICAgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBJU0lOSzJfU1RFUF9NQVNLICAgICAgICAgICAgICAgIDB4MDA3MAorI2RlZmluZSBJU0lOSzJfU1RFUF9TSElGVCAgICAgICAgICAgICAgIDQKKworI2RlZmluZSBJU0lOSzJfTU9ERV9PRkZTRVQgICAgICAgICAgICAgIENPTjBfT0ZGU0VUCisjZGVmaW5lIElTSU5LMl9NT0RFX01BU0sgICAgICAgICAgICAgICAgMHgwMDAyCisjZGVmaW5lIElTSU5LMl9NT0RFX1NISUZUICAgICAgICAgICAgICAgMQorCisjZGVmaW5lIElTSU5LMl9FTl9PRkZTRVQgICAgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgSVNJTksyX0VOX01BU0sgICAgICAgICAgICAgICAgICAweDAwMDEKKyNkZWZpbmUgSVNJTksyX0VOX1NISUZUICAgICAgICAgICAgICAgICAwCisKKyNkZWZpbmUgSVNJTkszX1NUQVRVU19PRkZTRVQgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBJU0lOSzNfU1RBVFVTX01BU0sgICAgICAgICAgICAgIDB4ODAwMAorI2RlZmluZSBJU0lOSzNfU1RBVFVTX1NISUZUICAgICAgICAgICAgIDE1CisKKyNkZWZpbmUgSVNJTkszX1NURVBfT0ZGU0VUICAgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBJU0lOSzNfU1RFUF9NQVNLICAgICAgICAgICAgICAgIDB4MDA3MAorI2RlZmluZSBJU0lOSzNfU1RFUF9TSElGVCAgICAgICAgICAgICAgIDQKKworI2RlZmluZSBJU0lOSzNfTU9ERV9PRkZTRVQgICAgICAgICAgICAgIENPTjBfT0ZGU0VUCisjZGVmaW5lIElTSU5LM19NT0RFX01BU0sgICAgICAgICAgICAgICAgMHgwMDAyCisjZGVmaW5lIElTSU5LM19NT0RFX1NISUZUICAgICAgICAgICAgICAgMQorCisjZGVmaW5lIElTSU5LM19FTl9PRkZTRVQgICAgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgSVNJTkszX0VOX01BU0sgICAgICAgICAgICAgICAgICAweDAwMDEKKyNkZWZpbmUgSVNJTkszX0VOX1NISUZUICAgICAgICAgICAgICAgICAwCisKKyNkZWZpbmUgSVNJTks0X1NUQVRVU19PRkZTRVQgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBJU0lOSzRfU1RBVFVTX01BU0sgICAgICAgICAgICAgIDB4ODAwMAorI2RlZmluZSBJU0lOSzRfU1RBVFVTX1NISUZUICAgICAgICAgICAgIDE1CisKKyNkZWZpbmUgSVNJTks0X1NURVBfT0ZGU0VUICAgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBJU0lOSzRfU1RFUF9NQVNLICAgICAgICAgICAgICAgIDB4MDA3MAorI2RlZmluZSBJU0lOSzRfU1RFUF9TSElGVCAgICAgICAgICAgICAgIDQKKworI2RlZmluZSBJU0lOSzRfTU9ERV9PRkZTRVQgICAgICAgICAgICAgIENPTjBfT0ZGU0VUCisjZGVmaW5lIElTSU5LNF9NT0RFX01BU0sgICAgICAgICAgICAgICAgMHgwMDAyCisjZGVmaW5lIElTSU5LNF9NT0RFX1NISUZUICAgICAgICAgICAgICAgMQorCisjZGVmaW5lIElTSU5LNF9FTl9PRkZTRVQgICAgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgSVNJTks0X0VOX01BU0sgICAgICAgICAgICAgICAgICAweDAwMDEKKyNkZWZpbmUgSVNJTks0X0VOX1NISUZUICAgICAgICAgICAgICAgICAwCisKKyNkZWZpbmUgSVNJTks1X1NUQVRVU19PRkZTRVQgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBJU0lOSzVfU1RBVFVTX01BU0sgICAgICAgICAgICAgIDB4ODAwMAorI2RlZmluZSBJU0lOSzVfU1RBVFVTX1NISUZUICAgICAgICAgICAgIDE1CisKKyNkZWZpbmUgSVNJTks1X1NURVBfT0ZGU0VUICAgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBJU0lOSzVfU1RFUF9NQVNLICAgICAgICAgICAgICAgIDB4MDA3MAorI2RlZmluZSBJU0lOSzVfU1RFUF9TSElGVCAgICAgICAgICAgICAgIDQKKworI2RlZmluZSBJU0lOSzVfTU9ERV9PRkZTRVQgICAgICAgICAgICAgIENPTjBfT0ZGU0VUCisjZGVmaW5lIElTSU5LNV9NT0RFX01BU0sgICAgICAgICAgICAgICAgMHgwMDAyCisjZGVmaW5lIElTSU5LNV9NT0RFX1NISUZUICAgICAgICAgICAgICAgMQorCisjZGVmaW5lIElTSU5LNV9FTl9PRkZTRVQgICAgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgSVNJTks1X0VOX01BU0sgICAgICAgICAgICAgICAgICAweDAwMDEKKyNkZWZpbmUgSVNJTks1X0VOX1NISUZUICAgICAgICAgICAgICAgICAwCisKKyNkZWZpbmUgS1BMRURfU1RBVFVTX09GRlNFVCAgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBLUExFRF9TVEFUVVNfTUFTSyAgICAgICAgICAgICAgIDB4ODAwMAorI2RlZmluZSBLUExFRF9TVEFUVVNfU0hJRlQgICAgICAgICAgICAgIDE1CisKKyNkZWZpbmUgS1BMRURfU0ZTVFJFTl9PRkZTRVQgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBLUExFRF9TRlNUUkVOX01BU0sgICAgICAgICAgICAgIDB4MDQwMAorI2RlZmluZSBLUExFRF9TRlNUUkVOX1NISUZUICAgICAgICAgICAgIDEwCisKKyNkZWZpbmUgS1BMRURfU0ZTVFJUQ19PRkZTRVQgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBLUExFRF9TRlNUUlRDX01BU0sgICAgICAgICAgICAgIDB4MDMwMAorI2RlZmluZSBLUExFRF9TRlNUUlRDX1NISUZUICAgICAgICAgICAgIDgKKworI2RlZmluZSBLUExFRF9TRUxfT0ZGU0VUICAgICAgICAgICAgICAgIENPTjBfT0ZGU0VUCisjZGVmaW5lIEtQTEVEX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgMHgwMDcwCisjZGVmaW5lIEtQTEVEX1NFTF9TSElGVCAgICAgICAgICAgICAgICAgNAorCisjZGVmaW5lIEtQTEVEX01PREVfT0ZGU0VUICAgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgS1BMRURfTU9ERV9NQVNLICAgICAgICAgICAgICAgICAweDAwMDIKKyNkZWZpbmUgS1BMRURfTU9ERV9TSElGVCAgICAgICAgICAgICAgICAxCisKKyNkZWZpbmUgS1BMRURfRU5fT0ZGU0VUICAgICAgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBLUExFRF9FTl9NQVNLICAgICAgICAgICAgICAgICAgIDB4MDAwMQorI2RlZmluZSBLUExFRF9FTl9TSElGVCAgICAgICAgICAgICAgICAgIDAKKworI2RlZmluZSBLUExFRF9GT1JDRV9PRkZfT0ZGU0VUICAgICAgICAgIENPTjFfT0ZGU0VUCisjZGVmaW5lIEtQTEVEX0ZPUkNFX09GRl9NQVNLICAgICAgICAgICAgMHgwMDAxCisjZGVmaW5lIEtQTEVEX0ZPUkNFX09GRl9TSElGVCAgICAgICAgICAgMAorCisjZGVmaW5lIFNQS19PQ19GTEFHX09GRlNFVCAgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgU1BLX09DX0ZMQUdfTUFTSyAgICAgICAgICAgICAgICAweDQwMDAKKyNkZWZpbmUgU1BLX09DX0ZMQUdfU0hJRlQgICAgICAgICAgICAgICAxNAorCisjZGVmaW5lIFNQS19PQ19BVVRPRkZfT0ZGU0VUICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgU1BLX09DX0FVVE9GRl9NQVNLICAgICAgICAgICAgICAweDEwMDAKKyNkZWZpbmUgU1BLX09DX0FVVE9GRl9TSElGVCAgICAgICAgICAgICAxMgorCisjZGVmaW5lIFNQS19WT0xfT0ZGU0VUICAgICAgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgU1BLX1ZPTF9NQVNLICAgICAgICAgICAgICAgICAgICAweDAwMzAKKyNkZWZpbmUgU1BLX1ZPTF9TSElGVCAgICAgICAgICAgICAgICAgICA0CisKKyNkZWZpbmUgU1BLX0VOX09GRlNFVCAgICAgICAgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBTUEtfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MDAwMQorI2RlZmluZSBTUEtfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgIDAKKworI2RlZmluZSBTUEtfRU5fVklFV19DTEtfT0ZGU0VUICAgICAgICAgIENPTjNfT0ZGU0VUCisjZGVmaW5lIFNQS19FTl9WSUVXX0NMS19NQVNLICAgICAgICAgICAgMHg0MDAwCisjZGVmaW5lIFNQS19FTl9WSUVXX0NMS19TSElGVCAgICAgICAgICAgMTQKKworI2RlZmluZSBTUEtfT0NfQ1RSTF9PRkZTRVQgICAgICAgICAgICAgIENPTjNfT0ZGU0VUCisjZGVmaW5lIFNQS19PQ19DVFJMX01BU0sgICAgICAgICAgICAgICAgMHgwMDBDCisjZGVmaW5lIFNQS19PQ19DVFJMX1NISUZUICAgICAgICAgICAgICAgMgorCisjZGVmaW5lIFNQS19CSUFTX09GRlNFVCAgICAgICAgICAgICAgICAgQ09ON19PRkZTRVQKKyNkZWZpbmUgU1BLX0JJQVNfTUFTSyAgICAgICAgICAgICAgICAgICAweDYwMDAKKyNkZWZpbmUgU1BLX0JJQVNfU0hJRlQgICAgICAgICAgICAgICAgICAxMworCisjZGVmaW5lIFNQS18ySU4xX09GRlNFVCAgICAgICAgICAgICAgICAgQ09ON19PRkZTRVQKKyNkZWZpbmUgU1BLXzJJTjFfTUFTSyAgICAgICAgICAgICAgICAgICAweDEwMDAKKyNkZWZpbmUgU1BLXzJJTjFfU0hJRlQgICAgICAgICAgICAgICAgICAxMgorCisjZGVmaW5lIFNQS19QQklBU19PRkZTRVQgICAgICAgICAgICAgICAgQ09ON19PRkZTRVQKKyNkZWZpbmUgU1BLX1BCSUFTX01BU0sgICAgICAgICAgICAgICAgICAweDA0MDAKKyNkZWZpbmUgU1BLX1BCSUFTX1NISUZUICAgICAgICAgICAgICAgICAxMAorCisjZGVmaW5lIFNQS0FCX09DX0VOX09GRlNFVCAgICAgICAgICAgICAgQ09ON19PRkZTRVQKKyNkZWZpbmUgU1BLQUJfT0NfRU5fTUFTSyAgICAgICAgICAgICAgICAweDAxMDAKKyNkZWZpbmUgU1BLQUJfT0NfRU5fU0hJRlQgICAgICAgICAgICAgICA4CisKKyNkZWZpbmUgU1BLQUJfVkNNX1NFTF9PRkZTRVQgICAgICAgICAgICBDT043X09GRlNFVAorI2RlZmluZSBTUEtBQl9WQ01fU0VMX01BU0sgICAgICAgICAgICAgIDB4MDA4MAorI2RlZmluZSBTUEtBQl9WQ01fU0VMX1NISUZUICAgICAgICAgICAgIDcKKworI2RlZmluZSBWQ01fSUJTRUxfT0ZGU0VUICAgICAgICAgICAgICAgIENPTjdfT0ZGU0VUCisjZGVmaW5lIFZDTV9JQlNFTF9NQVNLICAgICAgICAgICAgICAgICAgMHgwMDQwCisjZGVmaW5lIFZDTV9JQlNFTF9TSElGVCAgICAgICAgICAgICAgICAgNgorCisjZGVmaW5lIFNQS0FCX09CSUFTX09GRlNFVCAgICAgICAgICAgICAgQ09ON19PRkZTRVQKKyNkZWZpbmUgU1BLQUJfT0JJQVNfTUFTSyAgICAgICAgICAgICAgICAweDAwMzAKKyNkZWZpbmUgU1BLQUJfT0JJQVNfU0hJRlQgICAgICAgICAgICAgICA0CisKKyNkZWZpbmUgU1BLX1JTVl9PRkZTRVQgICAgICAgICAgICAgICAgICBDT044X09GRlNFVAorI2RlZmluZSBTUEtfUlNWX01BU0sgICAgICAgICAgICAgICAgICAgIDB4RjAwMAorI2RlZmluZSBTUEtfUlNWX1NISUZUICAgICAgICAgICAgICAgICAgIDEyCisKKyNkZWZpbmUgU1BLX0NBTElCUl9TRUxfT0ZGU0VUICAgICAgICAgICBDT044X09GRlNFVAorI2RlZmluZSBTUEtfQ0FMSUJSX1NFTF9NQVNLICAgICAgICAgICAgIDB4MDIwMAorI2RlZmluZSBTUEtfQ0FMSUJSX1NFTF9TSElGVCAgICAgICAgICAgIDkKKworI2RlZmluZSBTUEtfQ0FMSUJSX0VOX09GRlNFVCAgICAgICAgICAgIENPTjhfT0ZGU0VUCisjZGVmaW5lIFNQS19DQUxJQlJfRU5fTUFTSyAgICAgICAgICAgICAgMHgwMDQwCisjZGVmaW5lIFNQS19DQUxJQlJfRU5fU0hJRlQgICAgICAgICAgICAgNgorCisjZGVmaW5lIFZTRl9PQ19JTlRfRU5fT0ZGU0VUICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVlNGX09DX0lOVF9FTl9NQVNLICAgICAgICAgICAgICAweDIwMDAKKyNkZWZpbmUgVlNGX09DX0lOVF9FTl9TSElGVCAgICAgICAgICAgICAxMworCisjZGVmaW5lIFZNQ19PQ19JTlRfRU5fT0ZGU0VUICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVk1DX09DX0lOVF9FTl9NQVNLICAgICAgICAgICAgICAweDEwMDAKKyNkZWZpbmUgVk1DX09DX0lOVF9FTl9TSElGVCAgICAgICAgICAgICAxMgorCisjZGVmaW5lIFZJQlJfT0NfSU5UX0VOX09GRlNFVCAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVklCUl9PQ19JTlRfRU5fTUFTSyAgICAgICAgICAgICAweDA4MDAKKyNkZWZpbmUgVklCUl9PQ19JTlRfRU5fU0hJRlQgICAgICAgICAgICAxMQorCisjZGVmaW5lIFZSVENfT0NfSU5UX0VOX09GRlNFVCAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVlJUQ19PQ19JTlRfRU5fTUFTSyAgICAgICAgICAgICAweDA0MDAKKyNkZWZpbmUgVlJUQ19PQ19JTlRfRU5fU0hJRlQgICAgICAgICAgICAxMAorCisjZGVmaW5lIFZTSU0yX09DX0lOVF9FTl9PRkZTRVQgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVlNJTTJfT0NfSU5UX0VOX01BU0sgICAgICAgICAgICAweDAyMDAKKyNkZWZpbmUgVlNJTTJfT0NfSU5UX0VOX1NISUZUICAgICAgICAgICA5CisKKyNkZWZpbmUgVlNJTV9PQ19JTlRfRU5fT0ZGU0VUICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBWU0lNX09DX0lOVF9FTl9NQVNLICAgICAgICAgICAgIDB4MDEwMAorI2RlZmluZSBWU0lNX09DX0lOVF9FTl9TSElGVCAgICAgICAgICAgIDgKKworI2RlZmluZSBWQlRfT0NfSU5UX0VOX09GRlNFVCAgICAgICAgICAgIENPTjBfT0ZGU0VUCisjZGVmaW5lIFZCVF9PQ19JTlRfRU5fTUFTSyAgICAgICAgICAgICAgMHgwMDgwCisjZGVmaW5lIFZCVF9PQ19JTlRfRU5fU0hJRlQgICAgICAgICAgICAgNworCisjZGVmaW5lIFZVU0JfT0NfSU5UX0VOX09GRlNFVCAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVlVTQl9PQ19JTlRfRU5fTUFTSyAgICAgICAgICAgICAweDAwNDAKKyNkZWZpbmUgVlVTQl9PQ19JTlRfRU5fU0hJRlQgICAgICAgICAgICA2CisKKyNkZWZpbmUgVklPMjhfT0NfSU5UX0VOX09GRlNFVCAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBWSU8yOF9PQ19JTlRfRU5fTUFTSyAgICAgICAgICAgIDB4MDAyMAorI2RlZmluZSBWSU8yOF9PQ19JTlRfRU5fU0hJRlQgICAgICAgICAgIDUKKworI2RlZmluZSBWQ0FNRF9PQ19JTlRfRU5fT0ZGU0VUICAgICAgICAgIENPTjBfT0ZGU0VUCisjZGVmaW5lIFZDQU1EX09DX0lOVF9FTl9NQVNLICAgICAgICAgICAgMHgwMDEwCisjZGVmaW5lIFZDQU1EX09DX0lOVF9FTl9TSElGVCAgICAgICAgICAgNAorCisjZGVmaW5lIFZDQU1BX09DX0lOVF9FTl9PRkZTRVQgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVkNBTUFfT0NfSU5UX0VOX01BU0sgICAgICAgICAgICAweDAwMDgKKyNkZWZpbmUgVkNBTUFfT0NfSU5UX0VOX1NISUZUICAgICAgICAgICAzCisKKyNkZWZpbmUgVkFfT0NfSU5UX0VOX09GRlNFVCAgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBWQV9PQ19JTlRfRU5fTUFTSyAgICAgICAgICAgICAgIDB4MDAwNAorI2RlZmluZSBWQV9PQ19JTlRfRU5fU0hJRlQgICAgICAgICAgICAgIDIKKworI2RlZmluZSBWVENYT19PQ19JTlRfRU5fT0ZGU0VUICAgICAgICAgIENPTjBfT0ZGU0VUCisjZGVmaW5lIFZUQ1hPX09DX0lOVF9FTl9NQVNLICAgICAgICAgICAgMHgwMDAyCisjZGVmaW5lIFZUQ1hPX09DX0lOVF9FTl9TSElGVCAgICAgICAgICAgMQorCisjZGVmaW5lIFZSRl9PQ19JTlRfRU5fT0ZGU0VUICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVlJGX09DX0lOVF9FTl9NQVNLICAgICAgICAgICAgICAweDAwMDEKKyNkZWZpbmUgVlJGX09DX0lOVF9FTl9TSElGVCAgICAgICAgICAgICAwCisKKyNkZWZpbmUgVklPMThfT0NfSU5UX0VOX09GRlNFVCAgICAgICAgICBDT04xX09GRlNFVAorI2RlZmluZSBWSU8xOF9PQ19JTlRfRU5fTUFTSyAgICAgICAgICAgIDB4MDAwMgorI2RlZmluZSBWSU8xOF9PQ19JTlRfRU5fU0hJRlQgICAgICAgICAgIDEKKworI2RlZmluZSBWQ09SRV9PQ19JTlRfRU5fT0ZGU0VUICAgICAgICAgIENPTjFfT0ZGU0VUCisjZGVmaW5lIFZDT1JFX09DX0lOVF9FTl9NQVNLICAgICAgICAgICAgMHgwMDAxCisjZGVmaW5lIFZDT1JFX09DX0lOVF9FTl9TSElGVCAgICAgICAgICAgMAorCisjZGVmaW5lIFNQS19PQ19JTlRfRU5fT0ZGU0VUICAgICAgICAgICAgQ09OM19PRkZTRVQKKyNkZWZpbmUgU1BLX09DX0lOVF9FTl9NQVNLICAgICAgICAgICAgICAweDAwMDEKKyNkZWZpbmUgU1BLX09DX0lOVF9FTl9TSElGVCAgICAgICAgICAgICAwCisvKgorI2RlZmluZSBWU0ZfT0NfRkxBR19PRkZTRVQgICAgICAgICAgICAgIENPTjRfT0ZGU0VUCisjZGVmaW5lIFZTRl9PQ19GTEFHX01BU0sgICAgICAgICAgICAgICAgMHgyMDAwCisjZGVmaW5lIFZTRl9PQ19GTEFHX1NISUZUICAgICAgICAgICAgICAgMTMKKworI2RlZmluZSBWTUNfT0NfRkxBR19PRkZTRVQgICAgICAgICAgICAgIENPTjRfT0ZGU0VUCisjZGVmaW5lIFZNQ19PQ19GTEFHX01BU0sgICAgICAgICAgICAgICAgMHgxMDAwCisjZGVmaW5lIFZNQ19PQ19GTEFHX1NISUZUICAgICAgICAgICAgICAgMTIKKworI2RlZmluZSBWSUJSX09DX0ZMQUdfT0ZGU0VUICAgICAgICAgICAgIENPTjRfT0ZGU0VUCisjZGVmaW5lIFZJQlJfT0NfRkxBR19NQVNLICAgICAgICAgICAgICAgMHgwODAwCisjZGVmaW5lIFZJQlJfT0NfRkxBR19TSElGVCAgICAgICAgICAgICAgMTEKKworI2RlZmluZSBWUlRDX09DX0ZMQUdfT0ZGU0VUICAgICAgICAgICAgIENPTjRfT0ZGU0VUCisjZGVmaW5lIFZSVENfT0NfRkxBR19NQVNLICAgICAgICAgICAgICAgMHgwNDAwCisjZGVmaW5lIFZSVENfT0NfRkxBR19TSElGVCAgICAgICAgICAgICAgMTAKKworI2RlZmluZSBWU0lNMl9PQ19GTEFHX09GRlNFVCAgICAgICAgICAgIENPTjRfT0ZGU0VUCisjZGVmaW5lIFZTSU0yX09DX0ZMQUdfTUFTSyAgICAgICAgICAgICAgMHgwMjAwCisjZGVmaW5lIFZTSU0yX09DX0ZMQUdfU0hJRlQgICAgICAgICAgICAgOQorCisjZGVmaW5lIFZTSU1fT0NfRkxBR19PRkZTRVQgICAgICAgICAgICAgQ09ONF9PRkZTRVQKKyNkZWZpbmUgVlNJTV9PQ19GTEFHX01BU0sgICAgICAgICAgICAgICAweDAxMDAKKyNkZWZpbmUgVlNJTV9PQ19GTEFHX1NISUZUICAgICAgICAgICAgICA4CisKKyNkZWZpbmUgVkJUX09DX0ZMQUdfT0ZGU0VUICAgICAgICAgICAgICBDT040X09GRlNFVAorI2RlZmluZSBWQlRfT0NfRkxBR19NQVNLICAgICAgICAgICAgICAgIDB4MDA4MAorI2RlZmluZSBWQlRfT0NfRkxBR19TSElGVCAgICAgICAgICAgICAgIDcKKworI2RlZmluZSBWVVNCX09DX0ZMQUdfT0ZGU0VUICAgICAgICAgICAgIENPTjRfT0ZGU0VUCisjZGVmaW5lIFZVU0JfT0NfRkxBR19NQVNLICAgICAgICAgICAgICAgMHgwMDQwCisjZGVmaW5lIFZVU0JfT0NfRkxBR19TSElGVCAgICAgICAgICAgICAgNgorCisjZGVmaW5lIFZJTzI4X09DX0ZMQUdfT0ZGU0VUICAgICAgICAgICAgQ09ONF9PRkZTRVQKKyNkZWZpbmUgVklPMjhfT0NfRkxBR19NQVNLICAgICAgICAgICAgICAweDAwMjAKKyNkZWZpbmUgVklPMjhfT0NfRkxBR19TSElGVCAgICAgICAgICAgICA1CisKKyNkZWZpbmUgVkNBTURfT0NfRkxBR19PRkZTRVQgICAgICAgICAgICBDT040X09GRlNFVAorI2RlZmluZSBWQ0FNRF9PQ19GTEFHX01BU0sgICAgICAgICAgICAgIDB4MDAxMAorI2RlZmluZSBWQ0FNRF9PQ19GTEFHX1NISUZUICAgICAgICAgICAgIDQKKworI2RlZmluZSBWQ0FNQV9PQ19GTEFHX09GRlNFVCAgICAgICAgICAgIENPTjRfT0ZGU0VUCisjZGVmaW5lIFZDQU1BX09DX0ZMQUdfTUFTSyAgICAgICAgICAgICAgMHgwMDA4CisjZGVmaW5lIFZDQU1BX09DX0ZMQUdfU0hJRlQgICAgICAgICAgICAgMworCisjZGVmaW5lIFZBX09DX0ZMQUdfT0ZGU0VUICAgICAgICAgICAgICAgQ09ONF9PRkZTRVQKKyNkZWZpbmUgVkFfT0NfRkxBR19NQVNLICAgICAgICAgICAgICAgICAweDAwMDQKKyNkZWZpbmUgVkFfT0NfRkxBR19TSElGVCAgICAgICAgICAgICAgICAyCisKKyNkZWZpbmUgVlRDWE9fT0NfRkxBR19PRkZTRVQgICAgICAgICAgICBDT040X09GRlNFVAorI2RlZmluZSBWVENYT19PQ19GTEFHX01BU0sgICAgICAgICAgICAgIDB4MDAwMgorI2RlZmluZSBWVENYT19PQ19GTEFHX1NISUZUICAgICAgICAgICAgIDEKKworI2RlZmluZSBWUkZfT0NfRkxBR19PRkZTRVQgICAgICAgICAgICAgIENPTjRfT0ZGU0VUCisjZGVmaW5lIFZSRl9PQ19GTEFHX01BU0sgICAgICAgICAgICAgICAgMHgwMDAxCisjZGVmaW5lIFZSRl9PQ19GTEFHX1NISUZUICAgICAgICAgICAgICAgMAorCisjZGVmaW5lIFZJTzE4X09DX0ZMQUdfT0ZGU0VUICAgICAgICAgICAgQ09ONV9PRkZTRVQKKyNkZWZpbmUgVklPMThfT0NfRkxBR19NQVNLICAgICAgICAgICAgICAweDAwMDIKKyNkZWZpbmUgVklPMThfT0NfRkxBR19TSElGVCAgICAgICAgICAgICAxCisKKyNkZWZpbmUgVkNPUkVfT0NfRkxBR19PRkZTRVQgICAgICAgICAgICBDT041X09GRlNFVAorI2RlZmluZSBWQ09SRV9PQ19GTEFHX01BU0sgICAgICAgICAgICAgIDB4MDAwMQorI2RlZmluZSBWQ09SRV9PQ19GTEFHX1NISUZUICAgICAgICAgICAgIDAKKworI2RlZmluZSBTUEtfT0NfRkxBR19PRkZTRVQgICAgICAgICAgICAgIENPTjdfT0ZGU0VUCisjZGVmaW5lIFNQS19PQ19GTEFHX01BU0sgICAgICAgICAgICAgICAgMHgwMDAxCisjZGVmaW5lIFNQS19PQ19GTEFHX1NISUZUICAgICAgICAgICAgICAgMAorKi8KKyNkZWZpbmUgVlNGX09DX1NUQVRVU19PRkZTRVQgICAgICAgICAgICBDT044X09GRlNFVAorI2RlZmluZSBWU0ZfT0NfU1RBVFVTX01BU0sgICAgICAgICAgICAgIDB4MjAwMAorI2RlZmluZSBWU0ZfT0NfU1RBVFVTX1NISUZUICAgICAgICAgICAgIDEzCisKKyNkZWZpbmUgVk1DX09DX1NUQVRVU19PRkZTRVQgICAgICAgICAgICBDT044X09GRlNFVAorI2RlZmluZSBWTUNfT0NfU1RBVFVTX01BU0sgICAgICAgICAgICAgIDB4MTAwMAorI2RlZmluZSBWTUNfT0NfU1RBVFVTX1NISUZUICAgICAgICAgICAgIDEyCisKKyNkZWZpbmUgVklCUl9PQ19TVEFUVVNfT0ZGU0VUICAgICAgICAgICBDT044X09GRlNFVAorI2RlZmluZSBWSUJSX09DX1NUQVRVU19NQVNLICAgICAgICAgICAgIDB4MDgwMAorI2RlZmluZSBWSUJSX09DX1NUQVRVU19TSElGVCAgICAgICAgICAgIDExCisKKyNkZWZpbmUgVlJUQ19PQ19TVEFUVVNfT0ZGU0VUICAgICAgICAgICBDT044X09GRlNFVAorI2RlZmluZSBWUlRDX09DX1NUQVRVU19NQVNLICAgICAgICAgICAgIDB4MDQwMAorI2RlZmluZSBWUlRDX09DX1NUQVRVU19TSElGVCAgICAgICAgICAgIDEwCisKKyNkZWZpbmUgVlNJTTJfT0NfU1RBVFVTX09GRlNFVCAgICAgICAgICBDT044X09GRlNFVAorI2RlZmluZSBWU0lNMl9PQ19TVEFUVVNfTUFTSyAgICAgICAgICAgIDB4MDIwMAorI2RlZmluZSBWU0lNMl9PQ19TVEFUVVNfU0hJRlQgICAgICAgICAgIDkKKworI2RlZmluZSBWU0lNX09DX1NUQVRVU19PRkZTRVQgICAgICAgICAgIENPTjhfT0ZGU0VUCisjZGVmaW5lIFZTSU1fT0NfU1RBVFVTX01BU0sgICAgICAgICAgICAgMHgwMTAwCisjZGVmaW5lIFZTSU1fT0NfU1RBVFVTX1NISUZUICAgICAgICAgICAgOAorCisjZGVmaW5lIFZCVF9PQ19TVEFUVVNfT0ZGU0VUICAgICAgICAgICAgQ09OOF9PRkZTRVQKKyNkZWZpbmUgVkJUX09DX1NUQVRVU19NQVNLICAgICAgICAgICAgICAweDAwODAKKyNkZWZpbmUgVkJUX09DX1NUQVRVU19TSElGVCAgICAgICAgICAgICA3CisKKyNkZWZpbmUgVlVTQl9PQ19TVEFUVVNfT0ZGU0VUICAgICAgICAgICBDT044X09GRlNFVAorI2RlZmluZSBWVVNCX09DX1NUQVRVU19NQVNLICAgICAgICAgICAgIDB4MDA0MAorI2RlZmluZSBWVVNCX09DX1NUQVRVU19TSElGVCAgICAgICAgICAgIDYKKworI2RlZmluZSBWSU8yOF9PQ19TVEFUVVNfT0ZGU0VUICAgICAgICAgIENPTjhfT0ZGU0VUCisjZGVmaW5lIFZJTzI4X09DX1NUQVRVU19NQVNLICAgICAgICAgICAgMHgwMDIwCisjZGVmaW5lIFZJTzI4X09DX1NUQVRVU19TSElGVCAgICAgICAgICAgNQorCisjZGVmaW5lIFZDQU1EX09DX1NUQVRVU19PRkZTRVQgICAgICAgICAgQ09OOF9PRkZTRVQKKyNkZWZpbmUgVkNBTURfT0NfU1RBVFVTX01BU0sgICAgICAgICAgICAweDAwMTAKKyNkZWZpbmUgVkNBTURfT0NfU1RBVFVTX1NISUZUICAgICAgICAgICA0CisKKyNkZWZpbmUgVkNBTUFfT0NfU1RBVFVTX09GRlNFVCAgICAgICAgICBDT044X09GRlNFVAorI2RlZmluZSBWQ0FNQV9PQ19TVEFUVVNfTUFTSyAgICAgICAgICAgIDB4MDAwOAorI2RlZmluZSBWQ0FNQV9PQ19TVEFUVVNfU0hJRlQgICAgICAgICAgIDMKKworI2RlZmluZSBWQV9PQ19TVEFUVVNfT0ZGU0VUICAgICAgICAgICAgIENPTjhfT0ZGU0VUCisjZGVmaW5lIFZBX09DX1NUQVRVU19NQVNLICAgICAgICAgICAgICAgMHgwMDA0CisjZGVmaW5lIFZBX09DX1NUQVRVU19TSElGVCAgICAgICAgICAgICAgMgorCisjZGVmaW5lIFZUQ1hPX09DX1NUQVRVU19PRkZTRVQgICAgICAgICAgQ09OOF9PRkZTRVQKKyNkZWZpbmUgVlRDWE9fT0NfU1RBVFVTX01BU0sgICAgICAgICAgICAweDAwMDIKKyNkZWZpbmUgVlRDWE9fT0NfU1RBVFVTX1NISUZUICAgICAgICAgICAxCisKKyNkZWZpbmUgVlJGX09DX1NUQVRVU19PRkZTRVQgICAgICAgICAgICBDT044X09GRlNFVAorI2RlZmluZSBWUkZfT0NfU1RBVFVTX01BU0sgICAgICAgICAgICAgIDB4MDAwMQorI2RlZmluZSBWUkZfT0NfU1RBVFVTX1NISUZUICAgICAgICAgICAgIDAKKworI2RlZmluZSBWSU8xOF9PQ19TVEFUVVNfT0ZGU0VUICAgICAgICAgIENPTjlfT0ZGU0VUCisjZGVmaW5lIFZJTzE4X09DX1NUQVRVU19NQVNLICAgICAgICAgICAgMHgwMDAyCisjZGVmaW5lIFZJTzE4X09DX1NUQVRVU19TSElGVCAgICAgICAgICAgMQorCisjZGVmaW5lIFZDT1JFX09DX1NUQVRVU19PRkZTRVQgICAgICAgICAgQ09OOV9PRkZTRVQKKyNkZWZpbmUgVkNPUkVfT0NfU1RBVFVTX01BU0sgICAgICAgICAgICAweDAwMDEKKyNkZWZpbmUgVkNPUkVfT0NfU1RBVFVTX1NISUZUICAgICAgICAgICAwCisKKyNkZWZpbmUgU1BLX09DX1NUQVRVU19PRkZTRVQgICAgICAgICAgICBDT05CX09GRlNFVAorI2RlZmluZSBTUEtfT0NfU1RBVFVTX01BU0sgICAgICAgICAgICAgIDB4MDAwMQorI2RlZmluZSBTUEtfT0NfU1RBVFVTX1NISUZUICAgICAgICAgICAgIDAKKworI2RlZmluZSBJTlRfTk9ERV9NVVhfT0ZGU0VUICAgICAgICAgICAgIENPTjBfT0ZGU0VUCisjZGVmaW5lIElOVF9OT0RFX01VWF9NQVNLICAgICAgICAgICAgICAgMHgwMDA3CisjZGVmaW5lIElOVF9OT0RFX01VWF9TSElGVCAgICAgICAgICAgICAgMAorCisjZGVmaW5lIElCSUFTX1RSSU1fT0ZGU0VUICAgICAgICAgICAgICAgQ09OMV9PRkZTRVQKKyNkZWZpbmUgSUJJQVNfVFJJTV9NQVNLICAgICAgICAgICAgICAgICAweEYwMDAKKyNkZWZpbmUgSUJJQVNfVFJJTV9TSElGVCAgICAgICAgICAgICAgICAxMgorCisjZGVmaW5lIFRQU0VMX09GRlNFVCAgICAgICAgICAgICAgICAgICAgQ09OMV9PRkZTRVQKKyNkZWZpbmUgVFBTRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDBGMDAKKyNkZWZpbmUgVFBTRUxfU0hJRlQgICAgICAgICAgICAgICAgICAgICA4CisKKyNkZWZpbmUgVFBfQlVDS19PRkZTRVQgICAgICAgICAgICAgICAgICBDT04xX09GRlNFVAorI2RlZmluZSBUUF9CVUNLX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MDAzMAorI2RlZmluZSBUUF9CVUNLX1NISUZUICAgICAgICAgICAgICAgICAgIDQKKworI2RlZmluZSBUUF9MRURfT0ZGU0VUICAgICAgICAgICAgICAgICAgIENPTjFfT0ZGU0VUCisjZGVmaW5lIFRQX0xFRF9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgwMDBGCisjZGVmaW5lIFRQX0xFRF9TSElGVCAgICAgICAgICAgICAgICAgICAgMAorCisjZGVmaW5lIFRFU1RNT0RFX1JTVl9PRkZTRVQgICAgICAgICAgICAgQ09OMl9PRkZTRVQKKyNkZWZpbmUgVEVTVE1PREVfUlNWX01BU0sgICAgICAgICAgICAgICAweEZDMDAKKyNkZWZpbmUgVEVTVE1PREVfUlNWX1NISUZUICAgICAgICAgICAgICAxMAorCisjZGVmaW5lIFBNVV9TVjEyX1RNT0RFX09GRlNFVCAgICAgICAgICAgQ09OMl9PRkZTRVQKKyNkZWZpbmUgUE1VX1NWMTJfVE1PREVfTUFTSyAgICAgICAgICAgICAweDAyMDAKKyNkZWZpbmUgUE1VX1NWMTJfVE1PREVfU0hJRlQgICAgICAgICAgICA5CisKKyNkZWZpbmUgUE1VX1RIUl9UTU9ERV9PRkZTRVQgICAgICAgICAgICBDT04yX09GRlNFVAorI2RlZmluZSBQTVVfVEhSX1RNT0RFX01BU0sgICAgICAgICAgICAgIDB4MDEwMAorI2RlZmluZSBQTVVfVEhSX1RNT0RFX1NISUZUICAgICAgICAgICAgIDgKKworI2RlZmluZSBJQklBU19UUklNX0VOX09GRlNFVCAgICAgICAgICAgIENPTjJfT0ZGU0VUCisjZGVmaW5lIElCSUFTX1RSSU1fRU5fTUFTSyAgICAgICAgICAgICAgMHgwMDIwCisjZGVmaW5lIElCSUFTX1RSSU1fRU5fU0hJRlQgICAgICAgICAgICAgNQorCisjZGVmaW5lIFBNVV9UTVNFTF9PRkZTRVQgICAgICAgICAgICAgICAgQ09OMl9PRkZTRVQKKyNkZWZpbmUgUE1VX1RNU0VMX01BU0sgICAgICAgICAgICAgICAgICAweDAwMUYKKyNkZWZpbmUgUE1VX1RNU0VMX1NISUZUICAgICAgICAgICAgICAgICAwCisKKyNkZWZpbmUgUE1JQ19SU1YwX09GRlNFVCAgICAgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBQTUlDX1JTVjBfTUFTSyAgICAgICAgICAgICAgICAgIDB4MDBGRgorI2RlZmluZSBQTUlDX1JTVjBfU0hJRlQgICAgICAgICAgICAgICAgIDAKKworI2RlZmluZSBQTUlDX1JTVjFfT0ZGU0VUICAgICAgICAgICAgICAgIENPTjFfT0ZGU0VUCisjZGVmaW5lIFBNSUNfUlNWMV9NQVNLICAgICAgICAgICAgICAgICAgMHgwMEZGCisjZGVmaW5lIFBNSUNfUlNWMV9TSElGVCAgICAgICAgICAgICAgICAgMAorCisjZGVmaW5lIFBNSUNfUlNWMl9PRkZTRVQgICAgICAgICAgICAgICAgQ09OMl9PRkZTRVQKKyNkZWZpbmUgUE1JQ19SU1YyX01BU0sgICAgICAgICAgICAgICAgICAweDAwRkYKKyNkZWZpbmUgUE1JQ19SU1YyX1NISUZUICAgICAgICAgICAgICAgICAwCisKKyNkZWZpbmUgUE1JQ19SU1YzX09GRlNFVCAgICAgICAgICAgICAgICBDT04zX09GRlNFVAorI2RlZmluZSBQTUlDX1JTVjNfTUFTSyAgICAgICAgICAgICAgICAgIDB4MDBGRgorI2RlZmluZSBQTUlDX1JTVjNfU0hJRlQgICAgICAgICAgICAgICAgIDAKKworCisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworLyogU3BlY2lhbCBDb21tYW5kICovCisKKy8vIExETyBjbWRzCisvLyBMRE9fQ09OMAorI2RlZmluZSBMRE9fQlVDS19FTl9PRkZTRVQgICAgICAgICAgCUNPTjBfT0ZGU0VUCisjZGVmaW5lIExET19CVUNLX0VOX01BU0sgICAgICAgICAgICAgICAJMHgwMDAxCisjZGVmaW5lIExET19CVUNLX0VOX1NISUZUICAgICAgICAgICAgICAJMAorCisjZGVmaW5lIExET19CVUNLX09OX1NFTF9PRkZTRVQgICAgIAkJQ09OMF9PRkZTRVQKKyNkZWZpbmUgTERPX0JVQ0tfT05fU0VMX01BU0sgICAgICAgICAgICAweDAwMDIKKyNkZWZpbmUgTERPX0JVQ0tfT05fU0VMX1NISUZUICAgICAgICAgICAxCisKKyNkZWZpbmUgTERPX0JVQ0tfUlNfT0ZGU0VUCQkJCUNPTjBfT0ZGU0VUCisjZGVmaW5lIExET19CVUNLX1JTX01BU0sgICAgICAgICAgICAgICAJMHgwMDA0CisjZGVmaW5lIExET19CVUNLX1JTX1NISUZUICAgICAgICAgICAgICAJMgorCisjZGVmaW5lIExET19CVUNLX1ZPTF9TRUxfT0ZGU0VUCQkJQ09OMF9PRkZTRVQgLy8gRm9yIFZDQU1BLCBWQ0FNRCwgVkJULCBWU0lNLCBWU0lNMiwgVklCUiwgVk1DLCBWQ09SRQorI2RlZmluZSBMRE9fQlVDS19WT0xfU0VMX01BU0sgICAgICAgICAgCTB4MDFGMAorI2RlZmluZSBMRE9fQlVDS19WT0xfU0VMX1NISUZUICAgICAgICAgCTQKKworI2RlZmluZSBMRE9fQlVDS19ORElTX0VOX09GRlNFVAkJCUNPTjBfT0ZGU0VUIC8vIEJVQ0s6IEFOVElVTlNIX0ROCisjZGVmaW5lIExET19CVUNLX05ESVNfRU5fTUFTSyAgICAgICAgICAJMHgwNDAwCisjZGVmaW5lIExET19CVUNLX05ESVNfRU5fU0hJRlQgICAgICAgICAJMTAKKworI2RlZmluZSBMRE9fQlVDS19TVEJfRU5fT0ZGU0VUCQkJQ09OMF9PRkZTRVQKKyNkZWZpbmUgTERPX0JVQ0tfU1RCX0VOX01BU0sgICAgICAgICAgIAkweDA4MDAKKyNkZWZpbmUgTERPX0JVQ0tfU1RCX0VOX1NISUZUICAgICAgICAgIAkxMQorCisjZGVmaW5lIExET19CVUNLX09DX0FVVE9fT0ZGX09GRlNFVCAJQ09OMF9PRkZTRVQKKyNkZWZpbmUgTERPX0JVQ0tfT0NfQVVUT19PRkZfTUFTSyAgICAgIAkweDEwMDAKKyNkZWZpbmUgTERPX0JVQ0tfT0NfQVVUT19PRkZfU0hJRlQgICAgIAkxMgorCisjZGVmaW5lIExET19CVUNLX09DRkJfRU5fT0ZGU0VUCQkJQ09OMF9PRkZTRVQKKyNkZWZpbmUgTERPX0JVQ0tfT0NGQl9FTl9NQVNLICAgICAgICAgIAkweDIwMDAKKyNkZWZpbmUgTERPX0JVQ0tfT0NGQl9FTl9TSElGVCAgICAgICAgIAkxMworCisjZGVmaW5lIExET19CVUNLX09DX0ZMQUdfT0ZGU0VUCQkJQ09OMF9PRkZTRVQKKyNkZWZpbmUgTERPX0JVQ0tfT0NfRkxBR19NQVNLICAgICAgICAgIAkweDQwMDAKKyNkZWZpbmUgTERPX0JVQ0tfT0NfRkxBR19TSElGVCAgICAgICAgIAkxNAorCisjZGVmaW5lIExET19CVUNLX1NUQVRVU19PRkZTRVQJCQlDT04wX09GRlNFVAorI2RlZmluZSBMRE9fQlVDS19TVEFUVVNfTUFTSyAgICAgICAgICAJMHg4MDAwCisjZGVmaW5lIExET19CVUNLX1NUQVRVU19TSElGVCAgICAgICAgIAkxNQorCisvLyBMRE9fQ09OMQorI2RlZmluZSBMRE9fQ0FMX09GRlNFVAkJCQkJQ09OMV9PRkZTRVQKKyNkZWZpbmUgTERPX0NBTF9NQVNLICAgICAgICAgICAgICAJCTB4MDFGMAorI2RlZmluZSBMRE9fQ0FMX1NISUZUICAgICAgICAgICAgIAkJNAorCisjZGVmaW5lIExET19TVEJfU0VMX09GRlNFVAkJCQlDT04xX09GRlNFVCAvLyBGb3IgVklCUiAmIFZNQworI2RlZmluZSBMRE9fU1RCX1NFTF9NQVNLICAgICAgICAgICAgICAJMHgxMDAwCisjZGVmaW5lIExET19TVEJfU0VMX1NISUZUICAgICAgICAgICAgIAkxMgorCisvLyBMRE9fQ09OMgorI2RlZmluZSBMRE9fRU5fRk9SQ0VfT0ZGU0VUCQkJCUNPTjJfT0ZGU0VUCisjZGVmaW5lIExET19FTl9GT1JDRV9NQVNLICAgICAgICAgICAgICAJMHgwMDAxCisjZGVmaW5lIExET19FTl9GT1JDRV9TSElGVCAgICAgICAgICAgICAJMAorCisjZGVmaW5lIExET19PQ19URF9PRkZTRVQJCSAgICAgICAgQ09OMl9PRkZTRVQKKyNkZWZpbmUgTERPX09DX1REX01BU0sgICAgICAgICAgICAgICAgICAweDAwMzAKKyNkZWZpbmUgTERPX09DX1REX1NISUZUICAgICAgICAgICAgICAgICA0CisKKyNkZWZpbmUgTERPX1NUQl9URF9PRkZTRVQJCSAgICAgICAgQ09OMl9PRkZTRVQKKyNkZWZpbmUgTERPX1NUQl9URF9NQVNLICAgICAgICAgICAgICAgICAweDAwQzAKKyNkZWZpbmUgTERPX1NUQl9URF9TSElGVCAgICAgICAgICAgICAgICA2CisKKy8vIEJVQ0sgY21kcworI2RlZmluZSBCVUNLX1ZGQkFESl9TTEVFUF9PRkZTRVQJICAgIENPTjFfT0ZGU0VUCisjZGVmaW5lIEJVQ0tfVkZCQURKX1NMRUVQX01BU0sgICAgICAgICAgMHgwMUYwCisjZGVmaW5lIEJVQ0tfVkZCQURKX1NMRUVQX1NISUZUICAgICAgICAgNAorCisjZGVmaW5lIEJVQ0tfRU5fRk9SQ0VfT0ZGU0VUCQkgICAgQ09OM19PRkZTRVQKKyNkZWZpbmUgQlVDS19FTl9GT1JDRV9NQVNLICAgICAgICAgICAgICAweDAwMDEKKyNkZWZpbmUgQlVDS19FTl9GT1JDRV9TSElGVCAgICAgICAgICAgICAwCisKKyNkZWZpbmUgQlVDS19PQ19URF9PRkZTRVQJCSAgICAgICAgQ09OM19PRkZTRVQKKyNkZWZpbmUgQlVDS19PQ19URF9NQVNLICAgICAgICAgICAgICAgICAweDAwMzAKKyNkZWZpbmUgQlVDS19PQ19URF9TSElGVCAgICAgICAgICAgICAgICA0CisKKyNkZWZpbmUgQlVDS19TVEJfVERfT0ZGU0VUCQkgICAgICAgIENPTjNfT0ZGU0VUCisjZGVmaW5lIEJVQ0tfU1RCX1REX01BU0sgICAgICAgICAgICAgICAgMHgwMEMwCisjZGVmaW5lIEJVQ0tfU1RCX1REX1NISUZUICAgICAgICAgICAgICAgNgorCisjZGVmaW5lIEJVQ0tfT0NfVEhEX09GRlNFVAkgICAgICAgICAgICBDT04zX09GRlNFVAorI2RlZmluZSBCVUNLX09DX1RIRF9NQVNLICAgICAgICAgICAgICAgIDB4MDMwMAorI2RlZmluZSBCVUNLX09DX1RIRF9TSElGVCAgICAgICAgICAgICAgIDgKKworI2RlZmluZSBCVUNLX09DX1dORF9PRkZTRVQJICAgICAgICAgICAgQ09OM19PRkZTRVQKKyNkZWZpbmUgQlVDS19PQ19XTkRfTUFTSyAgICAgICAgICAgICAgICAweDBDMDAKKyNkZWZpbmUgQlVDS19PQ19XTkRfU0hJRlQgICAgICAgICAgICAgICAxMAorCisjZGVmaW5lIEJVQ0tfSUNBTF9FTl9PRkZTRVQJICAgICAgICAgICAgQ09OM19PRkZTRVQKKyNkZWZpbmUgQlVDS19JQ0FMX0VOX01BU0sgICAgICAgICAgICAgICAweDMwMDAKKyNkZWZpbmUgQlVDS19JQ0FMX0VOX1NISUZUICAgICAgICAgICAgICAxMgorCisjZGVmaW5lIEJVQ0tfQ1NMX09GRlNFVCAgICAgICAgIAkgICAgQ09ONV9PRkZTRVQKKyNkZWZpbmUgQlVDS19DU0xfTUFTSyAgICAgICAgICAgICAgICAgICAweDA3MDAKKyNkZWZpbmUgQlVDS19DU0xfU0hJRlQgICAgICAgICAgICAgICAgICA4CisKKyNkZWZpbmUgQlVDS19CVVJTVF9PRkZTRVQJCSAgICAgICAgQ09ONV9PRkZTRVQKKyNkZWZpbmUgQlVDS19CVVJTVF9NQVNLICAgICAgICAgICAgICAgICAweDMwMDAKKyNkZWZpbmUgQlVDS19CVVJTVF9TSElGVCAgICAgICAgICAgICAgICAxMgorCisvLyBDSFIgQ01EUworI2RlZmluZSBBRENfRU5fT0ZGU0VUCQkgICAgICAgICAgICBDT04xMF9PRkZTRVQKKyNkZWZpbmUgQURDX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAweDAwNzAgICAvLyBBbGwgQURDIGNoYW5uZWxzIGFyZSBlbmFibGVkIGF0IHNhbWUgdGltZQorI2RlZmluZSBBRENfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgIDQKKworLy8gSVNJTksgY21kcworLy8gSVNJTktfQ09OMAorI2RlZmluZSBJU0lOS19FTl9PRkZTRVQJCQkJCUNPTjBfT0ZGU0VUCisjZGVmaW5lIElTSU5LX0VOX01BU0sgICAgICAgICAgICAgCQkweDAwMDEKKyNkZWZpbmUgSVNJTktfRU5fU0hJRlQgICAgICAgICAgICAJCTAKKworI2RlZmluZSBJU0lOS19NT0RFX09GRlNFVAkJCQlDT04wX09GRlNFVAorI2RlZmluZSBJU0lOS19NT0RFX01BU0sgICAgICAgICAgIAkJMHgwMDAyCisjZGVmaW5lIElTSU5LX01PREVfU0hJRlQgICAgICAgICAgCQkxCisKKyNkZWZpbmUgSVNJTktfU1RFUF9PRkZTRVQJCQkJQ09OMF9PRkZTRVQKKyNkZWZpbmUgSVNJTktfU1RFUF9NQVNLICAgICAgICAgICAJCTB4MDA3MAorI2RlZmluZSBJU0lOS19TVEVQX1NISUZUICAgICAgICAgIAkJNAorCisjZGVmaW5lIElTSU5LX1NUQVRVU19PRkZTRVQJCQkJQ09OMF9PRkZTRVQKKyNkZWZpbmUgSVNJTktfU1RBVFVTX01BU0sgICAgICAgICAgIAkweDgwMDAKKyNkZWZpbmUgSVNJTktfU1RBVFVTX1NISUZUICAgICAgICAgIAkxNQorCisvLyBJU0lOS19DT04xIAorI2RlZmluZSBJU0lOS19GT1JDRV9PRkZfT0ZGU0VUCQkJQ09OMV9PRkZTRVQKKyNkZWZpbmUgSVNJTktfRk9SQ0VfT0ZGX01BU0sgICAgICAgCQkweDAwMDEKKyNkZWZpbmUgSVNJTktfRk9SQ0VfT0ZGX1NISUZUICAgICAgCQkwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyNkZWZpbmUgSVNJTktfVlJFRl9DQUxfT0ZGU0VUCQkJQ09OMV9PRkZTRVQKKyNkZWZpbmUgSVNJTktfVlJFRl9DQUxfTUFTSyAgICAgICAJCTB4MUYwMAorI2RlZmluZSBJU0lOS19WUkVGX0NBTF9TSElGVCAgICAgIAkJOCAKKworI2VuZGlmIC8vICNpZiBkZWZpbmVkKFBNSUNfNjI1NV9SRUdfQVBJKQorCisjZW5kaWYgLy8gI2lmbmRlZiBfX1BNVTYyNTVfSFdfSF9fCmRpZmYgLS1naXQgYS9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL2RjbF9wbXU2MjU1X3N3LmggYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL2RjbF9wbXU2MjU1X3N3LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzkxMWRhYgotLS0gL2Rldi9udWxsCisrKyBiL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvZGNsX3BtdTYyNTVfc3cuaApAQCAtMCwwICsxLDI0OSBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDExCisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuIAorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZpbGVuYW1lOgorICogLS0tLS0tLS0tCisgKiAgICBkY2xfcG11NjI1NV9zdy5oCisgKgorICogUHJvamVjdDoKKyAqIC0tLS0tLS0tCisgKiAgIE1hdWlfU29mdHdhcmUKKyAqCisgKiBEZXNjcmlwdGlvbjoKKyAqIC0tLS0tLS0tLS0tLQorICogICBUaGlzIGZpbGUgaXMgZm9yIFBNVTYyNTUgcy93IHNldHRpbmcuCisgKgorICogQXV0aG9yOgorICogLS0tLS0tLQorICogLS0tLS0tLQorICoKKyAqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICogICAgICAgICAgICAgSElTVE9SWQorICogQmVsb3cgdGhpcyBsaW5lLCB0aGlzIHBhcnQgaXMgY29udHJvbGxlZCBieSBQVkNTIFZNLiBETyBOT1QgTU9ESUZZISEKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKgorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIFVwcGVyIHRoaXMgbGluZSwgdGhpcyBwYXJ0IGlzIGNvbnRyb2xsZWQgYnkgUFZDUyBWTS4gRE8gTk9UIE1PRElGWSEhCisgKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisKKyNpZm5kZWYgX19EQ0xfUE1VNjI1NV9TV19IX1NUUlVDVF9fCisjZGVmaW5lIF9fRENMX1BNVTYyNTVfU1dfSF9TVFJVQ1RfXworCisjaW5jbHVkZSAiZGNsX3BtaWNfZmVhdHVyZXMuaCIKKworI2lmIGRlZmluZWQoUE1JQ182MjU1X1JFR19BUEkpCisKKy8qIENoYXJnZXIgZXh0ZXJuYWwgaW50ZXJydXB0IGlzIGZpeGVkLiAqLworI2RlZmluZSBQTVVfQ0hSX0VJTlRfUElOICAgICAgICAgMTUKKyNkZWZpbmUgUE1VX09DX0VJTlRfUElOICAgICAgICAgIDE2CisjZGVmaW5lIFBNVV9DSFJfT1ZQX0VJTlRfUElOICAgICAxNworI2RlZmluZSBQTVVfQ0hSX0xET19FSU5UX1BJTiAgICAgMTkKKworLyogYWRjIG51bWJlciBmb3IgbWVhc3VyaW5nIFZCQVQvVklTRU5TRS9WQ0hBUkdFUiBpcyBmaXhlZCBpbnRlcm5hbGx5LiAqLworI2RlZmluZSBQTVVfQURDX1ZCQVRfQ0hfTlVNICAgICAgMAorI2RlZmluZSBQTVVfQURDX1ZJU0VOU0VfQ0hfTlVNICAgMQorI2RlZmluZSBQTVVfQURDX1ZDSEFSR0VSX0NIX05VTSAgMgorI2RlZmluZSBQTVVfQURDX1ZCQVRURU1QX0NIX05VTSAgMworCisvKiBhZGMgZmFjdG9yIGZvciBWQkFUL1ZJU0VOU0UvVkNIQVJHRVIgKi8KKyNkZWZpbmUgUE1VX0FEQ19GQUNUT1JfVkJBVCAgICAgIDEwMAorI2RlZmluZSBQTVVfQURDX0ZBQ1RPUl9WSVNFTlNFICAgMTAwCisKKyNkZWZpbmUgUE1VX0FEQ19GQUNUT1JfVkNIQVJHRVIgIDQ3MyAgLy8gKDM2OS8zOSAqIDUwKQorCisjZGVmaW5lIFBNVV9BRENfRkFDVE9SX1ZCQVRURU1QICAxMDAKKwordHlwZWRlZiBlbnVtCit7CisJTERPX0JVQ0tfRU4sCisgICAgTERPX0JVQ0tfT05fU0VMLAorICAJTERPX0JVQ0tfUlMsCisJTERPX0JVQ0tfVk9MX1NFTCwKKwlMRE9fQlVDS19ORElTX0VOLAorICAgIExET19CVUNLX1NUQl9FTiwgIAorCUxET19CVUNLX09DX0FVVE9fT0ZGLAorICAgIExET19CVUNLX09DRkJfRU4sCisgICAgTERPX0JVQ0tfT0NfRkxBRywKKyAgICBMRE9fQlVDS19TVEFUVVMsCisJTERPX0NBTCwKKwlMRE9fU1RCX1NFTCwKKwlMRE9fRU5fRk9SQ0UsCisJTERPX09DX1RELAorCUxET19TVEJfVEQsCisJQ0NJX1NSQ0xLRU4sCisJVkFfTFBfRU4sCisJVlNJTV9HUExET19FTiwKKwlWU0lNMl9HUExET19FTiwJCisJU0lNMl9HUElPX0VOLAorCUJVQ0tfVkZCQURKX1NMRUVQLAorCUJVQ0tfRU5fRk9SQ0UsCisJQlVDS19TVEJfVEQsCisJQlVDS19PQ19USEQsCisJQlVDS19PQ19XTkQsCisJQlVDS19JQ0FMX0VOLAorCUJVQ0tfQ1NMLAorCUJVQ0tfQlVSU1QsCisJVkNEVF9IVl9FTiwKKy8vCUNIUl9MRE9fREVULAorCUNTREFDX0VOLAorCUNIUl9FTiwKKwlDSFJERVQsCisJVkNEVF9IVl9WVEgsCisgICAgVkJBVF9DVl9FTiwKKyAgICBWQkFUX0NWX0RFVCwKKyAgICBWQkFUX0NWX1ZUSCwKKyAgICBDU19WVEgsCisgICAgQ1NEQUNfU1RQX0lOQywKKyAgICBDU0RBQ19TVFBfREVDLAorICAgIENTREFDX1NUUCwKKyAgICBDU0RBQ19ETFksCisgICAgVkJBVF9PVl9WVEgsCisgICAgQkFUT05fRU4sCisgICAgQkFUT05fSFRfRU4sCisJQkFUT05fVU5ERVQsCisgICAgT1RHX0JWQUxJRF9FTiwKKyAgICBPVEdfQlZBTElELAorCUNIUldEVF9URCwKKwlDSFJXRFRfRU4sCisJQ0hSV0RUX0lOVF9FTiwKKwlDSFJXRFRfRkxBRywKKwlBRENfRU4sCisJVVNCRExfUlNULAorCVVTQkRMX1NFVCwKKwlCQzExX0NNUF9FTiwKKwlCQzExX1ZTUkNfRU4sCisJQkMxMV9JUERfRU4sCisJQkMxMV9JUFVfRU4sCisJQkMxMV9WUkVGX1ZUSCwKKwlCQzExX0JJQVNfRU4sCisJQkMxMV9CQl9DVFJMLAorCUJDMTFfUlNULAorCUJDMTFfQ01QX09VVCwKKwlDVl9NT0RFLAorCVZDRFRfTU9ERSwKKwlDU0RBQ19NT0RFLAorCVRSQUNLSU5HX0VOLAorCUhXQ1ZfRU4sCisJVUxDX0RFVF9FTiwKKwlMT1dfSUNIX0RCLAorCVVTQkRMX0VOLAorCVZCQVRfQ0NfREVULAorCUlTSU5LX0VOLAorCUlTSU5LX01PREUsCisJSVNJTktfU1RFUCwKKwlLUExFRF9FTiwKKwlLUExFRF9NT0RFLAorCUtQTEVEX1NFTCwKKwlTUEtfRU4sCisJU1BLX1ZPTCwKKwlTUEtBQl9PQ19FTiwKKyAgICBTUEtBQl9PQklBUywJCisgICAgU1BLX0NBTElCUl9FTiwKKyAgICBTUEtfQ0FMSUJSX1NFTCwKKyAgICBBQklTVF9MTU9OX1NFTCwKKyAgICBBQklTVF9ITU9OX1NFTCwgICAgCisgICAgQUJJU1RfTE1PTl9EQVRBLAorICAgIEFCSVNUX0hNT05fREFUQSwKKyAgICBWUkZfT0NfSU5UX0VOLAorICAgIFZUQ1hPX09DX0lOVF9FTiwKKyAgICBWQV9PQ19JTlRfRU4sCisgICAgVkNBTUFfT0NfSU5UX0VOLAorICAgIFZDQU1EX09DX0lOVF9FTiwKKyAgICBWSU8yOF9PQ19JTlRfRU4sCisgICAgVlVTQl9PQ19JTlRfRU4sCisgICAgVkJUX09DX0lOVF9FTiwKKyAgICBWU0lNX09DX0lOVF9FTiwKKyAgICBWU0lNMl9PQ19JTlRfRU4sCisgICAgVlJUQ19PQ19JTlRfRU4sCisgICAgVklCUl9PQ19JTlRfRU4sCisgICAgVk1DX09DX0lOVF9FTiwKKyAgICBWQ09SRV9PQ19JTlRfRU4sCisgICAgVklPMThfT0NfSU5UX0VOLAorICAgIFNQS19PQ19JTlRfRU4sCisgICAgVlJGX09DX0ZMQUcsCisgICAgVlRDWE9fT0NfRkxBRywKKyAgICBWQV9PQ19GTEFHLAorICAgIFZDQU1BX09DX0ZMQUcsCisgICAgVkNBTURfT0NfRkxBRywKKyAgICBWSU8yOF9PQ19GTEFHLAorICAgIFZVU0JfT0NfRkxBRywKKyAgICBWQlRfT0NfRkxBRywKKyAgICBWU0lNX09DX0ZMQUcsCisgICAgVlNJTTJfT0NfRkxBRywKKyAgICBWUlRDX09DX0ZMQUcsCisgICAgVklCUl9PQ19GTEFHLAorICAgIFZNQ19PQ19GTEFHLAorICAgIFZDT1JFX09DX0ZMQUcsCisgICAgVklPMThfT0NfRkxBRywKKyAgICBTUEtfT0NfRkxBRywgCisgICAgVlJGX09DX1NUQVRVUywKKyAgICBWVENYT19PQ19TVEFUVVMsICAgIAorCVZBX09DX1NUQVRVUywKKwlWQ0FNQV9PQ19TVEFUVVMsCisJVkNBTURfT0NfU1RBVFVTLAorCVZJTzI4X09DX1NUQVRVUywKKwlWVVNCX09DX1NUQVRVUywKKwlWQlRfT0NfU1RBVFVTLAorCVZTSU1fT0NfU1RBVFVTLAorCVZTSU0yX09DX1NUQVRVUywKKwlWUlRDX09DX1NUQVRVUywKKwlWSUJSX09DX1NUQVRVUywKKwlWTUNfT0NfU1RBVFVTLAorCVZDT1JFX09DX1NUQVRVUywKKwlWSU8xOF9PQ19TVEFUVVMsCisJU1BLX09DX1NUQVRVUywJICAgICAgIAorCVBNVV9GTEFHU19NQVgKK31QTVVfRkxBR1NfTElTVF9FTlVNOworCisjZGVmaW5lIExET19HUk9VUCAoT0ZGU0VMKEJVQ0tfR1JPVVApKQorI2RlZmluZSBCVUNLX0dST1VQIChNKFZDT1JFKSkKKworI2VuZGlmIC8vI2lmIGRlZmluZWQoUE1JQ182MjU1X1JFR19BUEkpCisKKyNlbmRpZiAvLyNpZm5kZWYgX19EQ0xfUE1VNjI1NV9TV19IX1NUUlVDVF9fCisKZGlmZiAtLWdpdCBhL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvZGNsX3BtdTYyNTZfaHcuaCBiL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvZGNsX3BtdTYyNTZfaHcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMTZjYjY3Ci0tLSAvZGV2L251bGwKKysrIGIvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9kY2xfcG11NjI1Nl9ody5oCkBAIC0wLDAgKzEsOTk2IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTEKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4KKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGaWxlbmFtZToKKyAqIC0tLS0tLS0tLQorICogICAgZGNsX3BtdTYyNTZfaHcuaAorICoKKyAqIFByb2plY3Q6CisgKiAtLS0tLS0tLQorICogICBNYXVpX1NvZnR3YXJlCisgKgorICogRGVzY3JpcHRpb246CisgKiAtLS0tLS0tLS0tLS0KKyAqICAgVGhpcyBmaWxlIGlzIGludGVuZGVkIGZvciBQTVUgNjI1NiBkcml2ZXIuCisgKgorICogQXV0aG9yOgorICogLS0tLS0tLQorICogLS0tLS0tLQorICoKKyAqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICogICAgICAgICAgICAgSElTVE9SWQorICogQmVsb3cgdGhpcyBsaW5lLCB0aGlzIHBhcnQgaXMgY29udHJvbGxlZCBieSBQVkNTIFZNLiBETyBOT1QgTU9ESUZZISEKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIFVwcGVyIHRoaXMgbGluZSwgdGhpcyBwYXJ0IGlzIGNvbnRyb2xsZWQgYnkgUFZDUyBWTS4gRE8gTk9UIE1PRElGWSEhCisgKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWZuZGVmIF9fUE1VNjI1Nl9IV19IX18KKyNkZWZpbmUgX19QTVU2MjU2X0hXX0hfXworCisKKyNpZiBkZWZpbmVkKFBNSUNfNjI1Nl9SRUdfQVBJKQorCisjZGVmaW5lIFBNVV9CQVNFICAgICAgICAgICAgTUlYRURfYmFzZQorCisjZGVmaW5lIFBNVV9FTkQgICAgICAgICAgICAgKFBNVV9CQVNFKzB4MTAwMCkKKworLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworLy8gQUJJU1QgR3JvdXAKKyNkZWZpbmUgQUJJU1RfQ09OMCAgICAgICAgICAoUE1VX0JBU0UgKyAweDAwMTApCisjZGVmaW5lIEFCSVNUX0NPTjEgICAgICAgICAgKFBNVV9CQVNFICsgMHgwMDE0KQorI2RlZmluZSBBQklTVF9DT04yICAgICAgICAgIChQTVVfQkFTRSArIDB4MDAxOCkKKyNkZWZpbmUgQUJJU1RfQ09OMyAgICAgICAgICAoUE1VX0JBU0UgKyAweDAwMUMpCisKKy8vIEVGVVNFIEdyb3VwCisjZGVmaW5lIEVGVVNFX0NPTjAgICAgICAgICAgKFBNVV9CQVNFICsgMHgwMTAwKSAvLyBPbmx5IGZvciA2MjU2IEUyCisjZGVmaW5lIEVGVVNFX0NPTjEgICAgICAgICAgKFBNVV9CQVNFICsgMHgwMTA0KSAvLyBPbmx5IGZvciA2MjU2IEUyCisjZGVmaW5lIEVGVVNFX0NPTjIgICAgICAgICAgKFBNVV9CQVNFICsgMHgwMTA4KSAvLyBPbmx5IGZvciA2MjU2IEUyCisjZGVmaW5lIEVGVVNFX0NPTjMgICAgICAgICAgKFBNVV9CQVNFICsgMHgwMTBDKSAvLyBPbmx5IGZvciA2MjU2IEUyCisKKy8vIExETyBncm91cAorI2RlZmluZSBWUkZfQ09OMCAgICAgICAgICAgIChQTVVfQkFTRSArIDB4MDgwMCkKKyNkZWZpbmUgVlRDWE9fQ09OMCAgICAgICAgICAoUE1VX0JBU0UgKyAweDA4MTApCisjZGVmaW5lIFZBX0NPTjAgICAgICAgICAgICAgKFBNVV9CQVNFICsgMHgwODIwKQorI2RlZmluZSBWQ0FNQV9DT04wICAgICAgICAgIChQTVVfQkFTRSArIDB4MDgzMCkKKyNkZWZpbmUgVkNBTURfQ09OMCAgICAgICAgICAoUE1VX0JBU0UgKyAweDA4NDApCisjZGVmaW5lIFZJTzI4X0NPTjAgICAgICAgICAgKFBNVV9CQVNFICsgMHgwODUwKQorI2RlZmluZSBWVVNCX0NPTjAgICAgICAgICAgIChQTVVfQkFTRSArIDB4MDg2MCkKKyNkZWZpbmUgVkJUX0NPTjAgICAgICAgICAgICAoUE1VX0JBU0UgKyAweDA4NzApCisjZGVmaW5lIFZTSU1fQ09OMCAgICAgICAgICAgKFBNVV9CQVNFICsgMHgwODgwKQorI2RlZmluZSBWU0lNMl9DT04wICAgICAgICAgIChQTVVfQkFTRSArIDB4MDg5MCkKKyNkZWZpbmUgVlJUQ19DT04wICAgICAgICAgICAoUE1VX0JBU0UgKyAweDA4QTApCisjZGVmaW5lIFZJQlJfQ09OMCAgICAgICAgICAgKFBNVV9CQVNFICsgMHgwOEIwKQorI2RlZmluZSBWTUNfQ09OMCAgICAgICAgICAgIChQTVVfQkFTRSArIDB4MDhDMCkKKyNkZWZpbmUgVkZNX0NPTjAgICAgICAgICAgICAoUE1VX0JBU0UgKyAweDA4RDApIC8vIE9ubHkgZm9yIDYyNTYgRTEKKyNkZWZpbmUgVk0xMl9DT04wICAgICAgICAgICAoUE1VX0JBU0UgKyAweDA4RTApIC8vIE9ubHkgZm9yIDYyNTYgRTEKKyNpZiAhZGVmaW5lZChNVDYyNTZfUzAwKQorI2RlZmluZSBWSU8xOF9DT04wICAgICAgICAgIChQTVVfQkFTRSArIDB4MDhGMCkgLy8gT25seSBmb3IgNjI1NiBFMgorI2VuZGlmIC8vIEVuZCBvZiAjaWYgIWRlZmluZWQoTVQ2MjU2X1MwMCkKKworLy8gQlVDSyBncm91cAorI2RlZmluZSBWQ09SRV9DT04wICAgICAgICAgIChQTVVfQkFTRSArIDB4MDkwMCkKKyNpZiBkZWZpbmVkKE1UNjI1Nl9TMDApCisjZGVmaW5lIFZJTzE4X0NPTjAgICAgICAgICAgKFBNVV9CQVNFICsgMHgwOTIwKSAvLyBPbmx5IGZvciA2MjU2IEUxCisjZW5kaWYgLy8gRW5kIG9mICNpZiBkZWZpbmVkKE1UNjI1Nl9TMDApCisKKy8vIEJPT1NUIGdyb3VwCisjZGVmaW5lIEJPT1NUX0NPTjAgICAgICAgICAgKFBNVV9CQVNFICsgMHgwQjAwKSAvLyBPbmx5IGZvciA2MjU2IEUxCisKKy8vIENIUgorI2RlZmluZSBDSFJfQ09OMCAgICAgICAgICAgIChQTVVfQkFTRSArIDB4MEEwMCkKKworLy8gU1RBUlRVUAorI2RlZmluZSBTVFJVUF9DT04wICAgICAgICAgIChQTVVfQkFTRSArIDB4MEE4MCkKKworLy8gaVNJTksgZ3JvdXAKKyNkZWZpbmUgSVNJTkswX0NPTjAgICAgICAgICAoUE1VX0JBU0UgKyAweDBDMDApCisjZGVmaW5lIElTSU5LMV9DT04wICAgICAgICAgKFBNVV9CQVNFICsgMHgwQzEwKQorI2RlZmluZSBJU0lOSzJfQ09OMCAgICAgICAgIChQTVVfQkFTRSArIDB4MEMyMCkKKyNkZWZpbmUgSVNJTkszX0NPTjAgICAgICAgICAoUE1VX0JBU0UgKyAweDBDMzApCisjZGVmaW5lIElTSU5LNF9DT04wICAgICAgICAgKFBNVV9CQVNFICsgMHgwQzQwKSAvLyBPbmx5IGZvciA2MjU2IEUyCisjZGVmaW5lIElTSU5LNV9DT04wICAgICAgICAgKFBNVV9CQVNFICsgMHgwQzUwKSAvLyBPbmx5IGZvciA2MjU2IEUyCisKKy8vIEtQTEVEIGdyb3VwCisjZGVmaW5lIEtQTEVEX0NPTjAgICAgICAgICAgKFBNVV9CQVNFICsgMHgwQzgwKQorCisvLyBTUEsKKyNkZWZpbmUgU1BLX0NPTjAgICAgICAgICAgICAoUE1VX0JBU0UgKyAweDBEMDApCisKKy8vIFBNSUNfT0MKKyNkZWZpbmUgUE1JQ19PQ19DT04wICAgICAgICAoUE1VX0JBU0UgKyAweDBFMDApCisjZGVmaW5lIFBNSUNfT0NfQ09OMSAgICAgICAgKFBNVV9CQVNFICsgMHgwRTA0KQorI2RlZmluZSBQTUlDX09DX0NPTjIgICAgICAgIChQTVVfQkFTRSArIDB4MEUwOCkKKyNkZWZpbmUgUE1JQ19PQ19DT04zICAgICAgICAoUE1VX0JBU0UgKyAweDBFMEMpCisjZGVmaW5lIFBNSUNfT0NfQ09ONCAgICAgICAgKFBNVV9CQVNFICsgMHgwRTEwKQorI2RlZmluZSBQTUlDX09DX0NPTjUgICAgICAgIChQTVVfQkFTRSArIDB4MEUxNCkKKyNkZWZpbmUgUE1JQ19PQ19DT042ICAgICAgICAoUE1VX0JBU0UgKyAweDBFMTgpCisjZGVmaW5lIFBNSUNfT0NfQ09ONyAgICAgICAgKFBNVV9CQVNFICsgMHgwRTFDKQorCisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisKKyNkZWZpbmUgQ09OMF9PRkZTRVQgICAgICAgICAgIAkJCTB4MDAKKyNkZWZpbmUgQ09OMV9PRkZTRVQgICAgICAgICAgIAkJCTB4MDQKKyNkZWZpbmUgQ09OMl9PRkZTRVQgICAgICAgICAgIAkJCTB4MDgKKyNkZWZpbmUgQ09OM19PRkZTRVQgICAgICAgICAgIAkJCTB4MEMKKyNkZWZpbmUgQ09ONF9PRkZTRVQgICAgICAgICAgIAkJCTB4MTAKKyNkZWZpbmUgQ09ONV9PRkZTRVQgICAgICAgICAgIAkJCTB4MTQKKyNkZWZpbmUgQ09ONl9PRkZTRVQgICAgICAgICAgIAkJCTB4MTgKKyNkZWZpbmUgQ09ON19PRkZTRVQgICAgICAgICAgIAkJCTB4MUMKKyNkZWZpbmUgQ09OOF9PRkZTRVQgICAgICAgICAgIAkJCTB4MjAKKyNkZWZpbmUgQ09OOV9PRkZTRVQgICAgICAgICAgIAkJCTB4MjQKKyNkZWZpbmUgQ09OMTBfT0ZGU0VUICAgICAgICAgICAJCQkweDI4CisjZGVmaW5lIENPTkFfT0ZGU0VUICAgICAgICAgICAJCQkweDI4CisjZGVmaW5lIENPTjExX09GRlNFVCAgICAgICAgICAgCQkJMHgyQworI2RlZmluZSBDT05CX09GRlNFVCAgICAgICAgICAgCQkJMHgyQworI2RlZmluZSBDT04xMl9PRkZTRVQgICAgICAgICAgIAkJCTB4MzAKKyNkZWZpbmUgQ09OMTNfT0ZGU0VUICAgICAgICAgICAJCQkweDM0CisjZGVmaW5lIENPTjE0X09GRlNFVCAgICAgICAgICAgCQkJMHgzOAorCisvLyBBQklTVAorI2RlZmluZSBBQklTVF9MTU9OX1NFTF9PRkZTRVQgICAgICAgICAgIENPTjFfT0ZGU0VUCisjZGVmaW5lIEFCSVNUX0xNT05fU0VMX01BU0sgICAgICAgICAgICAgMHgwMEZGCisjZGVmaW5lIEFCSVNUX0xNT05fU0VMX1NISUZUICAgICAgICAgICAgMAorCisjZGVmaW5lIEFCSVNUX0hNT05fU0VMX09GRlNFVCAgICAgICAgICAgQ09OMV9PRkZTRVQKKyNkZWZpbmUgQUJJU1RfSE1PTl9TRUxfTUFTSyAgICAgICAgICAgICAweEZGMDAKKyNkZWZpbmUgQUJJU1RfSE1PTl9TRUxfU0hJRlQgICAgICAgICAgICA4CisKKyNkZWZpbmUgQUJJU1RfTE1PTl9EQVRBX09GRlNFVCAgICAgICAgICBDT04zX09GRlNFVAorI2RlZmluZSBBQklTVF9MTU9OX0RBVEFfTUFTSyAgICAgICAgICAgIDB4MDAwRgorI2RlZmluZSBBQklTVF9MTU9OX0RBVEFfU0hJRlQgICAgICAgICAgIDAKKworI2RlZmluZSBBQklTVF9ITU9OX0RBVEFfT0ZGU0VUICAgICAgICAgIENPTjNfT0ZGU0VUCisjZGVmaW5lIEFCSVNUX0hNT05fREFUQV9NQVNLICAgICAgICAgICAgMHgwMEYwCisjZGVmaW5lIEFCSVNUX0hNT05fREFUQV9TSElGVCAgICAgICAgICAgNAorCisvLyBMRE8gY21kcworLy8gTERPX0NPTjAKKyNkZWZpbmUgTERPX0JVQ0tfRU5fT0ZGU0VUICAgICAgICAgIAlDT04wX09GRlNFVAorI2RlZmluZSBMRE9fQlVDS19FTl9NQVNLICAgICAgICAgICAgICAgCTB4MDAwMQorI2RlZmluZSBMRE9fQlVDS19FTl9TSElGVCAgICAgICAgICAgICAgCTAKKworI2RlZmluZSBMRE9fQlVDS19PTl9TRUxfT0ZGU0VUICAgICAJCUNPTjBfT0ZGU0VUCisjZGVmaW5lIExET19CVUNLX09OX1NFTF9NQVNLICAgICAgICAgICAgMHgwMDAyCisjZGVmaW5lIExET19CVUNLX09OX1NFTF9TSElGVCAgICAgICAgICAgMQorCisjZGVmaW5lIExET19CVUNLX1JTX09GRlNFVAkJCQlDT04wX09GRlNFVAorI2RlZmluZSBMRE9fQlVDS19SU19NQVNLICAgICAgICAgICAgICAgCTB4MDAwNAorI2RlZmluZSBMRE9fQlVDS19SU19TSElGVCAgICAgICAgICAgICAgCTIKKworI2RlZmluZSBMRE9fQlVDS19WT0xfU0VMX09GRlNFVAkJCUNPTjBfT0ZGU0VUIC8vIEZvciBWQ0FNQSwgVkNBTUQsIFZCVCwgVlNJTSwgVlNJTTIsIFZJQlIsIFZNQywgVkNPUkUKKyNkZWZpbmUgTERPX0JVQ0tfVk9MX1NFTF9NQVNLICAgICAgICAgIAkweDAxRjAKKyNkZWZpbmUgTERPX0JVQ0tfVk9MX1NFTF9TSElGVCAgICAgICAgIAk0CisKKyNkZWZpbmUgTERPX0JVQ0tfTkRJU19FTl9PRkZTRVQJCQlDT04wX09GRlNFVCAvLyBCVUNLOiBBTlRJVU5TSF9ETgorI2RlZmluZSBMRE9fQlVDS19ORElTX0VOX01BU0sgICAgICAgICAgCTB4MDQwMAorI2RlZmluZSBMRE9fQlVDS19ORElTX0VOX1NISUZUICAgICAgICAgCTEwCisKKyNkZWZpbmUgTERPX0JVQ0tfU1RCX0VOX09GRlNFVAkJCUNPTjBfT0ZGU0VUCisjZGVmaW5lIExET19CVUNLX1NUQl9FTl9NQVNLICAgICAgICAgICAJMHgwODAwCisjZGVmaW5lIExET19CVUNLX1NUQl9FTl9TSElGVCAgICAgICAgICAJMTEKKworI2RlZmluZSBMRE9fQlVDS19PQ19BVVRPX09GRl9PRkZTRVQgCUNPTjBfT0ZGU0VUCisjZGVmaW5lIExET19CVUNLX09DX0FVVE9fT0ZGX01BU0sgICAgICAJMHgxMDAwCisjZGVmaW5lIExET19CVUNLX09DX0FVVE9fT0ZGX1NISUZUICAgICAJMTIKKworI2RlZmluZSBMRE9fQlVDS19PQ0ZCX0VOX09GRlNFVAkJCUNPTjBfT0ZGU0VUCisjZGVmaW5lIExET19CVUNLX09DRkJfRU5fTUFTSyAgICAgICAgICAJMHgyMDAwCisjZGVmaW5lIExET19CVUNLX09DRkJfRU5fU0hJRlQgICAgICAgICAJMTMKKworI2RlZmluZSBMRE9fQlVDS19PQ19GTEFHX09GRlNFVAkJCUNPTjBfT0ZGU0VUCisjZGVmaW5lIExET19CVUNLX09DX0ZMQUdfTUFTSyAgICAgICAgICAJMHg0MDAwCisjZGVmaW5lIExET19CVUNLX09DX0ZMQUdfU0hJRlQgICAgICAgICAJMTQKKworI2RlZmluZSBMRE9fQlVDS19TVEFUVVNfT0ZGU0VUCQkJQ09OMF9PRkZTRVQKKyNkZWZpbmUgTERPX0JVQ0tfU1RBVFVTX01BU0sgICAgICAgICAgCTB4ODAwMAorI2RlZmluZSBMRE9fQlVDS19TVEFUVVNfU0hJRlQgICAgICAgICAJMTUKKworLy8gTERPX0NPTjEKKyNkZWZpbmUgTERPX0NBTF9PRkZTRVQJCQkJCUNPTjFfT0ZGU0VUCisjZGVmaW5lIExET19DQUxfTUFTSyAgICAgICAgICAgICAgCQkweDAxRjAKKyNkZWZpbmUgTERPX0NBTF9TSElGVCAgICAgICAgICAgICAJCTQKKworI2RlZmluZSBMRE9fU1RCX1NFTF9PRkZTRVQJCQkJQ09OMV9PRkZTRVQgLy8gRm9yIFZJQlIgJiBWTUMKKyNkZWZpbmUgTERPX1NUQl9TRUxfTUFTSyAgICAgICAgICAgICAgCTB4MTAwMAorI2RlZmluZSBMRE9fU1RCX1NFTF9TSElGVCAgICAgICAgICAgICAJMTIKKworLy8gTERPX0NPTjIKKyNkZWZpbmUgTERPX0VOX0ZPUkNFX09GRlNFVAkJCQlDT04yX09GRlNFVAorI2RlZmluZSBMRE9fRU5fRk9SQ0VfTUFTSyAgICAgICAgICAgICAgCTB4MDAwMQorI2RlZmluZSBMRE9fRU5fRk9SQ0VfU0hJRlQgICAgICAgICAgICAgCTAKKworI2RlZmluZSBMRE9fT0NfVERfT0ZGU0VUCQkgICAgICAgIENPTjJfT0ZGU0VUCisjZGVmaW5lIExET19PQ19URF9NQVNLICAgICAgICAgICAgICAgICAgMHgwMDMwCisjZGVmaW5lIExET19PQ19URF9TSElGVCAgICAgICAgICAgICAgICAgNAorCisjZGVmaW5lIExET19TVEJfVERfT0ZGU0VUCQkgICAgICAgIENPTjJfT0ZGU0VUCisjZGVmaW5lIExET19TVEJfVERfTUFTSyAgICAgICAgICAgICAgICAgMHgwMEMwCisjZGVmaW5lIExET19TVEJfVERfU0hJRlQgICAgICAgICAgICAgICAgNgorCisvLyBMRE9fQ09OMiBNSVNDCisjZGVmaW5lIENDSV9TUkNMS0VOX09GRlNFVCAgICAgICAgICAJQ09OMl9PRkZTRVQKKyNkZWZpbmUgQ0NJX1NSQ0xLRU5fTUFTSyAJICAgICAgICAJMHgwMDAyCisjZGVmaW5lIENDSV9TUkNMS0VOX1NISUZUIAkgICAgICAgIAkxCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCisjZGVmaW5lIFZBX0xQX0VOX09GRlNFVCAgICAgICAgICAgICAJQ09OMl9PRkZTRVQKKyNkZWZpbmUgVkFfTFBfRU5fTUFTSyAJICAgICAgICAgICAgCTB4MDAwMgorI2RlZmluZSBWQV9MUF9FTl9TSElGVCAJICAgICAgICAgICAgCTEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkKKyNkZWZpbmUgVlNJTV9HUExET19FTl9PRkZTRVQgICAgICAgIAlDT04yX09GRlNFVAorI2RlZmluZSBWU0lNX0dQTERPX0VOX01BU0sgCSAgICAgICAgCTB4MDAwMgorI2RlZmluZSBWU0lNX0dQTERPX0VOX1NISUZUIAkgICAgCTEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkKKyNkZWZpbmUgVlNJTTJfR1BMRE9fRU5fT0ZGU0VUICAgICAgIAlDT04yX09GRlNFVAorI2RlZmluZSBWU0lNMl9HUExET19FTl9NQVNLIAkgICAgCTB4MDAwMgorI2RlZmluZSBWU0lNMl9HUExET19FTl9TSElGVCAJICAgIAkxCisKKyNkZWZpbmUgU0lNMl9HUElPX0VOX09GRlNFVCAgICAgICAJICAgIENPTjNfT0ZGU0VUCisjZGVmaW5lIFNJTTJfR1BJT19FTl9NQVNLIAkgICAgCSAgICAweDAwMDEKKyNkZWZpbmUgU0lNMl9HUElPX0VOX1NISUZUIAkgICAgCSAgICAwCisKKy8vIEJVQ0sgY21kcworI2RlZmluZSBCVUNLX1ZGQkFESl9TTEVFUF9PRkZTRVQJICAgIENPTjFfT0ZGU0VUCisjZGVmaW5lIEJVQ0tfVkZCQURKX1NMRUVQX01BU0sgICAgICAgICAgMHgwMUYwCisjZGVmaW5lIEJVQ0tfVkZCQURKX1NMRUVQX1NISUZUICAgICAgICAgNAorCisjZGVmaW5lIEJVQ0tfRU5fRk9SQ0VfT0ZGU0VUCQkgICAgQ09OM19PRkZTRVQKKyNkZWZpbmUgQlVDS19FTl9GT1JDRV9NQVNLICAgICAgICAgICAgICAweDAwMDEKKyNkZWZpbmUgQlVDS19FTl9GT1JDRV9TSElGVCAgICAgICAgICAgICAwCisKKyNkZWZpbmUgQlVDS19PQ19URF9PRkZTRVQJCSAgICAgICAgQ09OM19PRkZTRVQKKyNkZWZpbmUgQlVDS19PQ19URF9NQVNLICAgICAgICAgICAgICAgICAweDAwMzAKKyNkZWZpbmUgQlVDS19PQ19URF9TSElGVCAgICAgICAgICAgICAgICA0CisKKyNkZWZpbmUgQlVDS19TVEJfVERfT0ZGU0VUCQkgICAgICAgIENPTjNfT0ZGU0VUCisjZGVmaW5lIEJVQ0tfU1RCX1REX01BU0sgICAgICAgICAgICAgICAgMHgwMEMwCisjZGVmaW5lIEJVQ0tfU1RCX1REX1NISUZUICAgICAgICAgICAgICAgNgorCisjZGVmaW5lIEJVQ0tfT0NfVEhEX09GRlNFVAkgICAgICAgICAgICBDT04zX09GRlNFVAorI2RlZmluZSBCVUNLX09DX1RIRF9NQVNLICAgICAgICAgICAgICAgIDB4MDMwMAorI2RlZmluZSBCVUNLX09DX1RIRF9TSElGVCAgICAgICAgICAgICAgIDgKKworI2RlZmluZSBCVUNLX09DX1dORF9PRkZTRVQJICAgICAgICAgICAgQ09OM19PRkZTRVQKKyNkZWZpbmUgQlVDS19PQ19XTkRfTUFTSyAgICAgICAgICAgICAgICAweDBDMDAKKyNkZWZpbmUgQlVDS19PQ19XTkRfU0hJRlQgICAgICAgICAgICAgICAxMAorCisjZGVmaW5lIEJVQ0tfSUNBTF9FTl9PRkZTRVQJICAgICAgICAgICAgQ09OM19PRkZTRVQKKyNkZWZpbmUgQlVDS19JQ0FMX0VOX01BU0sgICAgICAgICAgICAgICAweDMwMDAKKyNkZWZpbmUgQlVDS19JQ0FMX0VOX1NISUZUICAgICAgICAgICAgICAxMgorCisjZGVmaW5lIEJVQ0tfQ1NMX09GRlNFVCAgICAgICAgIAkgICAgQ09ONV9PRkZTRVQKKyNkZWZpbmUgQlVDS19DU0xfTUFTSyAgICAgICAgICAgICAgICAgICAweDA3MDAKKyNkZWZpbmUgQlVDS19DU0xfU0hJRlQgICAgICAgICAgICAgICAgICA4CisKKyNkZWZpbmUgQlVDS19CVVJTVF9PRkZTRVQJCSAgICAgICAgQ09ONV9PRkZTRVQKKyNkZWZpbmUgQlVDS19CVVJTVF9NQVNLICAgICAgICAgICAgICAgICAweDMwMDAKKyNkZWZpbmUgQlVDS19CVVJTVF9TSElGVCAgICAgICAgICAgICAgICAxMgorCisvLyBDSFIgY21kcworLy8gQ0hSX0NPTjAKKyNkZWZpbmUgVkNEVF9IVl9FTl9PRkZTRVQJICAgIAkJQ09OMF9PRkZTRVQKKyNkZWZpbmUgVkNEVF9IVl9FTl9NQVNLCQkJCQkweDAwMDEKKyNkZWZpbmUgVkNEVF9IVl9FTl9TSElGVAkJCQkwCisKKyNkZWZpbmUgQ0hSX0xET19ERVRfT0ZGU0VUCSAgICAJCUNPTjBfT0ZGU0VUCisjZGVmaW5lIENIUl9MRE9fREVUX01BU0sJCQkJMHgwMDAyCisjZGVmaW5lIENIUl9MRE9fREVUX1NISUZUCQkJCTEKKworI2RlZmluZSBQQ0hSX0FVVE9NT0RFX09GRlNFVCAgICAJCUNPTjBfT0ZGU0VUCQorI2RlZmluZSBQQ0hSX0FVVE9NT0RFX01BU0sJCQkJMHgwMDA0CisjZGVmaW5lIFBDSFJfQVVUT01PREVfU0hJRlQJCQkJMgorCisjZGVmaW5lIENTREFDX0VOX09GRlNFVAkgICAgCQkJQ09OMF9PRkZTRVQKKyNkZWZpbmUgQ1NEQUNfRU5fTUFTSwkJCQkJMHgwMDA4CisjZGVmaW5lIENTREFDX0VOX1NISUZUCQkJCQkzCisKKyNkZWZpbmUgQ0hSX0VOX09GRlNFVCAgIAkJCQlDT04wX09GRlNFVAkKKyNkZWZpbmUgQ0hSX0VOX01BU0sJCQkJCQkweDAwMTAKKyNkZWZpbmUgQ0hSX0VOX1NISUZUCQkJCQk0CisgICAgICAgICAgICAgICAgICAgICAgICAJCQkJCisjZGVmaW5lIENIUkRFVF9PRkZTRVQgICAJCQkJQ09OMF9PRkZTRVQJCisjZGVmaW5lIENIUkRFVF9NQVNLCQkJCQkJMHgwMDIwCisjZGVmaW5lIENIUkRFVF9TSElGVAkJCQkJNQorCisjZGVmaW5lIFZDRFRfTFZfREVUX09GRlNFVAkJCQlDT04wX09GRlNFVAorI2RlZmluZSBWQ0RUX0xWX0RFVF9NQVNLCQkJCTB4MDA0MAorI2RlZmluZSBWQ0RUX0xWX0RFVF9TSElGVAkJCQk2CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCisjZGVmaW5lIFZDRFRfSFZfREVUX09GRlNFVAkJCQlDT04wX09GRlNFVAorI2RlZmluZSBWQ0RUX0hWX0RFVF9NQVNLCQkJCTB4MDA4MAorI2RlZmluZSBWQ0RUX0hWX0RFVF9TSElGVAkJCQk3CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCisjZGVmaW5lIFZDRFRfTFZfVlRIX09GRlNFVAkJCQlDT04wX09GRlNFVAorI2RlZmluZSBWQ0RUX0xWX1ZUSF9NQVNLCQkJCTB4MEYwMAorI2RlZmluZSBWQ0RUX0xWX1ZUSF9TSElGVAkJCQk4CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCisjZGVmaW5lIFZDRFRfSFZfVlRIX09GRlNFVAkJCQlDT04wX09GRlNFVAorI2RlZmluZSBWQ0RUX0hWX1ZUSF9NQVNLCQkJCTB4RjAwMAorI2RlZmluZSBWQ0RUX0hWX1ZUSF9TSElGVAkJCQkxMgorCisvLyBDSFJfQ09OMQorI2RlZmluZSBWQkFUX0NWX0VOX09GRlNFVAkJCQlDT04xX09GRlNFVAorI2RlZmluZSBWQkFUX0NWX0VOX01BU0sJCQkJCTB4MDAwMQorI2RlZmluZSBWQkFUX0NWX0VOX1NISUZUCQkJCTAKKworI2RlZmluZSBWQkFUX0NDX0VOX09GRlNFVAkgICAgICAgICAgICBDT04xX09GRlNFVAorI2RlZmluZSBWQkFUX0NDX0VOX01BU0sJCQkJCTB4MDAwMgorI2RlZmluZSBWQkFUX0NDX0VOX1NISUZUCQkJCTEKKworI2RlZmluZSBWQkFUX0NWX0RFVF9PRkZTRVQJCQkJQ09OMV9PRkZTRVQKKyNkZWZpbmUgVkJBVF9DVl9ERVRfTUFTSwkJCQkweDAwMDQKKyNkZWZpbmUgVkJBVF9DVl9ERVRfU0hJRlQJCQkJMgorCisjZGVmaW5lIFZCQVRfQ0NfREVUX09GRlNFVAkJCQlDT04xX09GRlNFVAorI2RlZmluZSBWQkFUX0NDX0RFVF9NQVNLCQkJCTB4MDAwOAorI2RlZmluZSBWQkFUX0NDX0RFVF9TSElGVAkJCQkzCisKKyNkZWZpbmUgVkJBVF9DQ19WVEhfT0ZGU0VUCQkJCUNPTjFfT0ZGU0VUCisjZGVmaW5lIFZCQVRfQ0NfVlRIX01BU0sJCQkJMHgwMDMwCisjZGVmaW5lIFZCQVRfQ0NfVlRIX1NISUZUCQkJCTQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQkKKyNkZWZpbmUgVkJBVF9DVl9WVEhfT0ZGU0VUCQkJCUNPTjFfT0ZGU0VUCisjZGVmaW5lIFZCQVRfQ1ZfVlRIX01BU0sJCQkJMHgxRjAwCisjZGVmaW5lIFZCQVRfQ1ZfVlRIX1NISUZUCQkJCTgKKworLy8gQ0hSX0NPTjIKKyNkZWZpbmUgQ1NfVlRIX09GRlNFVAkJCQkJQ09OMl9PRkZTRVQKKyNkZWZpbmUgQ1NfVlRIX01BU0sJCQkJCQkweDAwMEYKKyNkZWZpbmUgQ1NfVlRIX1NISUZUCQkJCQkwCisgICAgICAgICAgICAgICAgICAgICAgICAJCQkJCisjZGVmaW5lIENTX0VOX09GRlNFVAkJCQkJQ09OMl9PRkZTRVQKKyNkZWZpbmUgQ1NfRU5fTUFTSwkJCQkJCTB4MDEwMAorI2RlZmluZSBDU19FTl9TSElGVAkJCQkJCTgKKyAgICAgICAgICAgICAgICAgICAgICAgIAkJCQkKKyNkZWZpbmUgQ1NfREVUX09GRlNFVAkJCQkJQ09OMl9PRkZTRVQKKyNkZWZpbmUgQ1NfREVUX01BU0sJCQkJCQkweDgwMDAKKyNkZWZpbmUgQ1NfREVUX1NISUZUCQkJCQkxNQorCisvLyBDSFJfQ09OMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisjZGVmaW5lIFRPSFRDX09GRlNFVAkJCQkJQ09OM19PRkZTRVQKKyNkZWZpbmUgVE9IVENfTUFTSwkJCQkJCTB4MDAwNworI2RlZmluZSBUT0hUQ19TSElGVAkJCQkJCTAKKworI2RlZmluZSBUT0xUQ19PRkZTRVQJCQkJCUNPTjNfT0ZGU0VUCQorI2RlZmluZSBUT0xUQ19NQVNLCQkJCQkJMHgwNzAwCisjZGVmaW5lIFRPTFRDX1NISUZUCQkJCQkJOAorCisvLyBDSFJfQ09ONAorI2RlZmluZSBDU0RBQ19TVFBfSU5DX09GRlNFVAkgICAgICAgIENPTjRfT0ZGU0VUCisjZGVmaW5lIENTREFDX1NUUF9JTkNfTUFTSwkJCQkweDAwMDcKKyNkZWZpbmUgQ1NEQUNfU1RQX0lOQ19TSElGVAkJCQkwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCisjZGVmaW5lIENTREFDX1NUUF9ERUNfT0ZGU0VUCQkJQ09ONF9PRkZTRVQJCisjZGVmaW5lIENTREFDX1NUUF9ERUNfTUFTSwkJCQkweDAwNzAKKyNkZWZpbmUgQ1NEQUNfU1RQX0RFQ19TSElGVAkJCQk0CisKKyNkZWZpbmUgQ1NEQUNfU1RQX09GRlNFVAkgICAgICAgICAgICBDT040X09GRlNFVAorI2RlZmluZSBDU0RBQ19TVFBfTUFTSwkJCQkJMHgwNzAwCisjZGVmaW5lIENTREFDX1NUUF9TSElGVAkJCQkJOAorICAgICAgICAgICAgICAgICAgICAgICAgCQkJCQorI2RlZmluZSBDU0RBQ19ETFlfT0ZGU0VUCQkJCUNPTjRfT0ZGU0VUCQorI2RlZmluZSBDU0RBQ19ETFlfTUFTSwkJCQkJMHg3MDAwCisjZGVmaW5lIENTREFDX0RMWV9TSElGVAkJCQkJMTIKKworLy8gQ0hSX0NPTjUKKyNkZWZpbmUgVkJBVF9PVl9FTl9PRkZTRVQJCQkJQ09ONV9PRkZTRVQKKyNkZWZpbmUgVkJBVF9PVl9FTl9NQVNLCQkJCQkweDAwMDEKKyNkZWZpbmUgVkJBVF9PVl9FTl9TSElGVAkJCQkwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCisjZGVmaW5lIFZCQVRfT1ZfREVHX09GRlNFVAkJCQlDT041X09GRlNFVAorI2RlZmluZSBWQkFUX09WX0RFR19NQVNLCQkJCTB4MDAwMgorI2RlZmluZSBWQkFUX09WX0RFR19TSElGVAkJCQkxCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCisjZGVmaW5lIFZCQVRfT1ZfREVUX09GRlNFVAkJCQlDT041X09GRlNFVAorI2RlZmluZSBWQkFUX09WX0RFVF9NQVNLCQkJCTB4MDAwOAorI2RlZmluZSBWQkFUX09WX0RFVF9TSElGVAkJCQkzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCisjZGVmaW5lIFZCQVRfT1ZfVlRIX09GRlNFVAkJCQlDT041X09GRlNFVAorI2RlZmluZSBWQkFUX09WX1ZUSF9NQVNLCQkJCTB4MDAzMAorI2RlZmluZSBWQkFUX09WX1ZUSF9TSElGVAkJCQk0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCisjZGVmaW5lIEJBVE9OX0VOX09GRlNFVAkgICAgCQkJQ09ONV9PRkZTRVQKKyNkZWZpbmUgQkFUT05fRU5fTUFTSwkJCQkJMHgwMTAwCisjZGVmaW5lIEJBVE9OX0VOX1NISUZUCQkJCQk4CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCisjZGVmaW5lIEJBVE9OX0hUX0VOX09GRlNFVAkJCQlDT041X09GRlNFVAorI2RlZmluZSBCQVRPTl9IVF9FTl9NQVNLCQkJCTB4MDIwMAorI2RlZmluZSBCQVRPTl9IVF9FTl9TSElGVAkJCQk5CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCisjZGVmaW5lIEJBVE9OX1VOREVUX09GRlNFVAkJCQlDT041X09GRlNFVAorI2RlZmluZSBCQVRPTl9VTkRFVF9NQVNLCQkJCTB4MDQwMAorI2RlZmluZSBCQVRPTl9VTkRFVF9TSElGVAkJCQkxMAorCisvLyBDSFJfQ09ONgorI2RlZmluZSBDU0RBQ19EQVRBX09GRlNFVAkJCQlDT042X09GRlNFVAkKKyNkZWZpbmUgQ1NEQUNfREFUQV9NQVNLCQkJCQkweDAzRkYKKyNkZWZpbmUgQ1NEQUNfREFUQV9TSElGVAkJCQkwCisKKy8vIENIUl9DT043CisjZGVmaW5lIE9UR19CVkFMSURfRU5fT0ZGU0VUCQkJQ09ON19PRkZTRVQJCisjZGVmaW5lIE9UR19CVkFMSURfRU5fTUFTSwkJCQkweDAwMDEKKyNkZWZpbmUgT1RHX0JWQUxJRF9FTl9TSElGVAkJCQkwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCisjZGVmaW5lIE9UR19CVkFMSURfT0ZGU0VUCQkJCUNPTjdfT0ZGU0VUCisjZGVmaW5lIE9UR19CVkFMSURfTUFTSwkJCQkJMHgwMDA4CisjZGVmaW5lIE9UR19CVkFMSURfU0hJRlQJCQkJMworICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQorI2RlZmluZSBQQ0hSX1RFU1RNT0RFX09GRlNFVAkJCUNPTjdfT0ZGU0VUCQorI2RlZmluZSBQQ0hSX1RFU1RNT0RFX01BU0sJCQkJMHgwMDEwCisjZGVmaW5lIFBDSFJfVEVTVE1PREVfU0hJRlQJCQkJNAorCisjZGVmaW5lIENTREFDX1RFU1RNT0RFX09GRlNFVAkJCUNPTjdfT0ZGU0VUCisjZGVmaW5lIENTREFDX1RFU1RNT0RFX01BU0sJCQkJMHgwMDIwCisjZGVmaW5lIENTREFDX1RFU1RNT0RFX1NISUZUCQkJNQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQorI2RlZmluZSBQQ0hSX1JTVF9PRkZTRVQJICAgICAgICAJCUNPTjdfT0ZGU0VUCisjZGVmaW5lIFBDSFJfUlNUX01BU0sJCQkJCTB4MDA0MAorI2RlZmluZSBQQ0hSX1JTVF9TSElGVAkJCQkJNgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQorI2RlZmluZSBQQ0hSX0ZUX0NUUkxfT0ZGU0VUCQkJCUNPTjdfT0ZGU0VUCisjZGVmaW5lIFBDSFJfRlRfQ1RSTF9NQVNLCQkJCTB4MDcwMAorI2RlZmluZSBQQ0hSX0ZUX0NUUkxfU0hJRlQJCQkJOAorCisvLyBDSFJfQ09OOAorI2RlZmluZSBQQ0hSX0ZMQUdfT1VUX09GRlNFVAkJCUNPTjhfT0ZGU0VUCQorI2RlZmluZSBQQ0hSX0ZMQUdfT1VUX01BU0sJCQkJMHgwMDBGCisjZGVmaW5lIFBDSFJfRkxBR19PVVRfU0hJRlQJCQkJMAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQorI2RlZmluZSBQQ0hSX0ZMQUdfRU5fT0ZGU0VUCQkJCUNPTjhfT0ZGU0VUCisjZGVmaW5lIFBDSFJfRkxBR19FTl9NQVNLCQkJCTB4MDA4MAorI2RlZmluZSBQQ0hSX0ZMQUdfRU5fU0hJRlQJCQkJNworICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQorI2RlZmluZSBQQ0hSX0ZMQUdfU0VMX09GRlNFVAkJCUNPTjhfT0ZGU0VUCQorI2RlZmluZSBQQ0hSX0ZMQUdfU0VMX01BU0sJCQkJMHgxRjAwCisjZGVmaW5lIFBDSFJfRkxBR19TRUxfU0hJRlQJCQkJOAorCisvLyBDSFJfQ09OOQorI2RlZmluZSBDSFJXRFRfVERfT0ZGU0VUCQkJCUNPTjlfT0ZGU0VUCQorI2RlZmluZSBDSFJXRFRfVERfTUFTSwkJCQkJMHgwMDBGCisjZGVmaW5lIENIUldEVF9URF9TSElGVAkJCQkJMAorCisjZGVmaW5lIENIUldEVF9FTl9PRkZTRVQJICAgICAgICAgICAgQ09OOV9PRkZTRVQKKyNkZWZpbmUgQ0hSV0RUX0VOX01BU0sJCQkJCTB4MDAxMAorI2RlZmluZSBDSFJXRFRfRU5fU0hJRlQJCQkJCTQKKworI2RlZmluZSBDSFJXRFRfSU5UX0VOX09GRlNFVAkJCUNPTjlfT0ZGU0VUCQorI2RlZmluZSBDSFJXRFRfSU5UX0VOX01BU0sJCQkJMHgwMTAwCisjZGVmaW5lIENIUldEVF9JTlRfRU5fU0hJRlQJCQkJOAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQorI2RlZmluZSBDSFJXRFRfRkxBR19PRkZTRVQJCQkJQ09OOV9PRkZTRVQKKyNkZWZpbmUgQ0hSV0RUX0ZMQUdfTUFTSwkJCQkweDAyMDAKKyNkZWZpbmUgQ0hSV0RUX0ZMQUdfU0hJRlQJCQkJOQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQorI2RlZmluZSBDSFJXRFRfT1VUX09GRlNFVAkJCQlDT045X09GRlNFVAorI2RlZmluZSBDSFJXRFRfT1VUX01BU0sJCQkJCTB4ODAwMAorI2RlZmluZSBDSFJXRFRfT1VUX1NISUZUCQkJCTE1CisKKy8vIENIUl9DT04xMAorI2RlZmluZSBVVkxPX1ZUSExfT0ZGU0VUCQkJCUNPTjEwX09GRlNFVAkKKyNkZWZpbmUgVVZMT19WVEhMX01BU0sJCQkJCTB4MDAwMworI2RlZmluZSBVVkxPX1ZUSExfU0hJRlQJCQkJCTAKKworI2RlZmluZSBBRENfRU5fT0ZGU0VUCQkgICAgICAgICAgICBDT04xMF9PRkZTRVQKKyNkZWZpbmUgQURDX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAweDAwNzAgICAvLyBBbGwgQURDIGNoYW5uZWxzIGFyZSBlbmFibGVkIGF0IHNhbWUgdGltZQorI2RlZmluZSBBRENfRU5fU0hJRlQgICAgICAgICAgICAgICAgICAgIDQKKworI2RlZmluZSBBRENJTl9WQkFUX0VOX09GRlNFVAkJCUNPTjEwX09GRlNFVAkKKyNkZWZpbmUgQURDSU5fVkJBVF9FTl9NQVNLCQkJCTB4MDAxMAorI2RlZmluZSBBRENJTl9WQkFUX0VOX1NISUZUCQkJCTQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQkKKyNkZWZpbmUgQURDSU5fVlNFTl9FTl9PRkZTRVQJCQlDT04xMF9PRkZTRVQJCisjZGVmaW5lIEFEQ0lOX1ZTRU5fRU5fTUFTSwkJCQkweDAwMjAKKyNkZWZpbmUgQURDSU5fVlNFTl9FTl9TSElGVAkJCQk1CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCisjZGVmaW5lIEFEQ0lOX0NIUl9FTl9PRkZTRVQJCQkJQ09OMTBfT0ZGU0VUCisjZGVmaW5lIEFEQ0lOX0NIUl9FTl9NQVNLCQkJCTB4MDA0MAorI2RlZmluZSBBRENJTl9DSFJfRU5fU0hJRlQJCQkJNgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQorI2RlZmluZSBCR1JfUlNFTF9PRkZTRVQJICAgIAkJCUNPTjEwX09GRlNFVAorI2RlZmluZSBCR1JfUlNFTF9NQVNLCQkJCQkweDA3MDAKKyNkZWZpbmUgQkdSX1JTRUxfU0hJRlQJCQkJCTgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQkKKyNkZWZpbmUgQkdSX1VOQ0hPUF9QSF9PRkZTRVQJCQlDT04xMF9PRkZTRVQJCisjZGVmaW5lIEJHUl9VTkNIT1BfUEhfTUFTSwkJCQkweDEwMDAKKyNkZWZpbmUgQkdSX1VOQ0hPUF9QSF9TSElGVAkJCQkxMgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQorI2RlZmluZSBCR1JfVU5DSE9QX09GRlNFVAkJCQlDT04xMF9PRkZTRVQKKyNkZWZpbmUgQkdSX1VOQ0hPUF9NQVNLCQkJCQkweDIwMDAKKyNkZWZpbmUgQkdSX1VOQ0hPUF9TSElGVAkJCQkxMworICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQorI2RlZmluZSBVU0JETF9SU1RfT0ZGU0VUCQkJCUNPTjEwX09GRlNFVAorI2RlZmluZSBVU0JETF9SU1RfTUFTSwkJCQkJMHg0MDAwCisjZGVmaW5lIFVTQkRMX1JTVF9TSElGVAkJCQkJMTQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQkKKyNkZWZpbmUgVVNCRExfU0VUX09GRlNFVAkJCQlDT04xMF9PRkZTRVQKKyNkZWZpbmUgVVNCRExfU0VUX01BU0sJCQkJCTB4ODAwMAorI2RlZmluZSBVU0JETF9TRVRfU0hJRlQJCQkJCTE1CisKKy8vIENIUl9DT04xMQorI2RlZmluZSBCQzExX0NNUF9FTl9PRkZTRVQJCQkJQ09OMTFfT0ZGU0VUCisjZGVmaW5lIEJDMTFfQ01QX0VOX01BU0sJCQkJMHgwMDAzCisjZGVmaW5lIEJDMTFfQ01QX0VOX1NISUZUCQkJCTAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkKKyNkZWZpbmUgQkMxMV9WU1JDX0VOX09GRlNFVAkJCQlDT04xMV9PRkZTRVQKKyNkZWZpbmUgQkMxMV9WU1JDX0VOX01BU0sJCQkJMHgwMDBDCisjZGVmaW5lIEJDMTFfVlNSQ19FTl9TSElGVAkJCQkyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCisjZGVmaW5lIEJDMTFfSVBEX0VOX09GRlNFVAkgICAgCQlDT04xMV9PRkZTRVQKKyNkZWZpbmUgQkMxMV9JUERfRU5fTUFTSwkJCQkweDAwMzAKKyNkZWZpbmUgQkMxMV9JUERfRU5fU0hJRlQJCQkJNAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQorI2RlZmluZSBCQzExX0lQVV9FTl9PRkZTRVQJICAgIAkJQ09OMTFfT0ZGU0VUCisjZGVmaW5lIEJDMTFfSVBVX0VOX01BU0sJCQkJMHgwMEMwCisjZGVmaW5lIEJDMTFfSVBVX0VOX1NISUZUCQkJCTYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQkKKyNkZWZpbmUgQkMxMV9WUkVGX1ZUSF9PRkZTRVQJCQlDT04xMV9PRkZTRVQJCisjZGVmaW5lIEJDMTFfVlJFRl9WVEhfTUFTSwkJCQkweDAxMDAKKyNkZWZpbmUgQkMxMV9WUkVGX1ZUSF9TSElGVAkJCQk4CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCisjZGVmaW5lIEJDMTFfQklBU19FTl9PRkZTRVQJCQkJQ09OMTFfT0ZGU0VUCisjZGVmaW5lIEJDMTFfQklBU19FTl9NQVNLCQkJCTB4MDIwMAorI2RlZmluZSBCQzExX0JJQVNfRU5fU0hJRlQJCQkJOQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQorI2RlZmluZSBCQzExX0JCX0NUUkxfT0ZGU0VUCQkJCUNPTjExX09GRlNFVAorI2RlZmluZSBCQzExX0JCX0NUUkxfTUFTSwkJCQkweDA0MDAKKyNkZWZpbmUgQkMxMV9CQl9DVFJMX1NISUZUCQkJCTEwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCisjZGVmaW5lIEJDMTFfUlNUX09GRlNFVAkgICAgICAgIAkJQ09OMTFfT0ZGU0VUCisjZGVmaW5lIEJDMTFfUlNUX01BU0sJCQkJCTB4MDgwMAorI2RlZmluZSBCQzExX1JTVF9TSElGVAkJCQkJMTEKKyAgICAgICAgICAgICAgICAgICAgICAgIAkJCQkKKyNkZWZpbmUgQkMxMV9DTVBfT1VUX09GRlNFVAkgICAgCQlDT04xMV9PRkZTRVQKKyNkZWZpbmUgQkMxMV9DTVBfT1VUX01BU0sJCQkJMHg4MDAwCisjZGVmaW5lIEJDMTFfQ01QX09VVF9TSElGVAkJCQkxNQorCisvLyBDSFJfQ09OMTIKKyNkZWZpbmUgQ1ZfTU9ERV9PRkZTRVQJCQkJCUNPTjEyX09GRlNFVAorI2RlZmluZSBDVl9NT0RFX01BU0sJCQkJCTB4MDAwMQorI2RlZmluZSBDVl9NT0RFX1NISUZUCQkJCQkwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCisjZGVmaW5lIFZDRFRfTU9ERV9PRkZTRVQJCQkJQ09OMTJfT0ZGU0VUCisjZGVmaW5lIFZDRFRfTU9ERV9NQVNLCQkJCQkweDAwMDIKKyNkZWZpbmUgVkNEVF9NT0RFX1NISUZUCQkJCQkxCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCisjZGVmaW5lIENTREFDX01PREVfT0ZGU0VUCQkJCUNPTjEyX09GRlNFVAorI2RlZmluZSBDU0RBQ19NT0RFX01BU0sJCQkJCTB4MDAwNAorI2RlZmluZSBDU0RBQ19NT0RFX1NISUZUCQkJCTIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQkKKyNkZWZpbmUgVFJBQ0tJTkdfRU5fT0ZGU0VUCQkJCUNPTjEyX09GRlNFVAorI2RlZmluZSBUUkFDS0lOR19FTl9NQVNLCQkJCTB4MDAxMAorI2RlZmluZSBUUkFDS0lOR19FTl9TSElGVAkJCQk0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCisjZGVmaW5lIEhXQ1ZfRU5fT0ZGU0VUCSAgICAJCQlDT04xMl9PRkZTRVQKKyNkZWZpbmUgSFdDVl9FTl9NQVNLCQkJCQkweDAwNDAKKyNkZWZpbmUgSFdDVl9FTl9TSElGVAkJCQkJNgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQorI2RlZmluZSBVTENfREVUX0VOX09GRlNFVAkJCQlDT04xMl9PRkZTRVQKKyNkZWZpbmUgVUxDX0RFVF9FTl9NQVNLCQkJCQkweDAwODAKKyNkZWZpbmUgVUxDX0RFVF9FTl9TSElGVAkJCQk3CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCisjZGVmaW5lIExPV19JQ0hfREJfT0ZGU0VUCQkJCUNPTjEyX09GRlNFVAorI2RlZmluZSBMT1dfSUNIX0RCX01BU0sJCQkJCTB4M0YwMAorI2RlZmluZSBMT1dfSUNIX0RCX1NISUZUCQkJCTgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQkKKy8vIENIUl9DT04xMworI2RlZmluZSBPVlBfVFJJTV9PRkZTRVQJCQkJCUNPTjEzX09GRlNFVAorI2RlZmluZSBPVlBfVFJJTV9NQVNLCQkJCQkweDAwMEYKKyNkZWZpbmUgT1ZQX1RSSU1fU0hJRlQJCQkJCTAKKyAgICAgICAgICAgICAgICAgICAgICAgIAkJCQkKKyNkZWZpbmUgRFJWX0lUVU5FX09GRlNFVAkJCQlDT04xNF9PRkZTRVQJCisjZGVmaW5lIERSVl9JVFVORV9NQVNLCQkJCQkweDAzMDAKKyNkZWZpbmUgRFJWX0lUVU5FX1NISUZUCQkJCQk4CisKKy8vIFNUUlVQIGNtZHMKKy8vIFNUUlVQX0NPTjAKKyNkZWZpbmUgVVNCRExfRU5fT0ZGU0VUCSAgICAgICAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBVU0JETF9FTl9NQVNLICAgICAgICAgICAgICAgICAgIDB4MDAxMAorI2RlZmluZSBVU0JETF9FTl9TSElGVCAgICAgICAgICAgICAgICAgIDQKKworLy8gSVNJTksgY21kcworLy8gSVNJTktfQ09OMAorI2RlZmluZSBJU0lOS19FTl9PRkZTRVQJCQkJCUNPTjBfT0ZGU0VUCisjZGVmaW5lIElTSU5LX0VOX01BU0sgICAgICAgICAgICAgCQkweDAwMDEKKyNkZWZpbmUgSVNJTktfRU5fU0hJRlQgICAgICAgICAgICAJCTAKKworI2RlZmluZSBJU0lOS19NT0RFX09GRlNFVAkJCQlDT04wX09GRlNFVAorI2RlZmluZSBJU0lOS19NT0RFX01BU0sgICAgICAgICAgIAkJMHgwMDAyCisjZGVmaW5lIElTSU5LX01PREVfU0hJRlQgICAgICAgICAgCQkxCisKKyNkZWZpbmUgSVNJTktfU1RFUF9PRkZTRVQJCQkJQ09OMF9PRkZTRVQKKyNkZWZpbmUgSVNJTktfU1RFUF9NQVNLICAgICAgICAgICAJCTB4MDA3MAorI2RlZmluZSBJU0lOS19TVEVQX1NISUZUICAgICAgICAgIAkJNAorCisjZGVmaW5lIElTSU5LX1NUQVRVU19PRkZTRVQJCQkJQ09OMF9PRkZTRVQKKyNkZWZpbmUgSVNJTktfU1RBVFVTX01BU0sgICAgICAgICAgIAkweDgwMDAKKyNkZWZpbmUgSVNJTktfU1RBVFVTX1NISUZUICAgICAgICAgIAkxNQorCisvLyBJU0lOS19DT04xIAorI2RlZmluZSBJU0lOS19GT1JDRV9PRkZfT0ZGU0VUCQkJQ09OMV9PRkZTRVQKKyNkZWZpbmUgSVNJTktfRk9SQ0VfT0ZGX01BU0sgICAgICAgCQkweDAwMDEKKyNkZWZpbmUgSVNJTktfRk9SQ0VfT0ZGX1NISUZUICAgICAgCQkwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyNkZWZpbmUgSVNJTktfVlJFRl9DQUxfT0ZGU0VUCQkJQ09OMV9PRkZTRVQKKyNkZWZpbmUgSVNJTktfVlJFRl9DQUxfTUFTSyAgICAgICAJCTB4MUYwMAorI2RlZmluZSBJU0lOS19WUkVGX0NBTF9TSElGVCAgICAgIAkJOCAKKworLy8gS1BMRUQKKy8vIEtQTEVEX0NPTjAKKyNkZWZpbmUgS1BMRURfRU5fT0ZGU0VUCQkJCQlDT04wX09GRlNFVAorI2RlZmluZSBLUExFRF9FTl9NQVNLICAgICAgICAgICAgIAkJMHgwMDAxCisjZGVmaW5lIEtQTEVEX0VOX1NISUZUICAgICAgICAgICAgCQkwCisKKyNkZWZpbmUgS1BMRURfTU9ERV9PRkZTRVQJCQkJQ09OMF9PRkZTRVQKKyNkZWZpbmUgS1BMRURfTU9ERV9NQVNLICAgICAgICAgICAJCTB4MDAwMgorI2RlZmluZSBLUExFRF9NT0RFX1NISUZUICAgICAgICAgIAkJMQorCisjZGVmaW5lIEtQTEVEX1NFTF9PRkZTRVQJCQkJQ09OMF9PRkZTRVQKKyNkZWZpbmUgS1BMRURfU0VMX01BU0sgICAgICAgICAgICAJCTB4MDA3MAorI2RlZmluZSBLUExFRF9TRUxfU0hJRlQgICAgICAgICAgIAkJNAorCisjZGVmaW5lIEtQTEVEX1NGU1RSVENfT0ZGU0VUCQkJQ09OMF9PRkZTRVQKKyNkZWZpbmUgS1BMRURfU0ZTVFJUQ19NQVNLICAgICAgICAgICAgCTB4MDMwMAorI2RlZmluZSBLUExFRF9TRlNUUlRDX1NISUZUICAgICAgICAgICAJOAorCisjZGVmaW5lIEtQTEVEX1NGU1RSRU5fT0ZGU0VUCQkJQ09OMF9PRkZTRVQKKyNkZWZpbmUgS1BMRURfU0ZTVFJFTl9NQVNLICAgICAgICAgICAgCTB4MDQwMAorI2RlZmluZSBLUExFRF9TRlNUUkVOX1NISUZUICAgICAgICAgICAJMTAKKworI2RlZmluZSBLUExFRF9TVEFUVVNfT0ZGU0VUCQkJCUNPTjBfT0ZGU0VUCisjZGVmaW5lIEtQTEVEX1NUQVRVU19NQVNLICAgICAgICAgICAgCTB4ODAwMAorI2RlZmluZSBLUExFRF9TVEFUVVNfU0hJRlQgICAgICAgICAgIAkxNQorCisvLyBLUExFRF9DT04xCisjZGVmaW5lIEtQTEVEX0ZPUkNFX09GRl9PRkZTRVQJCQlDT04xX09GRlNFVAorI2RlZmluZSBLUExFRF9GT1JDRV9PRkZfTUFTSyAgICAgICAJCTB4MDAwMQorI2RlZmluZSBLUExFRF9GT1JDRV9PRkZfU0hJRlQgICAgICAJCTAKKworLy8gU1BLCisvLyBTUEtfQ09OMAorI2RlZmluZSBTUEtfRU5fT0ZGU0VUCQkJCQlDT04wX09GRlNFVAorI2RlZmluZSBTUEtfRU5fTUFTSwkJCQkJCTB4MDAwMQorI2RlZmluZSBTUEtfRU5fU0hJRlQJCQkJCTAKKworI2RlZmluZSBTUEtfUlNUX09GRlNFVAkJCQkJQ09OMF9PRkZTRVQKKyNkZWZpbmUgU1BLX1JTVF9NQVNLCQkJCQkweDAwMDIKKyNkZWZpbmUgU1BLX1JTVF9TSElGVAkJCQkJMQorCisjZGVmaW5lIFNQS19EVENBTF9PRkZTRVQJCQkJQ09OMF9PRkZTRVQKKyNkZWZpbmUgU1BLX0RUQ0FMX01BU0sJCQkJCTB4MDAwOAorI2RlZmluZSBTUEtfRFRDQUxfU0hJRlQJCQkJCTMKKworI2RlZmluZSBTUEtfVk9MX09GRlNFVAkJCQkJQ09OMF9PRkZTRVQKKyNkZWZpbmUgU1BLX1ZPTF9NQVNLICAgICAgICAgICAgICAJCTB4MDAxMAorI2RlZmluZSBTUEtfVk9MX1NISUZUICAgICAgICAgICAgIAkJNAorCisjZGVmaW5lIFNQS19PQ19BVVRPRkZfT0ZGU0VUCQkJQ09OMF9PRkZTRVQKKyNkZWZpbmUgU1BLX09DX0FVVE9GRl9NQVNLICAgICAgICAgICAgICAweDEwMDAKKyNkZWZpbmUgU1BLX09DX0FVVE9GRl9TSElGVCAgICAgICAgICAgICAxMgorCisjZGVmaW5lIFNQS19PQ19GTEFHX0VOX09GRlNFVAkJCUNPTjBfT0ZGU0VUICAKKyNkZWZpbmUgU1BLX09DX0ZMQUdfRU5fTUFTSyAgICAgICAgICAgIAkweDQwMDAKKyNkZWZpbmUgU1BLX09DX0ZMQUdfRU5fU0hJRlQgICAgICAgICAgIAkxNAorCisvLyBTUEtfQ09OMQorI2RlZmluZSBTUEtfUEZEX01PREVfT0ZGU0VUCQkJCUNPTjFfT0ZGU0VUCisjZGVmaW5lIFNQS19QRkRfTU9ERV9NQVNLICAgICAgICAgICAgICAJMHgwMDAxCisjZGVmaW5lIFNQS19QRkRfTU9ERV9TSElGVCAgICAgICAgICAgICAJMAorCisjZGVmaW5lIFNQS19DTU9ERV9PRkZTRVQJCQkJQ09OMV9PRkZTRVQKKyNkZWZpbmUgU1BLX0NNT0RFX01BU0sgICAgICAgICAgICAgIAkweDAwMEMKKyNkZWZpbmUgU1BLX0NNT0RFX1NISUZUICAgICAgICAgICAgIAkyCisKKyNkZWZpbmUgU1BLX0NDT0RFX09GRlNFVAkJCQlDT04xX09GRlNFVCAgCisjZGVmaW5lIFNQS19DQ09ERV9NQVNLICAgICAgICAgICAgCQkweDAwRjAKKyNkZWZpbmUgU1BLX0NDT0RFX1NISUZUICAgICAgICAgICAJCTQKKworLy8gU1BLX0NPTjIKKyNkZWZpbmUgU1BLX09DX1RIRF9PRkZTRVQgICAgICAgICAJCUNPTjJfT0ZGU0VUCisjZGVmaW5lIFNQS19PQ19USERfTUFTSyAgICAgICAgICAgCQkweDAwMzAKKyNkZWZpbmUgU1BLX09DX1RIRF9TSElGVCAgICAgICAgICAJCTQKKworI2RlZmluZSBTUEtfT0NfV05EX09GRlNFVAkJCQlDT04yX09GRlNFVAorI2RlZmluZSBTUEtfT0NfV05EX01BU0sgICAgICAgICAgIAkJMHgwMEMwCisjZGVmaW5lIFNQS19PQ19XTkRfU0hJRlQgICAgICAgICAgCQk2CisKKy8vIFNQS19DT04zCisjZGVmaW5lIFNQS19PQ19FTl9PRkZTRVQgICAgICAgICAJCUNPTjNfT0ZGU0VUCisjZGVmaW5lIFNQS19PQ19FTl9NQVNLICAgICAgICAgICAJCTB4MDQwMAorI2RlZmluZSBTUEtfT0NfRU5fU0hJRlQgICAgICAgICAgCQkxMAorCisKKy8vIFNQS19DT041CisjZGVmaW5lIFNQS19QR19TTEVXX0lfT0ZGU0VUICAgICAgICAgCUNPTjVfT0ZGU0VUCisjZGVmaW5lIFNQS19QR19TTEVXX0lfTUFTSyAgICAgICAgICAgCTB4MzAwMAorI2RlZmluZSBTUEtfUEdfU0xFV19JX1NISUZUICAgICAgICAgIAkxMgorCisvLyBTUEtfQ09ONworI2RlZmluZSBTUEtNT0RFX09GRlNFVAkJCQkJQ09ON19PRkZTRVQKKyNkZWZpbmUgU1BLTU9ERV9NQVNLICAgICAgICAgICAJCQkweDAwMDEKKyNkZWZpbmUgU1BLTU9ERV9TSElGVCAgICAgICAgICAJCQkwCisKKyNkZWZpbmUgU1BLQUJfT0JJQVNfT0ZGU0VUCQkJCUNPTjdfT0ZGU0VUCisjZGVmaW5lIFNQS0FCX09CSUFTX01BU0sgICAgICAgICAgIAkJMHgwMDMwCisjZGVmaW5lIFNQS0FCX09CSUFTX1NISUZUICAgICAgICAgIAkJNAorCisjZGVmaW5lIFNQS0FCX09DX0VOX09GRlNFVAkJCQlDT043X09GRlNFVAorI2RlZmluZSBTUEtBQl9PQ19FTl9NQVNLICAgICAgICAgICAJCTB4MDAxMAorI2RlZmluZSBTUEtBQl9PQ19FTl9TSElGVCAgICAgICAgICAJICAgIDgKKworLy8gU1BLX0NPTjgKKyNkZWZpbmUgU1BLX0NBTElCUl9FTl9PRkZTRVQJCQlDT044X09GRlNFVAorI2RlZmluZSBTUEtfQ0FMSUJSX0VOX01BU0sgICAgICAgICAgIAkweDAwNDAKKyNkZWZpbmUgU1BLX0NBTElCUl9FTl9TSElGVCAgICAgICAgICAJNgorCisjZGVmaW5lIFNQS19DQUxJQlJfU0VMX09GRlNFVAkJCUNPTjhfT0ZGU0VUCisjZGVmaW5lIFNQS19DQUxJQlJfU0VMX01BU0sgICAgICAgICAgIAkweDAyMDAKKyNkZWZpbmUgU1BLX0NBTElCUl9TRUxfU0hJRlQgICAgICAgICAgCTkKKworLy8gUE1JQ19PQworLy8gUE1JQ19PQ19DT04wCisjZGVmaW5lIFZSRl9PQ19JTlRfRU5fT0ZGU0VUCQkJQ09OMF9PRkZTRVQKKyNkZWZpbmUgVlJGX09DX0lOVF9FTl9NQVNLICAgICAgICAgICAJMHgwMDAxCisjZGVmaW5lIFZSRl9PQ19JTlRfRU5fU0hJRlQgICAgICAgICAgCTAKKworI2RlZmluZSBWVENYT19PQ19JTlRfRU5fT0ZGU0VUCQkJQ09OMF9PRkZTRVQKKyNkZWZpbmUgVlRDWE9fT0NfSU5UX0VOX01BU0sgICAgICAgICAgIAkweDAwMDIKKyNkZWZpbmUgVlRDWE9fT0NfSU5UX0VOX1NISUZUICAgICAgICAgIAkxCisKKyNkZWZpbmUgVkFfT0NfSU5UX0VOX09GRlNFVAkJCSAgICBDT04wX09GRlNFVAorI2RlZmluZSBWQV9PQ19JTlRfRU5fTUFTSyAgICAgICAgICAgCTB4MDAwNAorI2RlZmluZSBWQV9PQ19JTlRfRU5fU0hJRlQgICAgICAgICAgCTIKKworI2RlZmluZSBWQ0FNQV9PQ19JTlRfRU5fT0ZGU0VUCQkJQ09OMF9PRkZTRVQKKyNkZWZpbmUgVkNBTUFfT0NfSU5UX0VOX01BU0sgICAgICAgICAgIAkweDAwMDgKKyNkZWZpbmUgVkNBTUFfT0NfSU5UX0VOX1NISUZUICAgICAgICAgIAkzCisKKyNkZWZpbmUgVkNBTURfT0NfSU5UX0VOX09GRlNFVAkJCUNPTjBfT0ZGU0VUCisjZGVmaW5lIFZDQU1EX09DX0lOVF9FTl9NQVNLICAgICAgICAgICAJMHgwMDEwCisjZGVmaW5lIFZDQU1EX09DX0lOVF9FTl9TSElGVCAgICAgICAgICAJNAorCisjZGVmaW5lIFZJTzI4X09DX0lOVF9FTl9PRkZTRVQJCQlDT04wX09GRlNFVAorI2RlZmluZSBWSU8yOF9PQ19JTlRfRU5fTUFTSyAgICAgICAgICAgCTB4MDAyMAorI2RlZmluZSBWSU8yOF9PQ19JTlRfRU5fU0hJRlQgICAgICAgICAgCTUKKworI2RlZmluZSBWVVNCX09DX0lOVF9FTl9PRkZTRVQJCQlDT04wX09GRlNFVAorI2RlZmluZSBWVVNCX09DX0lOVF9FTl9NQVNLICAgICAgICAgICAJMHgwMDQwCisjZGVmaW5lIFZVU0JfT0NfSU5UX0VOX1NISUZUICAgICAgICAgIAk2CisKKyNkZWZpbmUgVkJUX09DX0lOVF9FTl9PRkZTRVQJCQlDT04wX09GRlNFVAorI2RlZmluZSBWQlRfT0NfSU5UX0VOX01BU0sgICAgICAgICAgIAkweDAwODAKKyNkZWZpbmUgVkJUX09DX0lOVF9FTl9TSElGVCAgICAgICAgICAJNworCisjZGVmaW5lIFZTSU1fT0NfSU5UX0VOX09GRlNFVAkJCUNPTjBfT0ZGU0VUCisjZGVmaW5lIFZTSU1fT0NfSU5UX0VOX01BU0sgICAgICAgICAgIAkweDAxMDAKKyNkZWZpbmUgVlNJTV9PQ19JTlRfRU5fU0hJRlQgICAgICAgICAgCTgKKworI2RlZmluZSBWU0lNMl9PQ19JTlRfRU5fT0ZGU0VUCQkJQ09OMF9PRkZTRVQKKyNkZWZpbmUgVlNJTTJfT0NfSU5UX0VOX01BU0sgICAgICAgICAgIAkweDAyMDAKKyNkZWZpbmUgVlNJTTJfT0NfSU5UX0VOX1NISUZUICAgICAgICAgIAk5CisKKyNkZWZpbmUgVlJUQ19PQ19JTlRfRU5fT0ZGU0VUCQkJQ09OMF9PRkZTRVQKKyNkZWZpbmUgVlJUQ19PQ19JTlRfRU5fTUFTSyAgICAgICAgICAgCTB4MDQwMAorI2RlZmluZSBWUlRDX09DX0lOVF9FTl9TSElGVCAgICAgICAgICAJMTAKKworI2RlZmluZSBWSUJSX09DX0lOVF9FTl9PRkZTRVQJCQlDT04wX09GRlNFVAorI2RlZmluZSBWSUJSX09DX0lOVF9FTl9NQVNLICAgICAgICAgICAJMHgwODAwCisjZGVmaW5lIFZJQlJfT0NfSU5UX0VOX1NISUZUICAgICAgICAgIAkxMQorCisjZGVmaW5lIFZNQ19PQ19JTlRfRU5fT0ZGU0VUCQkJQ09OMF9PRkZTRVQKKyNkZWZpbmUgVk1DX09DX0lOVF9FTl9NQVNLICAgICAgICAgICAJMHgxMDAwCisjZGVmaW5lIFZNQ19PQ19JTlRfRU5fU0hJRlQgICAgICAgICAgCTEyCisKKy8vIFBNSUNfT0NfQ09OMQorI2RlZmluZSBWQ09SRV9PQ19JTlRfRU5fT0ZGU0VUCQkJQ09OMV9PRkZTRVQKKyNkZWZpbmUgVkNPUkVfT0NfSU5UX0VOX01BU0sgICAgICAgICAgIAkweDAwMDEKKyNkZWZpbmUgVkNPUkVfT0NfSU5UX0VOX1NISUZUICAgICAgICAgIAkwCisKKyNkZWZpbmUgVklPMThfT0NfSU5UX0VOX09GRlNFVAkJCUNPTjFfT0ZGU0VUCisjZGVmaW5lIFZJTzE4X09DX0lOVF9FTl9NQVNLICAgICAgICAgICAJMHgwMDAyCisjZGVmaW5lIFZJTzE4X09DX0lOVF9FTl9TSElGVCAgICAgICAgICAJMQorCisvLyBQTUlDX09DX0NPTjMKKyNkZWZpbmUgU1BLX09DX0lOVF9FTl9PRkZTRVQJCQlDT04zX09GRlNFVAorI2RlZmluZSBTUEtfT0NfSU5UX0VOX01BU0sgICAgICAgICAgIAkweDAwMDEKKyNkZWZpbmUgU1BLX09DX0lOVF9FTl9TSElGVCAgICAgICAgICAJMAorCisvLyBQTUlDX09DX0NPTjQKKyNkZWZpbmUgVlJGX09DX0ZMQUdfT0ZGU0VUCQkJICAgIENPTjRfT0ZGU0VUCisjZGVmaW5lIFZSRl9PQ19GTEFHX01BU0sgICAgICAgICAgIAkgICAgMHgwMDAxCisjZGVmaW5lIFZSRl9PQ19GTEFHX1NISUZUICAgICAgICAgIAkgICAgMAorCisjZGVmaW5lIFZUQ1hPX09DX0ZMQUdfT0ZGU0VUCQkJQ09ONF9PRkZTRVQKKyNkZWZpbmUgVlRDWE9fT0NfRkxBR19NQVNLICAgICAgICAgICAJMHgwMDAyCisjZGVmaW5lIFZUQ1hPX09DX0ZMQUdfU0hJRlQgICAgICAgICAgCTEKKworI2RlZmluZSBWQV9PQ19GTEFHX09GRlNFVAkJCSAgICBDT040X09GRlNFVAorI2RlZmluZSBWQV9PQ19GTEFHX01BU0sgICAgICAgICAgIAkgICAgMHgwMDA0CisjZGVmaW5lIFZBX09DX0ZMQUdfU0hJRlQgICAgICAgICAgCSAgICAyCisKKyNkZWZpbmUgVkNBTUFfT0NfRkxBR19PRkZTRVQJCQlDT040X09GRlNFVAorI2RlZmluZSBWQ0FNQV9PQ19GTEFHX01BU0sgICAgICAgICAgIAkweDAwMDgKKyNkZWZpbmUgVkNBTUFfT0NfRkxBR19TSElGVCAgICAgICAgICAJMworCisjZGVmaW5lIFZDQU1EX09DX0ZMQUdfT0ZGU0VUCQkJQ09ONF9PRkZTRVQKKyNkZWZpbmUgVkNBTURfT0NfRkxBR19NQVNLICAgICAgICAgICAJMHgwMDEwCisjZGVmaW5lIFZDQU1EX09DX0ZMQUdfU0hJRlQgICAgICAgICAgCTQKKworI2RlZmluZSBWSU8yOF9PQ19GTEFHX09GRlNFVAkJCUNPTjRfT0ZGU0VUCisjZGVmaW5lIFZJTzI4X09DX0ZMQUdfTUFTSyAgICAgICAgICAgCTB4MDAyMAorI2RlZmluZSBWSU8yOF9PQ19GTEFHX1NISUZUICAgICAgICAgIAk1CisKKyNkZWZpbmUgVlVTQl9PQ19GTEFHX09GRlNFVAkJCSAgICBDT040X09GRlNFVAorI2RlZmluZSBWVVNCX09DX0ZMQUdfTUFTSyAgICAgICAgICAgCTB4MDA0MAorI2RlZmluZSBWVVNCX09DX0ZMQUdfU0hJRlQgICAgICAgICAgCTYKKworI2RlZmluZSBWQlRfT0NfRkxBR19PRkZTRVQJCQkgICAgQ09ONF9PRkZTRVQKKyNkZWZpbmUgVkJUX09DX0ZMQUdfTUFTSyAgICAgICAgICAgCSAgICAweDAwODAKKyNkZWZpbmUgVkJUX09DX0ZMQUdfU0hJRlQgICAgICAgICAgIAk3CisKKyNkZWZpbmUgVlNJTV9PQ19GTEFHX09GRlNFVAkJCSAgICBDT040X09GRlNFVAorI2RlZmluZSBWU0lNX09DX0ZMQUdfTUFTSyAgICAgICAgICAgCTB4MDEwMAorI2RlZmluZSBWU0lNX09DX0ZMQUdfU0hJRlQgICAgICAgICAgCTgKKworI2RlZmluZSBWU0lNMl9PQ19GTEFHX09GRlNFVAkJCUNPTjRfT0ZGU0VUCisjZGVmaW5lIFZTSU0yX09DX0ZMQUdfTUFTSyAgICAgICAgICAgCTB4MDIwMAorI2RlZmluZSBWU0lNMl9PQ19GTEFHX1NISUZUICAgICAgICAgIAk5CisKKyNkZWZpbmUgVlJUQ19PQ19GTEFHX09GRlNFVAkJCSAgICBDT040X09GRlNFVAorI2RlZmluZSBWUlRDX09DX0ZMQUdfTUFTSyAgICAgICAgICAgCTB4MDQwMAorI2RlZmluZSBWUlRDX09DX0ZMQUdfU0hJRlQgICAgICAgICAgCTEwCisKKyNkZWZpbmUgVklCUl9PQ19GTEFHX09GRlNFVAkJCSAgICBDT040X09GRlNFVAorI2RlZmluZSBWSUJSX09DX0ZMQUdfTUFTSyAgICAgICAgICAgCTB4MDgwMAorI2RlZmluZSBWSUJSX09DX0ZMQUdfU0hJRlQgICAgICAgICAgCTExCisKKyNkZWZpbmUgVk1DX09DX0ZMQUdfT0ZGU0VUCQkJICAgIENPTjRfT0ZGU0VUCisjZGVmaW5lIFZNQ19PQ19GTEFHX01BU0sgICAgICAgICAgIAkgICAgMHgxMDAwCisjZGVmaW5lIFZNQ19PQ19GTEFHX1NISUZUICAgICAgICAgIAkgICAgMTIKKworLy8gUE1JQ19PQ19DT041CisjZGVmaW5lIFZDT1JFX09DX0ZMQUdfT0ZGU0VUCQkJQ09ONV9PRkZTRVQKKyNkZWZpbmUgVkNPUkVfT0NfRkxBR19NQVNLICAgICAgICAgICAJMHgwMDAxCisjZGVmaW5lIFZDT1JFX09DX0ZMQUdfU0hJRlQgICAgICAgICAgCTAKKworI2RlZmluZSBWSU8xOF9PQ19GTEFHX09GRlNFVAkJCUNPTjVfT0ZGU0VUCisjZGVmaW5lIFZJTzE4X09DX0ZMQUdfTUFTSyAgICAgICAgICAgCTB4MDAwMgorI2RlZmluZSBWSU8xOF9PQ19GTEFHX1NISUZUICAgICAgICAgIAkxCisKKy8vIFBNSUNfT0NfQ09ONworI2RlZmluZSBTUEtfT0NfRkxBR19PRkZTRVQJCQkgICAgQ09ON19PRkZTRVQKKyNkZWZpbmUgU1BLX09DX0ZMQUdfTUFTSyAgICAgICAgICAgIAkweDAwMDEKKyNkZWZpbmUgU1BLX09DX0ZMQUdfU0hJRlQgICAgICAgICAgCSAgICAwCisKKy8vIFBNSUNfT0NfQ09OOAorI2RlZmluZSBWUkZfT0NfU1RBVFVTX09GRlNFVAkJCUNPTjhfT0ZGU0VUCisjZGVmaW5lIFZSRl9PQ19TVEFUVVNfTUFTSyAgICAgICAgICAgCTB4MDAwMQorI2RlZmluZSBWUkZfT0NfU1RBVFVTX1NISUZUICAgICAgICAgIAkwCisKKyNkZWZpbmUgVlRDWE9fT0NfU1RBVFVTX09GRlNFVAkJCUNPTjhfT0ZGU0VUCisjZGVmaW5lIFZUQ1hPX09DX1NUQVRVU19NQVNLICAgICAgICAgICAJMHgwMDAyCisjZGVmaW5lIFZUQ1hPX09DX1NUQVRVU19TSElGVCAgICAgICAgICAJMQorCisjZGVmaW5lIFZBX09DX1NUQVRVU19PRkZTRVQJCQkgICAgQ09OOF9PRkZTRVQKKyNkZWZpbmUgVkFfT0NfU1RBVFVTX01BU0sgICAgICAgICAgIAkweDAwMDQKKyNkZWZpbmUgVkFfT0NfU1RBVFVTX1NISUZUICAgICAgICAgIAkyCisKKyNkZWZpbmUgVkNBTUFfT0NfU1RBVFVTX09GRlNFVAkJCUNPTjhfT0ZGU0VUCisjZGVmaW5lIFZDQU1BX09DX1NUQVRVU19NQVNLICAgICAgICAgICAJMHgwMDA4CisjZGVmaW5lIFZDQU1BX09DX1NUQVRVU19TSElGVCAgICAgICAgICAJMworCisjZGVmaW5lIFZDQU1EX09DX1NUQVRVU19PRkZTRVQJCQlDT044X09GRlNFVAorI2RlZmluZSBWQ0FNRF9PQ19TVEFUVVNfTUFTSyAgICAgICAgICAgCTB4MDAxMAorI2RlZmluZSBWQ0FNRF9PQ19TVEFUVVNfU0hJRlQgICAgICAgICAgCTQKKworI2RlZmluZSBWSU8yOF9PQ19TVEFUVVNfT0ZGU0VUCQkJQ09OOF9PRkZTRVQKKyNkZWZpbmUgVklPMjhfT0NfU1RBVFVTX01BU0sgICAgICAgICAgIAkweDAwMjAKKyNkZWZpbmUgVklPMjhfT0NfU1RBVFVTX1NISUZUICAgICAgICAgIAk1CisKKyNkZWZpbmUgVlVTQl9PQ19TVEFUVVNfT0ZGU0VUCQkJQ09OOF9PRkZTRVQKKyNkZWZpbmUgVlVTQl9PQ19TVEFUVVNfTUFTSyAgICAgICAgICAgCTB4MDA0MAorI2RlZmluZSBWVVNCX09DX1NUQVRVU19TSElGVCAgICAgICAgICAJNgorCisjZGVmaW5lIFZCVF9PQ19TVEFUVVNfT0ZGU0VUCQkJQ09OOF9PRkZTRVQKKyNkZWZpbmUgVkJUX09DX1NUQVRVU19NQVNLICAgICAgICAgICAJMHgwMDgwCisjZGVmaW5lIFZCVF9PQ19TVEFUVVNfU0hJRlQgICAgICAgICAgIAk3CisKKyNkZWZpbmUgVlNJTV9PQ19TVEFUVVNfT0ZGU0VUCQkJQ09OOF9PRkZTRVQKKyNkZWZpbmUgVlNJTV9PQ19TVEFUVVNfTUFTSyAgICAgICAgICAgCTB4MDEwMAorI2RlZmluZSBWU0lNX09DX1NUQVRVU19TSElGVCAgICAgICAgICAJOAorCisjZGVmaW5lIFZTSU0yX09DX1NUQVRVU19PRkZTRVQJCQlDT044X09GRlNFVAorI2RlZmluZSBWU0lNMl9PQ19TVEFUVVNfTUFTSyAgICAgICAgICAgCTB4MDIwMAorI2RlZmluZSBWU0lNMl9PQ19TVEFUVVNfU0hJRlQgICAgICAgICAgCTkKKworI2RlZmluZSBWUlRDX09DX1NUQVRVU19PRkZTRVQJCQlDT044X09GRlNFVAorI2RlZmluZSBWUlRDX09DX1NUQVRVU19NQVNLICAgICAgICAgICAJMHgwNDAwCisjZGVmaW5lIFZSVENfT0NfU1RBVFVTX1NISUZUICAgICAgICAgIAkxMAorCisjZGVmaW5lIFZJQlJfT0NfU1RBVFVTX09GRlNFVAkJCUNPTjhfT0ZGU0VUCisjZGVmaW5lIFZJQlJfT0NfU1RBVFVTX01BU0sgICAgICAgICAgIAkweDA4MDAKKyNkZWZpbmUgVklCUl9PQ19TVEFUVVNfU0hJRlQgICAgICAgICAgCTExCisKKyNkZWZpbmUgVk1DX09DX1NUQVRVU19PRkZTRVQJCQlDT044X09GRlNFVAorI2RlZmluZSBWTUNfT0NfU1RBVFVTX01BU0sgICAgICAgICAgIAkweDEwMDAKKyNkZWZpbmUgVk1DX09DX1NUQVRVU19TSElGVCAgICAgICAgICAJMTIKKworLy8gUE1JQ19PQ19DT045CisjZGVmaW5lIFZDT1JFX09DX1NUQVRVU19PRkZTRVQJCQlDT045X09GRlNFVAorI2RlZmluZSBWQ09SRV9PQ19TVEFUVVNfTUFTSyAgICAgICAgICAgCTB4MDAwMQorI2RlZmluZSBWQ09SRV9PQ19TVEFUVVNfU0hJRlQgICAgICAgICAgCTAKKworI2RlZmluZSBWSU8xOF9PQ19TVEFUVVNfT0ZGU0VUCQkJQ09OOV9PRkZTRVQKKyNkZWZpbmUgVklPMThfT0NfU1RBVFVTX01BU0sgICAgICAgICAgIAkweDAwMDIKKyNkZWZpbmUgVklPMThfT0NfU1RBVFVTX1NISUZUICAgICAgICAgIAkxCisKKy8vIFBNSUNfT0NfQ09OQgorI2RlZmluZSBTUEtfT0NfU1RBVFVTX09GRlNFVAkJCUNPTkJfT0ZGU0VUCisjZGVmaW5lIFNQS19PQ19TVEFUVVNfTUFTSyAgICAgICAgICAgIAkweDAwMDEKKyNkZWZpbmUgU1BLX09DX1NUQVRVU19TSElGVCAgICAgICAgICAJMAorCisjZW5kaWYgLy8gI2lmIGRlZmluZWQoUE1JQ182MjU2X1JFR19BUEkpCisKKyNlbmRpZiAvLyAjaWZuZGVmIF9fUE1VNjI1Nl9IV19IX18KZGlmZiAtLWdpdCBhL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvZGNsX3BtdTYyNTZfc3cuaCBiL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvZGNsX3BtdTYyNTZfc3cuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NmZiNWU3Ci0tLSAvZGV2L251bGwKKysrIGIvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9kY2xfcG11NjI1Nl9zdy5oCkBAIC0wLDAgKzEsMjk0IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTEKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4gCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRmlsZW5hbWU6CisgKiAtLS0tLS0tLS0KKyAqICAgIGRjbF9wbXU2MjU2X3N3LmgKKyAqCisgKiBQcm9qZWN0OgorICogLS0tLS0tLS0KKyAqICAgTWF1aV9Tb2Z0d2FyZQorICoKKyAqIERlc2NyaXB0aW9uOgorICogLS0tLS0tLS0tLS0tCisgKiAgIFRoaXMgZmlsZSBpcyBmb3IgUE1VNjI1NiBzL3cgc2V0dGluZy4KKyAqCisgKiBBdXRob3I6CisgKiAtLS0tLS0tCisgKiAtLS0tLS0tCisgKgorICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKiAgICAgICAgICAgICBISVNUT1JZCisgKiBCZWxvdyB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICoKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiBVcHBlciB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworCisjaWZuZGVmIF9fRENMX1BNVTYyNTZfU1dfSF9TVFJVQ1RfXworI2RlZmluZSBfX0RDTF9QTVU2MjU2X1NXX0hfU1RSVUNUX18KKworI2luY2x1ZGUgImRjbF9wbWljX2ZlYXR1cmVzLmgiCisKKyNpZiBkZWZpbmVkKFBNSUNfNjI1Nl9SRUdfQVBJKQorCisvKiBDaGFyZ2VyIGV4dGVybmFsIGludGVycnVwdCBpcyBmaXhlZC4gKi8KKyNkZWZpbmUgUE1VX0NIUl9FSU5UX1BJTiAgICAgICAgIDE1CisjZGVmaW5lIFBNVV9PQ19FSU5UX1BJTiAgICAgICAgICAxNgorI2RlZmluZSBQTVVfQ0hSX09WUF9FSU5UX1BJTiAgICAgMTcKKyNkZWZpbmUgUE1VX0NIUl9MRE9fRUlOVF9QSU4gICAgIDE5CisKKy8qIGFkYyBudW1iZXIgZm9yIG1lYXN1cmluZyBWQkFUL1ZJU0VOU0UvVkNIQVJHRVIgaXMgZml4ZWQgaW50ZXJuYWxseS4gKi8KKyNkZWZpbmUgUE1VX0FEQ19WQkFUX0NIX05VTSAgICAgIDAKKyNkZWZpbmUgUE1VX0FEQ19WSVNFTlNFX0NIX05VTSAgIDEKKyNkZWZpbmUgUE1VX0FEQ19WQ0hBUkdFUl9DSF9OVU0gIDIKKyNkZWZpbmUgUE1VX0FEQ19WQkFUVEVNUF9DSF9OVU0gIDMKKworLyogYWRjIGZhY3RvciBmb3IgVkJBVC9WSVNFTlNFL1ZDSEFSR0VSICovCisjZGVmaW5lIFBNVV9BRENfRkFDVE9SX1ZCQVQgICAgICAxMDAKKyNkZWZpbmUgUE1VX0FEQ19GQUNUT1JfVklTRU5TRSAgIDEwMAorI2lmIGRlZmluZWQoTVQ2MjU2X1MwMCkKKyNkZWZpbmUgUE1VX0FEQ19GQUNUT1JfVkNIQVJHRVIgIDM0NCAgLy8gKDM1MS81MSAqIDUwKQorI2Vsc2UKKyNkZWZpbmUgUE1VX0FEQ19GQUNUT1JfVkNIQVJHRVIgIDQ3MyAgLy8gKDM2OS8zOSAqIDUwKQorI2VuZGlmIC8vIEVuZCBvZiAjaWYgZGVmaW5lZChNVDYyNTZfUzAwKQorI2RlZmluZSBQTVVfQURDX0ZBQ1RPUl9WQkFUVEVNUCAgMTAwCisKK3R5cGVkZWYgZW51bQoreworCUxET19CVUNLX0VOLAorICAgIExET19CVUNLX09OX1NFTCwKKyAgCUxET19CVUNLX1JTLAorCUxET19CVUNLX1ZPTF9TRUwsCisJTERPX0JVQ0tfTkRJU19FTiwKKyAgICBMRE9fQlVDS19TVEJfRU4sICAKKwlMRE9fQlVDS19PQ19BVVRPX09GRiwKKyAgICBMRE9fQlVDS19PQ0ZCX0VOLAorICAgIExET19CVUNLX09DX0ZMQUcsCisgICAgTERPX0JVQ0tfU1RBVFVTLAorCUxET19DQUwsCisJTERPX1NUQl9TRUwsCisJTERPX0VOX0ZPUkNFLAorCUxET19PQ19URCwKKwlMRE9fU1RCX1RELAorCUNDSV9TUkNMS0VOLAorCVZBX0xQX0VOLAorCVZTSU1fR1BMRE9fRU4sCisJVlNJTTJfR1BMRE9fRU4sCQorCVNJTTJfR1BJT19FTiwKKwlCVUNLX1ZGQkFESl9TTEVFUCwKKwlCVUNLX0VOX0ZPUkNFLAorCUJVQ0tfU1RCX1RELAorCUJVQ0tfT0NfVEhELAorCUJVQ0tfT0NfV05ELAorCUJVQ0tfSUNBTF9FTiwKKwlCVUNLX0NTTCwKKwlCVUNLX0JVUlNULAorCVZDRFRfSFZfRU4sCisvLwlDSFJfTERPX0RFVCwKKwlDU0RBQ19FTiwKKwlDSFJfRU4sCisJQ0hSREVULAorCVZDRFRfSFZfVlRILAorICAgIFZCQVRfQ1ZfRU4sCisgICAgVkJBVF9DVl9ERVQsCisgICAgVkJBVF9DVl9WVEgsCisgICAgQ1NfVlRILAorICAgIENTREFDX1NUUF9JTkMsCisgICAgQ1NEQUNfU1RQX0RFQywKKyAgICBDU0RBQ19TVFAsCisgICAgQ1NEQUNfRExZLAorICAgIFZCQVRfT1ZfVlRILAorICAgIEJBVE9OX0VOLAorICAgIEJBVE9OX0hUX0VOLAorCUJBVE9OX1VOREVULAorICAgIE9UR19CVkFMSURfRU4sCisgICAgT1RHX0JWQUxJRCwKKwlDSFJXRFRfVEQsCisJQ0hSV0RUX0VOLAorCUNIUldEVF9JTlRfRU4sCisJQ0hSV0RUX0ZMQUcsCisJQURDX0VOLAorCVVTQkRMX1JTVCwKKwlVU0JETF9TRVQsCisJQkMxMV9DTVBfRU4sCisJQkMxMV9WU1JDX0VOLAorCUJDMTFfSVBEX0VOLAorCUJDMTFfSVBVX0VOLAorCUJDMTFfVlJFRl9WVEgsCisJQkMxMV9CSUFTX0VOLAorCUJDMTFfQkJfQ1RSTCwKKwlCQzExX1JTVCwKKwlCQzExX0NNUF9PVVQsCisJQ1ZfTU9ERSwKKwlWQ0RUX01PREUsCisJQ1NEQUNfTU9ERSwKKwlUUkFDS0lOR19FTiwKKwlIV0NWX0VOLAorCVVMQ19ERVRfRU4sCisJTE9XX0lDSF9EQiwKKwlVU0JETF9FTiwKKwlWQkFUX0NDX0RFVCwKKwlJU0lOS19FTiwKKwlJU0lOS19NT0RFLAorCUlTSU5LX1NURVAsCisJS1BMRURfRU4sCisJS1BMRURfTU9ERSwKKwlLUExFRF9TRUwsCisJU1BLX0VOLAorCVNQS19WT0wsCisgICAgU1BLX0NDT0RFLAkKKyAgICBTUEtfT0NfRU4sCisJU1BLX1BHX1NMRVdfSSwKKwlTUEtBQl9PQ19FTiwKKyAgICBTUEtBQl9PQklBUywJCisJU1BLTU9ERSwKKyAgICBTUEtfQ0FMSUJSX0VOLAorICAgIFNQS19DQUxJQlJfU0VMLAorICAgIEFCSVNUX0xNT05fU0VMLAorICAgIEFCSVNUX0hNT05fU0VMLCAgICAKKyAgICBBQklTVF9MTU9OX0RBVEEsCisgICAgQUJJU1RfSE1PTl9EQVRBLAorICAgIFZSRl9PQ19JTlRfRU4sCisgICAgVlRDWE9fT0NfSU5UX0VOLAorICAgIFZBX09DX0lOVF9FTiwKKyAgICBWQ0FNQV9PQ19JTlRfRU4sCisgICAgVkNBTURfT0NfSU5UX0VOLAorICAgIFZJTzI4X09DX0lOVF9FTiwKKyAgICBWVVNCX09DX0lOVF9FTiwKKyAgICBWQlRfT0NfSU5UX0VOLAorICAgIFZTSU1fT0NfSU5UX0VOLAorICAgIFZTSU0yX09DX0lOVF9FTiwKKyAgICBWUlRDX09DX0lOVF9FTiwKKyAgICBWSUJSX09DX0lOVF9FTiwKKyAgICBWTUNfT0NfSU5UX0VOLAorICAgIFZDT1JFX09DX0lOVF9FTiwKKyAgICBWSU8xOF9PQ19JTlRfRU4sCisgICAgU1BLX09DX0lOVF9FTiwKKyAgICBWUkZfT0NfRkxBRywKKyAgICBWVENYT19PQ19GTEFHLAorICAgIFZBX09DX0ZMQUcsCisgICAgVkNBTUFfT0NfRkxBRywKKyAgICBWQ0FNRF9PQ19GTEFHLAorICAgIFZJTzI4X09DX0ZMQUcsCisgICAgVlVTQl9PQ19GTEFHLAorICAgIFZCVF9PQ19GTEFHLAorICAgIFZTSU1fT0NfRkxBRywKKyAgICBWU0lNMl9PQ19GTEFHLAorICAgIFZSVENfT0NfRkxBRywKKyAgICBWSUJSX09DX0ZMQUcsCisgICAgVk1DX09DX0ZMQUcsCisgICAgVkNPUkVfT0NfRkxBRywKKyAgICBWSU8xOF9PQ19GTEFHLAorICAgIFNQS19PQ19GTEFHLCAKKyAgICBWUkZfT0NfU1RBVFVTLAorICAgIFZUQ1hPX09DX1NUQVRVUywgICAgCisJVkFfT0NfU1RBVFVTLAorCVZDQU1BX09DX1NUQVRVUywKKwlWQ0FNRF9PQ19TVEFUVVMsCisJVklPMjhfT0NfU1RBVFVTLAorCVZVU0JfT0NfU1RBVFVTLAorCVZCVF9PQ19TVEFUVVMsCisJVlNJTV9PQ19TVEFUVVMsCisJVlNJTTJfT0NfU1RBVFVTLAorCVZSVENfT0NfU1RBVFVTLAorCVZJQlJfT0NfU1RBVFVTLAorCVZNQ19PQ19TVEFUVVMsCisJVkNPUkVfT0NfU1RBVFVTLAorCVZJTzE4X09DX1NUQVRVUywKKwlTUEtfT0NfU1RBVFVTLAkgICAgICAgCisJUE1VX0ZMQUdTX01BWAorfVBNVV9GTEFHU19MSVNUX0VOVU07CisKKyNkZWZpbmUgTERPX0dST1VQIChPRkZTRUwoQlVDS19HUk9VUCkpCisjaWYgZGVmaW5lZChNVDYyNTZfUzAwKQorI2RlZmluZSBCVUNLX0dST1VQIChNKFZDT1JFKXxNKFZJTzE4KSkKKyNlbHNlCisjZGVmaW5lIEJVQ0tfR1JPVVAgKE0oVkNPUkUpKQorI2VuZGlmIC8vIEVuZCBvZiAjaWYgZGVmaW5lZChNVDYyNTZfUzAwKQorCisjZW5kaWYgLy8jaWYgZGVmaW5lZChQTUlDXzYyNTZfUkVHX0FQSSkKKworI2VuZGlmIC8vI2lmbmRlZiBfX0RDTF9QTVU2MjU2X1NXX0hfU1RSVUNUX18KKwpkaWZmIC0tZ2l0IGEvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9kY2xfcG11NjI3Nl9ody5oIGIvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9kY2xfcG11NjI3Nl9ody5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjczODYxMjQKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL2RjbF9wbXU2Mjc2X2h3LmgKQEAgLTAsMCArMSw1OCBAQAorCisKKyNpZm5kZWYgX19EQ0xfUE1VNjI3Nl9IV19IX1NUUlVDVF9fCisjZGVmaW5lIF9fRENMX1BNVTYyNzZfSFdfSF9TVFJVQ1RfXworCisjaWYgZGVmaW5lZChQTUlDXzYyNzZfUkVHX0FQSSkKKworCisjZGVmaW5lIFBNVV9CQVNFICAgICAgICBNSVhfUE1VX2Jhc2UKKyNkZWZpbmUgUE1VX0VORCAgICAgICAgIChQTVVfQkFTRSsweDEwMDApCisKKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKy8vIExETyBncm91cAorI2RlZmluZSBWQTEyX0NPTjAgIAkJCShQTVVfQkFTRSsweDA2MjApCisjZGVmaW5lIFZSVENfQ09OMCAgCQkJKFBNVV9CQVNFKzB4MDYyOCkKKyNkZWZpbmUgVk1JQ19DT04wICAJCQkoUE1VX0JBU0UrMHgwNjMwKQorI2RlZmluZSBWQVVETl9DT04wICAJCShQTVVfQkFTRSsweDA2NDApCisjZGVmaW5lIFZBVURQX0NPTjAgIAkJKFBNVV9CQVNFKzB4MDY1MCkKKyNkZWZpbmUgVlJGX0NPTjAgIAkJCShQTVVfQkFTRSsweDA3MDApCisjZGVmaW5lIFZUQ1hPX0NPTjAgIAkJCShQTVVfQkFTRSsweDA3MTApCisjZGVmaW5lIFZBMjVfQ09OMCAgCQkJKFBNVV9CQVNFKzB4MDcyMCkKKyNkZWZpbmUgVkNBTUFfQ09OMCAgCQkoUE1VX0JBU0UrMHgwNzMwKQorI2RlZmluZSBWQ0FNRF9DT04wICAJCShQTVVfQkFTRSsweDA3NDApCisjZGVmaW5lIFZJT19DT04wICAJCQkoUE1VX0JBU0UrMHgwNzUwKQorI2RlZmluZSBWVVNCX0NPTjAgIAkJCShQTVVfQkFTRSsweDA3NjApCisjZGVmaW5lIFZCVF9DT04wICAJCQkoUE1VX0JBU0UrMHgwNzcwKQorI2RlZmluZSBWU0lNX0NPTjAgIAkJCShQTVVfQkFTRSsweDA3ODApCisjZGVmaW5lIFZTSU0yX0NPTjAgIAkJCShQTVVfQkFTRSsweDA3OTApCisjZGVmaW5lIFZJQlJfQ09OMCAgCQkJKFBNVV9CQVNFKzB4MDdiMCkKKyNkZWZpbmUgVk1DX0NPTjAgIAkJCShQTVVfQkFTRSsweDA3YzApCisjZGVmaW5lIFZDQU1BMl9DT04wIAkJKFBNVV9CQVNFKzB4MDdkMCkKKyNkZWZpbmUgVkNBTUQyX0NPTjAgCQkoUE1VX0JBU0UrMHgwN2UwKQorI2RlZmluZSBWRk1fQ09OMAkJICAJKFBNVV9CQVNFKzB4MDdmMCkKKyNkZWZpbmUgVk0xMl9DT04wCSAgCQkoUE1VX0JBU0UrMHgwODAwKQorCisvL0JVQ0sgZ3JvdXAKKyNkZWZpbmUgVkNPUkVfQ09OMCAJCQkoUE1VX0JBU0UrMHgwOTAwKQorI2RlZmluZSBWSU8xOF9DT04wIAkJCShQTVVfQkFTRSsweDA5MjApCisjZGVmaW5lIFZQUk9DX0NPTjAgCQkJKFBNVV9CQVNFKzB4MDk0MCkKKyNkZWZpbmUgVlJGMThfQ09OMAkgCQkoUE1VX0JBU0UrMHgwOTYwKQorI2RlZmluZSBWUEFfQ09OMAkJICAJKFBNVV9CQVNFKzB4MGIwMCkKKworLy9LUExFRAorI2RlZmluZSBLUExFRF9DT04wICAJCQkoUE1VX0JBU0UrMHgwYzgwKQorCisvL0NIUgorI2RlZmluZSBDSFJfQ09OMCAJCQkoUE1VX0JBU0UrMHgwYTAwKQorCisjZGVmaW5lIFBNVUFfQ09OMAkgIAkJKFBNVV9CQVNFKzB4MDY4MCkKKyNkZWZpbmUgT0NfQ09OMAkgIAkJCShQTVVfQkFTRSsweDBlMDApCisjZGVmaW5lIExQT1NDX0NPTjAgCSAJCShQTVVfQkFTRSsweDAxMDApCisjZGVmaW5lIFNUUlVQX0NPTjAgICAJCShQTVVfQkFTRSsweDAyMDApCisKKworI2VuZGlmIC8vI2lmIGRlZmluZWQoUE1JQ182Mjc2X1JFR19BUEkpCisKKyNlbmRpZiAvLyNpZm5kZWYgX19EQ0xfUE1VNjI3Nl9IV19IX1NUUlVDVF9fCisKZGlmZiAtLWdpdCBhL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvZGNsX3BtdTYyNzZfc3cuaCBiL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvZGNsX3BtdTYyNzZfc3cuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZjU5ZGRmCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9kY2xfcG11NjI3Nl9zdy5oCkBAIC0wLDAgKzEsMjUxIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMDUKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4gCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRmlsZW5hbWU6CisgKiAtLS0tLS0tLS0KKyAqICAgIGRjbF9wbXU2Mjc2X3N3LmgKKyAqCisgKiBQcm9qZWN0OgorICogLS0tLS0tLS0KKyAqICAgTWF1aV9Tb2Z0d2FyZQorICoKKyAqIERlc2NyaXB0aW9uOgorICogLS0tLS0tLS0tLS0tCisgKiAgIFRoaXMgZmlsZSBpcyBmb3IgUE1VNjI3NgorICoKKyAqIEF1dGhvcjoKKyAqIC0tLS0tLS0KKyAqIC0tLS0tLS0KKyAqCisgKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqICAgICAgICAgICAgIEhJU1RPUlkKKyAqIEJlbG93IHRoaXMgbGluZSwgdGhpcyBwYXJ0IGlzIGNvbnRyb2xsZWQgYnkgUFZDUyBWTS4gRE8gTk9UIE1PRElGWSEhCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICoKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiBVcHBlciB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworCisjaWZuZGVmIF9fRENMX1BNVTYyNzZfU1dfSF9TVFJVQ1RfXworI2RlZmluZSBfX0RDTF9QTVU2Mjc2X1NXX0hfU1RSVUNUX18KKworI2luY2x1ZGUgImRjbF9wbWljX2ZlYXR1cmVzLmgiCisKKyNpZiBkZWZpbmVkKFBNSUNfNjI3Nl9SRUdfQVBJKQorCisvKiBDaGFyZ2VyIGV4dGVybmFsIGludGVycnVwdCBpcyBmaXhlZC4gKi8KKyNkZWZpbmUgUE1VX0NIUl9FSU5UX1BJTiAgICAgIDI5CisKKworLyogYWRjIG51bWJlciBmb3IgbWVhc3VyaW5nIFZCQVQvVklTRU5TRS9WQ0hBUkdFUiBpcyBmaXhlZCBpbnRlcm5hbGx5LiAqLworCisjZGVmaW5lIFBNVV9BRENfVkJBVF9DSF9OVU0gICAgICAwCisjZGVmaW5lIFBNVV9BRENfVklTRU5TRV9DSF9OVU0gICAxCisjZGVmaW5lIFBNVV9BRENfVkNIQVJHRVJfQ0hfTlVNICAyCisKKworLyogYWRjIGZhY3RvciBmb3IgVkJBVC9WSVNFTlNFL1ZDSEFSR0VSICovCisjZGVmaW5lIFBNVV9BRENfRkFDVE9SX1ZCQVQgICAgICAxMDAKKyNkZWZpbmUgUE1VX0FEQ19GQUNUT1JfVklTRU5TRSAgIDEwMAorI2lmIGRlZmluZWQoTVQ2Mjc2X1MwMCkKKyNkZWZpbmUgUE1VX0FEQ19GQUNUT1JfVkNIQVJHRVIgIDM0NCAgLy8gKDM1MS81MSAqIDUwKQorI2VuZGlmIC8vI2lmIGRlZmluZWQoTVQ2Mjc2X1MwMCkKKyNpZiBkZWZpbmVkKE1UNjI3Nl9TMDEpCisjZGVmaW5lIFBNVV9BRENfRkFDVE9SX1ZDSEFSR0VSICA0NzMgIC8vICgzNjkvMzkgKiA1MCkKKyNlbmRpZiAvLyNpZiBkZWZpbmVkKE1UNjI3Nl9TMDEpCisKK3R5cGVkZWYgZW51bQoreworCVBNVV9WQTEyLAorCVBNVV9WUlRDLAorCVBNVV9WTUlDLAorCVBNVV9WQVVETiwKKwlQTVVfVkFVRFAsCisJUE1VX1ZSRjI4LAorCVBNVV9WVENYTywKKwlQTVVfVkEyNSwKKwlQTVVfVkNBTUEsCisJUE1VX1ZDQU1ELAorCVBNVV9WSU8yOCwKKwlQTVVfVlVTQiwKKwlQTVVfVkJULAorCVBNVV9WU0lNLAorCVBNVV9WU0lNMiwKKwlQTVVfVklCUiwKKwlQTVVfVk1DLAorCVBNVV9WQ0FNQTIsCisJUE1VX1ZDQU1EMiwKKwlQTVVfVkZNLAorCVBNVV9WTTEyLAorCVBNVV9WQ09SRSwKKwlQTVVfVklPMTgsCisJUE1VX1ZQUk9DLAorCVBNVV9WUkYxOCwKKwlQTVVfTERPX0JVQ0tfSU5URVJOQUxfTUFYCit9UE1VX0xET19CVUNLX0lOVEVSTkFMX0xJU1RfRU5VTTsKKworLyoKK3R5cGVkZWYgZW51bQoreworCVZBMTIsCisJVlJUQywKKwlWTUlDLAorCVZBVUROLAorCVZBVURQLAorCVZSRiwKKwlWVENYTywKKwlWQTI1LAorCVZDQU1BLAorCVZDQU1ELAorCVZJTywKKwlWVVNCLAorCVZCVCwKKwlWU0lNLAorCVZTSU0yLAorCVZJQlIsCisJVk1DLAorCVZDQU1BMiwKKwlWQ0FNRDIsCisJVkZNLAorCVZNMTIsCisJVkNPUkUsCisJVklPMTgsCisJVlBST0MsCisJVlJGMTgsCisJUE1VX0xET19CVUNLX01BWAorfVBNVV9MRE9fQlVDS19MSVNUX0VOVU07CisKK3R5cGVkZWYgZW51bQoreworCVZQQSwKKwlWUEExPVZQQSwKKwlQTVVfVlBBX01BWAorfVBNVV9WUEFfTElTVF9FTlVNOworCisKK3R5cGVkZWYgZW51bQoreworCUtQTEVELAorCVBNVV9LUExFRF9NQVgKK31QTVVfS1BMRURfTElTVF9FTlVNOworCit0eXBlZGVmIGVudW0KK3sKKwlDSFIsCisJUE1VX0NIUl9NQVgKK31QTVVfQ0hSX0xJU1RfRU5VTTsKKwordHlwZWRlZiBlbnVtCit7CisJUE1VX0lTSU5LX01BWAorfVBNVV9JU0lOS19MSVNUX0VOVU07CisKK3R5cGVkZWYgZW51bQoreworCVBNVV9CT09TVF9NQVgKK31QTVVfQk9PU1RfTElTVF9FTlVNOworCit0eXBlZGVmIGVudW0KK3sKKwlQTVVfU1BLX01BWAorfVBNVV9TUEtfTElTVF9FTlVNOworCit0eXBlZGVmIGVudW0KK3sKKwlMUE9TQywKKwlQTVVfTFBPU0NfTUFYCit9UE1VX0xQT1NDX0xJU1RfRU5VTTsKKworKi8KKworI2RlZmluZSBMRE9fR1JPVVAgKE9GRlNFTChCVUNLX0dST1VQKSkKKyNkZWZpbmUgQlVDS19HUk9VUCAoTShWQ09SRSl8TShWSU8xOCl8TShWUFJPQyl8TShWUkYxOCkpCisKKworI2lmIGRlZmluZWQoX19EUlZfVVBNVV9TSEFSRV9MRE9fXykKKy8vZnVuY3Rpb24grNvD9rNdqXcKKy8vbXVsdGkgdXNlcnMgc2hhcmUgdGhlIHNhbWUgTERPICwgZW5hYmxlIG11bHRpIHVzZXIgY2FwYWJpbGl0eQorI2RlZmluZSBMRE9fU0hBUkVfRU5fQklUTUFQIChNKFZDQU1BKSkKKyNkZWZpbmUgUE1VX01VTFRJVVNFUlNfSEFORExFX05PIDYgLy92Y2FtYSBjdHAgZm0KKyNlbmRpZiAvLyNpZiBkZWZpbmVkKF9fRFJWX1VQTVVfU0hBUkVfTERPX18pCisKKworI2RlZmluZSBMRE9fU0VUX1ZPTFRBR0VfQklUTUFQIChNKFZDQU1BKXxNKFZDQU1EKXxNKFZCVCl8TShWU0lNKXxNKFZTSU0yKXxNKFZJQlIpfE0oVk1DKXxNKFZDQU1BMil8TShWQ0FNRDIpKQorCisKKyNlbmRpZiAvLyNpZiBkZWZpbmVkKFBNSUNfNjI3Nl9SRUdfQVBJKQorCisjZW5kaWYgLy8jaWZuZGVmIF9fRENMX1BNVTYyNzZfU1dfSF9TVFJVQ1RfXworCmRpZmYgLS1naXQgYS9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL2RjbF9wbXU2NTczX2h3LmggYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL2RjbF9wbXU2NTczX2h3LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjA3OTNmMwotLS0gL2Rldi9udWxsCisrKyBiL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvZGNsX3BtdTY1NzNfaHcuaApAQCAtMCwwICsxLDMxIEBACisKKworCisjaWZuZGVmIF9fRENMX1BNVTY1NzNfSFdfSF9TVFJVQ1RfXworI2RlZmluZSBfX0RDTF9QTVU2NTczX0hXX0hfU1RSVUNUX18KKworI2lmIGRlZmluZWQoUE1JQ182NTczX1JFR19BUEkpCisKKworI2RlZmluZSBQTVVfQkFTRSAgICAgICAgTUlYX1BNVV9iYXNlCisjZGVmaW5lIFBNVV9FTkQgICAgICAgICAoUE1VX0JBU0UrMHgxMDAwKQorCisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisvLyBMRE8gZ3JvdXAKKyNkZWZpbmUgVlJGX0NPTjAgIAkJCShQTVVfQkFTRSsweDA3MDApCisjZGVmaW5lIFZUQ1hPX0NPTjAgIAkJCShQTVVfQkFTRSsweDA3MTApCisjZGVmaW5lIFZTSU1fQ09OMCAgCQkJKFBNVV9CQVNFKzB4MDc4MCkKKyNkZWZpbmUgVlNJTTJfQ09OMCAgCQkJKFBNVV9CQVNFKzB4MDc5MCkKKworLy9CVUNLIGdyb3VwCisjZGVmaW5lIFZSRjE4X0NPTjAJIAkJKFBNVV9CQVNFKzB4MDk2MCkKKyNkZWZpbmUgVlBBX0NPTjAJCSAgCShQTVVfQkFTRSsweDBiMDApCisKKworCisjZW5kaWYgLy8jaWYgZGVmaW5lZChQTUlDXzY1NzNfUkVHX0FQSSkKKworI2VuZGlmIC8vI2lmbmRlZiBfX0RDTF9QTVU2NTczX0hXX0hfU1RSVUNUX18KKworCisKZGlmZiAtLWdpdCBhL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvZGNsX3BtdTY1NzNfc3cuaCBiL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvZGNsX3BtdTY1NzNfc3cuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYzViY2JhCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9kY2xfcG11NjU3M19zdy5oCkBAIC0wLDAgKzEsMTcxIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMDUKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4gCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRmlsZW5hbWU6CisgKiAtLS0tLS0tLS0KKyAqICAgIGRjbF9wbXU2NTczX3N3LmgKKyAqCisgKiBQcm9qZWN0OgorICogLS0tLS0tLS0KKyAqICAgTWF1aV9Tb2Z0d2FyZQorICoKKyAqIERlc2NyaXB0aW9uOgorICogLS0tLS0tLS0tLS0tCisgKiAgIFRoaXMgZmlsZSBpcyBmb3IgUE1VIDY1NzMKKyAqCisgKiBBdXRob3I6CisgKiAtLS0tLS0tCisgKiAtLS0tLS0tCisgKgorICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKiAgICAgICAgICAgICBISVNUT1JZCisgKiBCZWxvdyB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKgorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIFVwcGVyIHRoaXMgbGluZSwgdGhpcyBwYXJ0IGlzIGNvbnRyb2xsZWQgYnkgUFZDUyBWTS4gRE8gTk9UIE1PRElGWSEhCisgKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisKKyNpZm5kZWYgX19EQ0xfUE1VNjU3M19TV19IX1NUUlVDVF9fCisjZGVmaW5lIF9fRENMX1BNVTY1NzNfU1dfSF9TVFJVQ1RfXworCisjaW5jbHVkZSAiZGNsX3BtaWNfZmVhdHVyZXMuaCIKKworI2lmIGRlZmluZWQoUE1JQ182NTczX1JFR19BUEkpCisKKy8qIENoYXJnZXIgZXh0ZXJuYWwgaW50ZXJydXB0IGlzIGZpeGVkLiAqLworI2RlZmluZSBQTVVfQ0hSX0VJTlRfUElOICAgICAgMjkKKworCisvKiBhZGMgbnVtYmVyIGZvciBtZWFzdXJpbmcgVkJBVC9WSVNFTlNFL1ZDSEFSR0VSIGlzIGZpeGVkIGludGVybmFsbHkuICovCisKKyNkZWZpbmUgUE1VX0FEQ19WQkFUX0NIX05VTSAgICAgIDAKKyNkZWZpbmUgUE1VX0FEQ19WSVNFTlNFX0NIX05VTSAgIDEKKyNkZWZpbmUgUE1VX0FEQ19WQ0hBUkdFUl9DSF9OVU0gIDIKKworCisvKiBhZGMgZmFjdG9yIGZvciBWQkFUL1ZJU0VOU0UvVkNIQVJHRVIgKi8KKyNkZWZpbmUgUE1VX0FEQ19GQUNUT1JfVkJBVCAgICAgIDEwMAorI2RlZmluZSBQTVVfQURDX0ZBQ1RPUl9WSVNFTlNFICAgMTAwCisjZGVmaW5lIFBNVV9BRENfRkFDVE9SX1ZDSEFSR0VSICAyOTQgIC8vIDMwMC81MSAqIDUwCisKKy8qCit0eXBlZGVmIGVudW0KK3sKKwlWVENYTywKKwlWUkYsCisJVlNJTSwKKwlWU0lNMiwKKwlWUkYxOCwKKwlQTVVfTERPX0JVQ0tfTUFYLAorICAgICAgICBDSFIsCisgICAgICAgIFZNQywKKyAgICAgICAgVkZNLAorICAgICAgICBWQ0FNQSwKKyAgICAgICAgVkNBTUQsCisgICAgICAgIFZJQlIKK31QTVVfTERPX0JVQ0tfTElTVF9FTlVNOworCit0eXBlZGVmIGVudW0KK3sKKwlWUEExLAorCVBNVV9WUEFfTUFYCit9UE1VX1ZQQV9MSVNUX0VOVU07CisKKwordHlwZWRlZiBlbnVtCit7CisJUE1VX0tQTEVEX01BWAorfVBNVV9LUExFRF9MSVNUX0VOVU07CisKK3R5cGVkZWYgZW51bQoreworCVBNVV9DSFJfTUFYCit9UE1VX0NIUl9MSVNUX0VOVU07CisKK3R5cGVkZWYgZW51bQoreworCVBNVV9JU0lOS19NQVgKK31QTVVfSVNJTktfTElTVF9FTlVNOworCit0eXBlZGVmIGVudW0KK3sKKwlQTVVfQk9PU1RfTUFYCit9UE1VX0JPT1NUX0xJU1RfRU5VTTsKKwordHlwZWRlZiBlbnVtCit7CisJUE1VX1NQS19NQVgKK31QTVVfU1BLX0xJU1RfRU5VTTsKKworKi8KKworI2VuZGlmIC8vI2lmIGRlZmluZWQoUE1JQ182NTczX1JFR19BUEkpCisKKyNlbmRpZiAvLyNpZm5kZWYgX19EQ0xfUE1VNjU3M19TV19IX1NUUlVDVF9fCisKKwpkaWZmIC0tZ2l0IGEvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9kY2xfcG11X2NvbW1vbl9zdy5oIGIvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9kY2xfcG11X2NvbW1vbl9zdy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZmMTY2YmYKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL2RjbF9wbXVfY29tbW9uX3N3LmgKQEAgLTAsMCArMSw1MzMgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAwNQorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLiAKKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGaWxlbmFtZToKKyAqIC0tLS0tLS0tLQorICogICAgZGNsX3BtdV9jb21tb25fc3cuaAorICoKKyAqIFByb2plY3Q6CisgKiAtLS0tLS0tLQorICogICBNYXVpX1NvZnR3YXJlCisgKgorICogRGVzY3JpcHRpb246CisgKiAtLS0tLS0tLS0tLS0KKyAqICAgVGhpcyBmaWxlIGlzIGZvciBQTVUgY29tbW9uIGZ1bmN0aW9uCisgKgorICogQXV0aG9yOgorICogLS0tLS0tLQorICogLS0tLS0tLQorICoKKyAqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICogICAgICAgICAgICAgSElTVE9SWQorICogQmVsb3cgdGhpcyBsaW5lLCB0aGlzIHBhcnQgaXMgY29udHJvbGxlZCBieSBQVkNTIFZNLiBETyBOT1QgTU9ESUZZISEKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICoKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiBVcHBlciB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworCisjaWZuZGVmIF9fRENMX1BNVV9DT01NT05fU1dfSF9fCisjZGVmaW5lIF9fRENMX1BNVV9DT01NT05fU1dfSF9fCisKKyNpbmNsdWRlICJkY2wuaCIKKworI2lmbmRlZiBfX0RSVl9ERUJVR19QTVVfUkVHX1JFQURfV1JJVEVfXworI2RlZmluZSBQTVVfRFJWX0NsZWFyQml0czE2KGFkZHIsIGRhdGEpICAgICAgICAgICAgIERSVl9DbGVhckJpdHMoYWRkcixkYXRhKQorI2RlZmluZSBQTVVfRFJWX1NldEJpdHMxNihhZGRyLCBkYXRhKSAgICAgICAgICAgICAgIERSVl9TZXRCaXRzKGFkZHIsZGF0YSkKKyNkZWZpbmUgUE1VX0RSVl9Xcml0ZVJlZzE2KGFkZHIsIGRhdGEpICAgICAgICAgICAgICBEUlZfV3JpdGVSZWcoYWRkciwgZGF0YSkKKyNkZWZpbmUgUE1VX0RSVl9SZWFkUmVnMTYoYWRkcikgICAgICAgICAgICAgICAgICAgICBEUlZfUmVnKGFkZHIpCisjZGVmaW5lIFBNVV9EUlZfUmVhZFJlZzMyKGFkZHIpICAgICAgICAgICAgICAgICAgICAgRFJWX1JlZzMyKGFkZHIpCisjZGVmaW5lIFBNVV9EUlZfU2V0RGF0YTE2KGFkZHIsIGJpdG1hc2ssIHZhbHVlKSAgICAgRFJWX1NldERhdGEoYWRkciwgYml0bWFzaywgdmFsdWUpCisjZWxzZSAvLyAjaWZuZGVmIF9fRFJWX0RFQlVHX1BNVV9SRUdfUkVBRF9XUklURV9fCisjZGVmaW5lIFBNVV9EUlZfQ2xlYXJCaXRzMTYoYWRkcixkYXRhKSAgICAgICAgICAgICAgRFJWX0RCR19DbGVhckJpdHMoYWRkcixkYXRhKQorI2RlZmluZSBQTVVfRFJWX1NldEJpdHMxNihhZGRyLCBkYXRhKSAgICAgICAgICAgICAgIERSVl9EQkdfU2V0Qml0cyhhZGRyLCBkYXRhKQorI2RlZmluZSBQTVVfRFJWX1dyaXRlUmVnMTYoYWRkciwgZGF0YSkgICAgICAgICAgICAgIERSVl9EQkdfV3JpdGVSZWcoYWRkciwgZGF0YSkKKyNkZWZpbmUgUE1VX0RSVl9SZWFkUmVnMTYoYWRkcikgICAgICAgICAgICAgICAgICAgICBEUlZfREJHX1JlZyhhZGRyKQorI2RlZmluZSBQTVVfRFJWX1JlYWRSZWczMihhZGRyKSAgICAgICAgICAgICAgICAgICAgIERSVl9EQkdfUmVnMzIoYWRkcikKKyNkZWZpbmUgUE1VX0RSVl9TZXREYXRhMTYoYWRkciwgYml0bWFzaywgdmFsdWUpICAgICBEUlZfREJHX1NldERhdGEoYWRkciwgYml0bWFzaywgdmFsdWUpCisjZW5kaWYgLy8gI2lmbmRlZiBfX0RSVl9ERUJVR19QTVVfUkVHX1JFQURfV1JJVEVfXworCisjZGVmaW5lIFBNVV9TYXZlQW5kU2V0SVJRTWFzaygpICAgIFNhdmVBbmRTZXRJUlFNYXNrKCkKKyNkZWZpbmUgUE1VX1Jlc3RvcmVJUlFNYXNrKG4pICAgICAgUmVzdG9yZUlSUU1hc2sobikKKworI2RlZmluZSBNKG1vZCkgKCgoRENMX1VJTlQ2NCkxKTw8bW9kKQorI2RlZmluZSBOTShtb2QpICAofigoKERDTF9VSU5UNjQpMSk8PG1vZCkpCisjZGVmaW5lIE9OU0VMKG1vZGxpc3QpIChtb2RsaXN0KQorI2RlZmluZSBPRkZTRUwobW9kbGlzdCkgKH4obW9kbGlzdCkpCisKKworI2RlZmluZSBJU0xETyhtb2QpICgoTShtb2QpJkxET19HUk9VUCk+MCkKKworLy8gbW9kdWxlIGNvbnRyb2wKKyNkZWZpbmUgUE1VX1VOU1VQUE9SVF9NT0QgMHgwMAorCisvLyBQQVJBTUVURVIgY29udHJvbAorI2RlZmluZSBQQVJBTUVURVJWQUxfVU5LTk9XTiAweGZmZmZmZmZmCisjZGVmaW5lIFBBUkFNRVRFUl9VTktOT1dOIDB4ZmZmZgorCisjZGVmaW5lIEFMTE1PRAkweGZmCisjZGVmaW5lIE1PRE1BU0sgQUxMTU9ECisjZGVmaW5lIENNRE1BU0sgMHhmZmZmMDAKKyNkZWZpbmUgRU5DKGNtZCxtb2QpICgoKGNtZDw8OCkrbW9kKSkKKyNkZWZpbmUgR0VUQVJSTlVNKGFycmF5KSAoc2l6ZW9mKGFycmF5KS9zaXplb2YoYXJyYXlbMF0pKQorI2RlZmluZSBHRU5GVU4oZnVuKSBmdW4sR0VUQVJSTlVNKGZ1bikKKworI2RlZmluZSBHRVRMRE9JRFgobW9kKSAocG11TW9kdG9JZHhbbW9kXSkKKyNkZWZpbmUgR0VUQlVDS0lEWChtb2QpIChwbXVNb2R0b0lkeFttb2RdKQorCisjZGVmaW5lIFBNVV9TYXZlQW5kU2V0SVJRTWFzaygpICAgIFNhdmVBbmRTZXRJUlFNYXNrKCkKKyNkZWZpbmUgUE1VX1Jlc3RvcmVJUlFNYXNrKG4pICAgICAgUmVzdG9yZUlSUU1hc2sobikKKwordHlwZWRlZiB2b2lkICAgIERDTF9WT0lEOworCit0eXBlZGVmIHN0cnVjdAoreworCURDTF9VSU5UMzIgY21kOworCWNvbnN0IERDTF9WT0lEICpwVmFsczsKKwljb25zdCBEQ0xfVk9JRCAgKnBSZWdWYWxzOworCURDTF9VSU5UOCBzaXplOworfVBNVV9QQVJBTUVURVJfVEFCTEVfRU5UUlk7CisKK3R5cGVkZWYgc3RydWN0Cit7CisJRENMX1VJTlQzMiBtb2RpZHg7CisJRENMX1VJTlQzMglhZGRyOworCURDTF9VSU5UMzIJdXNhZ2VCaXRNYXA7Cit9UE1VX01PRF9CQVNFQUREUl9FTlRSWTsKKworCit0eXBlZGVmIHN0cnVjdAoreworCURDTF9VSU5UOCBmbGFnbmFtZTsKKwlEQ0xfVUlOVDggb2Zmc2V0OworCURDTF9VSU5UMTYgbWFzazsKKwlEQ0xfVUlOVDggc2hpZnQ7CQorfVBNVV9GTEFHX1RBQkxFX0VOVFJZOworCisKKyNpZiBkZWZpbmVkKF9fRFJWX1VQTVVfQk9PU1RfVjFfXykKK3R5cGVkZWYgZW51bQoreworCUJPT1NUX1RZUEVfVk9MVEFHRV9DT05UUk9MTEVSID0gMCwKKwlCT09TVF9UWVBFX0NVUlJFTlRfQ09OVkVSVEVSCit9dXBtdV9ib29zdF90eXBlX2VudW07CisKK3R5cGVkZWYgZW51bQoreworCUJPT1NUX1BXTV9NT0RFID0gMCwKKwlCT09TVF9SRUdJU1RFUl9DVFJMX01PREUgPSAxCit9dXBtdV9ib29zdF9tb2RlX2VudW07CisKK3R5cGVkZWYgZW51bQoreworCUJPT1NUX09DX1RIRF80X0RJVklERURfQllfOCA9IDAsCisJQk9PU1RfT0NfVEhEXzNfRElWSURFRF9CWV84ID0gMSwKKwlCT09TVF9PQ19USERfMl9ESVZJREVEX0JZXzggPSAyLAorCUJPT1NUX09DX1RIRF8xX0RJVklERURfQllfOCA9IDMKK311cG11X2Jvb3N0X29jX3RoZF9lbnVtOworCit0eXBlZGVmIGVudW0KK3sKKwlCT09TVF9PQ19XTkRfOF9VUyA9IDAsCisJQk9PU1RfT0NfV05EXzE2X1VTID0gMSwKKwlCT09TVF9PQ19XTkRfMzJfVVMgPSAyLAorCUJPT1NUX09DX1dORF82NF9VUyA9IDMKK311cG11X2Jvb3N0X29jX3duZF9lbnVtOworCit0eXBlZGVmIGVudW0KK3sKKwlCT09TVF9IV19TRUxfSVNJTksgPSAwLAorCUJPT1NUX0hXX1NFTF9CT09TVAorfXVwbXVfYm9vc3RfaHdfc2VsX2VudW07CisKKworI2VuZGlmIC8vICNpZiBkZWZpbmVkKF9fRFJWX1VQTVVfQk9PU1RfVjFfXykKKworCisjaWYgZGVmaW5lZChfX0RSVl9VUE1VX0JDMTFfVjFfXykKK3R5cGVkZWYgZW51bQoreworCUNPTVBfVlRIXzAwXzMyNTAwMCA9IDAsCisJQ09NUF9WVEhfMDFfMjAwMDAwID0gMQorfVBNVV9DVFJMX0JDMTFfQ09NUF9WVEhfRU5VTTsKKwordHlwZWRlZiBlbnVtCit7CisJQ09NUF9ESVNBQkxFID0gMCwKKwlDT01QX0VOX09OX0RNID0gMSwKKwlDT01QX0VOX09OX0RQID0gMgorfVBNVV9DVFJMX0JDMTFfQ09NUF9FTl9FTlVNOworCit0eXBlZGVmIGVudW0KK3sKKwlJUERfRElTQUJMRSA9IDAsCisJSVBEX0VOX09OX0RNID0gMSwKKwlJUERfRU5fT05fRFAgPSAyCit9UE1VX0NUUkxfQkMxMV9JUERfRU5fRU5VTTsKKwordHlwZWRlZiBlbnVtCit7CisJVlNSQ19ESVNBQkxFID0gMCwKKwlWU1JDX0VOX09OX0RNID0gMSwKKwlWU1JDX0VOX09OX0RQID0gMiwKKwlWU1JDX0VOX09OX0RQRE0gPSAzCit9UE1VX0NUUkxfQkMxMV9WU1JDX0VOX0VOVU07CisKKwordHlwZWRlZiBlbnVtCit7CisJSVBVX0RJU0FCTEUgPSAwLAorCUlQVV9FTl9PTl9ETSA9IDEsCisJSVBVX0VOX09OX0RQID0gMgorfVBNVV9DVFJMX0JDMTFfSVBVX0VOX0VOVU07CisjZW5kaWYgLy8jaWYgZGVmaW5lZChfX0RSVl9VUE1VX0JDMTFfVjFfXykKKworCisKK0RDTF9VSU5UMTYgUE1VX2dldF9QYXJhbWV0ZXJfSWR4KERDTF9DVFJMX0NNRCBjbWQpOworRENMX1VJTlQxNiBQTVVfUGFyYW1ldGVyX3RvX1ZhbHVlKERDTF9DVFJMX0NNRCBjbWQsRENMX1VJTlQzMiB2YWwpOworRENMX1VJTlQzMiBQTVVfVmFsdWVfdG9fUGFyYW1ldGVyKERDTF9DVFJMX0NNRCBjbWQsRENMX1VJTlQzMiB2YWwpOwordm9pZCBQTVVfU2V0RGF0YTE2KERDTF9VSU5UMzIgQWRkcixEQ0xfVUlOVDE2IG1hc2ssRENMX1VJTlQxNiB2YWwpOworCisjaWYgZGVmaW5lZChQTUlDX1NMSU1fVjMpCitEQ0xfU1RBVFVTIHBtdV9zZXRfcmVnaXN0ZXJfdmFsdWUoRENMX1VJTlQzMiBhZGRyZXNzLFBNVV9GTEFHU19MSVNUX0VOVU0gZmxhZ25hbWUsRENMX1VJTlQzMiB2YWwpOworRENMX1VJTlQxNiBwbXVfZ2V0X3JlZ2lzdGVyX3ZhbHVlKERDTF9VSU5UMzIgYWRkcmVzcyxQTVVfRkxBR1NfTElTVF9FTlVNIGZsYWduYW1lKTsKKyNlbmRpZiAvLyNpZiBkZWZpbmVkKFBNSUNfU0xJTV9WMykKKworI2lmIGRlZmluZWQoX19EUlZfVVBNVV9TSEFSRV9MRE9fXykKK0RDTF9CT09MIGxkb1NoYXJlX2ZyZWVfaWR4KERDTF9IQU5ETEUgaGFuZGxlKTsKK0RDTF9VSU5UMTYgbGRvU2hhcmVfZ2V0X2lkeChEQ0xfSEFORExFIGhhbmRsZSk7Cit2b2lkIGxkb1NoYXJlX3NldF9iaXRtYXAoRENMX1VJTlQxNiBpZHgsRENMX0hBTkRMRSBoYW5kbGUsUE1VX0xET19CVUNLX0xJU1RfRU5VTSBsZG8sRENMX0JPT0wgZW5hYmxlKTsKK0RDTF9TVEFUVVMgbGRvU2hhcmVfc2V0X2VuYWJsZShEQ0xfSEFORExFIGhhbmRsZSxQTVVfTERPX0JVQ0tfTElTVF9FTlVNIGxkbywgRENMX0JPT0wgZW5hYmxlKTsKKyNlbmRpZiAvLyNpZiBkZWZpbmVkKF9fRFJWX1VQTVVfU0hBUkVfTERPX18pCisKKworI2lmIGRlZmluZWQoX19EUlZfVVBNVV9MUE9TQ19WMV9fKQorLy8gTFBPU0MgCit2b2lkIGxwb3NjX3NldF9lbmFibGUoUE1VX0xQT1NDX0xJU1RfRU5VTSBscG9zYyxEQ0xfQk9PTCBlbmFibGUpOwordm9pZCBscG9zY19zZXRfYnVja2Jvb3N0X2VuYWJsZShQTVVfTFBPU0NfTElTVF9FTlVNIGxwb3NjLERDTF9CT09MIGVuYWJsZSk7Cit2b2lkIGxwb3NjX3NldF9hY2FsaV9lbmFibGUoUE1VX0xQT1NDX0xJU1RfRU5VTSBscG9zYyxEQ0xfQk9PTCBlbmFibGUpOwordm9pZCBscG9zY19zZXRfZnJlcV9zZXQoUE1VX0xQT1NDX0xJU1RfRU5VTSBscG9zYyxEQ0xfVUlOVDggdmFsKTsKK3ZvaWQgbHBvc2Nfc2V0X2ZyZXEoUE1VX0xQT1NDX0xJU1RfRU5VTSBscG9zYyxEQ0xfVUlOVDE2IHZhbCk7Cit2b2lkIGxwb3NjX3NldF9idWNrX2ZyZXEoUE1VX0xQT1NDX0xJU1RfRU5VTSBscG9zYyxEQ0xfVUlOVDE2IHZhbCk7CisvLyBMUE9TQyBDT04yCit2b2lkIGxwb3NjX3NldF9mZF9yZXMoUE1VX0xQT1NDX0xJU1RfRU5VTSBscG9zYyxEQ0xfVUlOVDggdmFsKTsKK3ZvaWQgbHBvc2Nfc2V0X3NzY19lbmFibGUoUE1VX0xQT1NDX0xJU1RfRU5VTSBscG9zYyxEQ0xfQk9PTCBlbmFibGUpOwordm9pZCBscG9zY19zZXRfc3NjX21vZF9hbXAoUE1VX0xQT1NDX0xJU1RfRU5VTSBscG9zYyxEQ0xfVUlOVDggdmFsKTsKK3ZvaWQgbHBvc2Nfc2V0X3NzY19jb2RlX2R1cihQTVVfTFBPU0NfTElTVF9FTlVNIGxwb3NjLERDTF9VSU5UOCB2YWwpOwordm9pZCBscG9zY19zZXRfcGdfZW5hYmxlKFBNVV9MUE9TQ19MSVNUX0VOVU0gbHBvc2MsRENMX0JPT0wgZW5hYmxlKTsKK3ZvaWQgbHBvc2Nfc2V0X3N3X21vZGVfZW5hYmxlKFBNVV9MUE9TQ19MSVNUX0VOVU0gbHBvc2MsRENMX0JPT0wgZW5hYmxlKTsKKyNlbmRpZiAvLyNpZiBkZWZpbmVkKF9fRFJWX1VQTVVfTFBPU0NfVjFfXykKKworCisjaWYgZGVmaW5lZChfX0RSVl9VUE1VX0xET19WMV9fKQorCit2b2lkIGluaXRMZG9CdWNrTWFwcGluZyh2b2lkKTsKKy8vIExETyBDT04wCitEQ0xfU1RBVFVTIGxkb19zZXRfZW5hYmxlKFBNVV9MRE9fQlVDS19MSVNUX0VOVU0gbGRvLCBEQ0xfQk9PTCBlbmFibGUpOworRENMX1NUQVRVUyBsZG9fc2V0X3ZvbHRhZ2UoUE1VX0xET19CVUNLX0xJU1RfRU5VTSBsZG8sIERDTF9VSU5UMzIgdm9sKTsKK3ZvaWQgbGRvX3NldF9vY19hdXRvX29mZihQTVVfTERPX0JVQ0tfTElTVF9FTlVNIGxkbywgRENMX0JPT0wgYXV0b19vZmYpOwordm9pZCBsZG9fc2V0X3N0Yl9lbmFibGUoUE1VX0xET19CVUNLX0xJU1RfRU5VTSBsZG8sIERDTF9CT09MIGVuYWJsZSk7Cit2b2lkIGxkb19zZXRfb25fc2VsKFBNVV9MRE9fQlVDS19MSVNUX0VOVU0gbGRvLCBQTVVfT05fU0VMX0VOVU0gc2VsKTsKK3ZvaWQgbGRvX3NldF9vY2ZiX2VuYWJsZShQTVVfTERPX0JVQ0tfTElTVF9FTlVNIGxkbywgRENMX0JPT0wgZW5hYmxlKTsKK3ZvaWQgbGRvX3NldF9uZGlzX2VuYWJsZShQTVVfTERPX0JVQ0tfTElTVF9FTlVNIGxkbywgRENMX0JPT0wgZW5hYmxlKTsKKy8vTERPIENPTjEKK3ZvaWQgbGRvX3NldF92b2x0YWdlX2NhbGlicmF0aW9uX2NvZGUoUE1VX0xET19CVUNLX0xJU1RfRU5VTSBsZG8sIERDTF9VSU5UMzIgdmFsKTsKK3ZvaWQgbGRvX3NldF9jdXJyZW50X2xpbWl0KFBNVV9MRE9fQlVDS19MSVNUX0VOVU0gbGRvLCBEQ0xfVUlOVDMyIHZhbCk7CisvLyBMRE8gQ09OMgordm9pZCBsZG9fc2V0X29jX3RkKFBNVV9MRE9fQlVDS19MSVNUX0VOVU0gbGRvLCBEQ0xfVUlOVDMyIHNlbCk7Cit2b2lkIGxkb19zZXRfc3RiX3RkKFBNVV9MRE9fQlVDS19MSVNUX0VOVU0gbGRvLCBEQ0xfVUlOVDMyIHNlbCk7Cit2b2lkIGxkb19zZXRfY3RybF9zZWwoUE1VX0xET19CVUNLX0xJU1RfRU5VTSBsZG8sIFBNVV9DVFJMX0xET19DVFJMX01PREVfRU5VTSBzZWwpOwordm9pZCBsZG9fc2V0X3NpbV9ncGlvX2VuKFBNVV9MRE9fQlVDS19MSVNUX0VOVU0gbGRvLCBEQ0xfQk9PTCBlbmFibGUpOwordm9pZCBsZG9fc2V0X3NpbWlvX2RydihQTVVfTERPX0JVQ0tfTElTVF9FTlVNIGxkbywgRENMX1VJTlQ4IHZhbCk7Cit2b2lkIGxkb19zZXRfYmlhcyhQTVVfTERPX0JVQ0tfTElTVF9FTlVNIGxkbywgRENMX1VJTlQ4IHZhbCk7Cit2b2lkIGxkb19zZXRfc3JuKFBNVV9MRE9fQlVDS19MSVNUX0VOVU0gbGRvLCBEQ0xfVUlOVDggdmFsKTsKK3ZvaWQgbGRvX3NldF9zcnAoUE1VX0xET19CVUNLX0xJU1RfRU5VTSBsZG8sIERDTF9VSU5UOCB2YWwpOworCisjZW5kaWYgLy8jaWYgZGVmaW5lZChfX0RSVl9VUE1VX0xET19WMV9fKQorCisKKworI2lmIGRlZmluZWQoX19EUlZfVVBNVV9CVUNLX1YxX18pCisvLyBCVUNLIENPTjAKK0RDTF9TVEFUVVMgYnVja19zZXRfZW5hYmxlKFBNVV9MRE9fQlVDS19MSVNUX0VOVU0gYnVjaywgRENMX0JPT0wgZW5hYmxlKTsKK0RDTF9TVEFUVVMgYnVja19zZXRfdm9sdGFnZShQTVVfTERPX0JVQ0tfTElTVF9FTlVNIGJ1Y2ssIERDTF9VSU5UMzIgdm9sKTsKK3ZvaWQgYnVja19zZXRfb25fc2VsKFBNVV9MRE9fQlVDS19MSVNUX0VOVU0gYnVjaywgUE1VX09OX1NFTF9FTlVNIHNlbCk7Cit2b2lkIGJ1Y2tfc2V0X3JzKFBNVV9MRE9fQlVDS19MSVNUX0VOVU0gYnVjaywgRENMX1VJTlQzMiBzZWwpOwordm9pZCBidWNrX3NldF9vY19hdXRvX29mZihQTVVfTERPX0JVQ0tfTElTVF9FTlVNIGJ1Y2ssIERDTF9CT09MIGF1dG9fb2ZmKTsKK3ZvaWQgYnVja19zZXRfZGlzX2FudGl1bnNoKFBNVV9MRE9fQlVDS19MSVNUX0VOVU0gYnVjaywgRENMX0JPT0wgb2ZmKTsKKy8vQlVDSyBDT04zCit2b2lkIGJ1Y2tfc2V0X2ljYWwoUE1VX0xET19CVUNLX0xJU1RfRU5VTSBidWNrLCBEQ0xfVUlOVDMyIHZhbCk7Cit2b2lkIGJ1Y2tfc2V0X29jX3RkKFBNVV9MRE9fQlVDS19MSVNUX0VOVU0gYnVjaywgRENMX1VJTlQzMiB2YWwpOwordm9pZCBidWNrX3NldF9zdGJfdGQoUE1VX0xET19CVUNLX0xJU1RfRU5VTSBidWNrLCBEQ0xfVUlOVDMyIHZhbCk7CisvL0JVQ0sgQ09ONQorRENMX1NUQVRVUyBidWNrX3NldF9zbGVlcF92b2x0YWdlKFBNVV9MRE9fQlVDS19MSVNUX0VOVU0gYnVjaywgRENMX1VJTlQzMiB2b2wpOwordm9pZCBidWNrX3NldF9idXJzdF90aHJlc2hvbGQoUE1VX0xET19CVUNLX0xJU1RfRU5VTSBidWNrLCBEQ0xfVUlOVDMyIHRocmVzaG9sZCk7Cit2b2lkIGJ1Y2tfc2V0X2N1cnJlbnRfbGltaXQoUE1VX0xET19CVUNLX0xJU1RfRU5VTSBidWNrLCBEQ0xfVUlOVDMyIHZhbCk7Cit2b2lkIGJ1Y2tfc2V0X29jZmJfZW5hYmxlKFBNVV9MRE9fQlVDS19MSVNUX0VOVU0gYnVjaywgRENMX1VJTlQzMiB2YWwpOwordm9pZCBidWNrX3NldF9hZGpja3NlbChQTVVfTERPX0JVQ0tfTElTVF9FTlVNIGJ1Y2ssIERDTF9VSU5UOCB2YWwpOwordm9pZCBidWNrX3NldF9yenNlbChQTVVfTERPX0JVQ0tfTElTVF9FTlVNIGJ1Y2ssIERDTF9VSU5UOCB2YWwpOwordm9pZCBidWNrX3NldF9jc3IoUE1VX0xET19CVUNLX0xJU1RfRU5VTSBidWNrLCBEQ0xfVUlOVDggdmFsKTsKK3ZvaWQgYnVja19zZXRfY2tzX3ByZyhQTVVfTERPX0JVQ0tfTElTVF9FTlVNIGJ1Y2ssIERDTF9VSU5UOCB2YWwpOwordm9pZCBidWNrX3NldF9nbXNlbChQTVVfTERPX0JVQ0tfTElTVF9FTlVNIGJ1Y2ssIERDTF9VSU5UOCB2YWwpOwordm9pZCBidWNrX3NldF96eF9wZG4oUE1VX0xET19CVUNLX0xJU1RfRU5VTSBidWNrLCBEQ0xfVUlOVDggdmFsKTsKKyNlbmRpZiAvLyNpZiBkZWZpbmVkKF9fRFJWX1VQTVVfQlVDS19fKQorCisjaWYgZGVmaW5lZChfX0RSVl9VUE1VX1ZQQV9WMV9fKQordm9pZCB2cGFfc2V0X2VuYWJsZShQTVVfVlBBX0xJU1RfRU5VTSB2cGEsRENMX0JPT0wgZW5hYmxlKTsKK3ZvaWQgdnBhX3NldF9hbnRpcmluZ19lbmFibGUoUE1VX1ZQQV9MSVNUX0VOVU0gdnBhLERDTF9CT09MIGVuYWJsZSk7Cit2b2lkIHZwYV9zZXRfcmMoUE1VX1ZQQV9MSVNUX0VOVU0gdnBhLERDTF9CT09MIHZhbCk7CisvL1ZQQSBDT04yCit2b2lkIHZwYV9zZXRfdm90dW5lMChQTVVfVlBBX0xJU1RfRU5VTSB2cGEsIERDTF9VSU5UMzIgdm9sdGFnZSk7Cit2b2lkIHZwYV9zZXRfdm90dW5lMShQTVVfVlBBX0xJU1RfRU5VTSB2cGEsIERDTF9VSU5UMzIgdm9sdGFnZSk7CisvL1ZQQSBDT04zCit2b2lkIHZwYV9zZXRfdm90dW5lMihQTVVfVlBBX0xJU1RfRU5VTSB2cGEsIERDTF9VSU5UMzIgdm9sdGFnZSk7Cit2b2lkIHZwYV9zZXRfdm90dW5lMyhQTVVfVlBBX0xJU1RfRU5VTSB2cGEsIERDTF9VSU5UMzIgdm9sdGFnZSk7CisvL1ZQQSBDT040Cit2b2lkIHZwYV9zZXRfdm90dW5lNChQTVVfVlBBX0xJU1RfRU5VTSB2cGEsIERDTF9VSU5UMzIgdm9sdGFnZSk7Cit2b2lkIHZwYV9zZXRfdm90dW5lNShQTVVfVlBBX0xJU1RfRU5VTSB2cGEsIERDTF9VSU5UMzIgdm9sdGFnZSk7CisvL1ZQQSBDT041Cit2b2lkIHZwYV9zZXRfdm90dW5lNihQTVVfVlBBX0xJU1RfRU5VTSB2cGEsIERDTF9VSU5UMzIgdm9sdGFnZSk7Cit2b2lkIHZwYV9zZXRfdm90dW5lNyhQTVVfVlBBX0xJU1RfRU5VTSB2cGEsIERDTF9VSU5UMzIgdm9sdGFnZSk7CitEQ0xfU1RBVFVTIHZwYV9zZXRfdm90dW5lKFBNVV9WUEFfTElTVF9FTlVNIHZwYSwgRENMX1VJTlQzMiBpZHgsRENMX1VJTlQzMiB2YWwpOworI2VuZGlmIC8vI2lmIGRlZmluZWQoX19EUlZfVVBNVV9WUEFfVjFfXykKKworI2lmIGRlZmluZWQoX19EUlZfVVBNVV9LUExFRF9WMV9fKQorLy8gS1BMRUQgQ09OMAordm9pZCBrcGxlZF9zZXRfZW5hYmxlKFBNVV9LUExFRF9MSVNUX0VOVU0ga3BsZWQsIERDTF9CT09MIGVuYWJsZSk7Cit2b2lkIGtwbGVkX3NldF9tb2RlKFBNVV9LUExFRF9MSVNUX0VOVU0ga3BsZWQsIFBNVV9DVFJMX0tQTEVEX01PREVfRU5VTSB2YWwpOwordm9pZCBrcGxlZF9zZXRfc2VsKFBNVV9LUExFRF9MSVNUX0VOVU0ga3BsZWQsIERDTF9VSU5UOCB2YWwpOworRENMX0JPT0wga3BsZWRfZ2V0X3N0YXR1cyhQTVVfS1BMRURfTElTVF9FTlVNIGtwbGVkKTsKKyNlbmRpZiAvLyAjaWYgZGVmaW5lZChfX0RSVl9VUE1VX0tQTEVEX1YxX18pCisKKworI2lmIGRlZmluZWQoX19EUlZfVVBNVV9DSEFSR0VSX1YxX18pCisvLyBDSFJfQ09OMAordm9pZCBjaHJfc2V0X2NzZGFjX2VuYWJsZShQTVVfQ0hSX0xJU1RfRU5VTSBjaHIsIERDTF9CT09MIGVuYWJsZSk7CitEQ0xfQk9PTCBjaHJfZ2V0X2lzX2Nocl9kZXQoUE1VX0NIUl9MSVNUX0VOVU0gY2hyKTsKK3ZvaWQgY2hyX3dkdF9jbGVhcl9pbnRlcm5hbChQTVVfQ0hSX0xJU1RfRU5VTSBjaHIpOwordm9pZCBjaHJfc2V0X2VuYWJsZShQTVVfQ0hSX0xJU1RfRU5VTSBjaHIsIERDTF9CT09MIGVuYWJsZSk7CisvLyBDSFJfQ09OMQorRENMX0JPT0wgY2hyX2dldF9pc192YmF0X2N2X2RldChQTVVfQ0hSX0xJU1RfRU5VTSBjaHIpOworRENMX1NUQVRVUyBjaHJfc2V0X3ZiYXRfY3ZfdnRoKFBNVV9DSFJfTElTVF9FTlVNIGNociwgRENMX1VJTlQzMiB2b2x0YWdlKTsKK0RDTF9TVEFUVVMgY2hyX3NldF92YmF0X2N2X3Z0aF92YWx1ZShQTVVfQ0hSX0xJU1RfRU5VTSBjaHIsIERDTF9VSU5UMTYgdmFsKTsKK3ZvaWQgY2hyX3NldF92YmF0X2N2X2RldF9lbmFibGUoUE1VX0NIUl9MSVNUX0VOVU0gY2hyLCBEQ0xfQk9PTCBlbmFibGUpOworLy8gQ0hSX0NPTjIKK0RDTF9VSU5UMzIgY2hyX2dldF9jc192dGgoUE1VX0NIUl9MSVNUX0VOVU0gY2hyKTsKK0RDTF9TVEFUVVMgY2hyX3NldF9jc192dGgoUE1VX0NIUl9MSVNUX0VOVU0gY2hyLCBEQ0xfVUlOVDMyIGN1cnJlbnQpOworLy8gQ0hSX0NPTjMKK3ZvaWQgY2hyX3NldF9jc2RhY19zdHAoUE1VX0NIUl9MSVNUX0VOVU0gY2hyLCBEQ0xfVUlOVDE2IHZhbCk7Cit2b2lkIGNocl9zZXRfY3NkYWNfZGx5KFBNVV9DSFJfTElTVF9FTlVNIGNociwgRENMX1VJTlQxNiB2YWwpOworRENMX0JPT0wgY2hyX2dldF9pc19iYXRfb24oUE1VX0NIUl9MSVNUX0VOVU0gY2hyKTsKKy8vIENIUl9DT042Cit2b2lkIGNocl93ZHRfY2xlYXJfaW50ZXJuYWwoUE1VX0NIUl9MSVNUX0VOVU0gY2hyKTsKK3ZvaWQgY2hyX3NldF93ZHRfdGQoUE1VX0NIUl9MSVNUX0VOVU0gY2hyLERDTF9VSU5UMzIgc2VjKTsKK3ZvaWQgY2hyX3NldF93ZHRfY2xlYXIoUE1VX0NIUl9MSVNUX0VOVU0gY2hyKTsKK3ZvaWQgY2hyX3NldF93ZHRfZW5hYmxlKFBNVV9DSFJfTElTVF9FTlVNIGNociwgRENMX1VJTlQ4IGVuYWJsZSk7CisvLyBDSFJfQ09ONwordm9pZCBjaHJfc2V0X3dkdF9pbnRfZW5hYmxlKFBNVV9DSFJfTElTVF9FTlVNIGNociwgRENMX1VJTlQ4IGVuYWJsZSk7CisvLyBDSFJfQ09OOAordm9pZCBjaHJfc2V0X2FkY19tZWFzdXJlX2VuYWJsZShQTVVfQ0hSX0xJU1RfRU5VTSBjaHIsIERDTF9CT09MIGVuYWJsZSk7CisKK0RDTF9TVEFUVVMgY2hyX3NldF92YmF0X2h2X3Z0aChQTVVfQ0hSX0xJU1RfRU5VTSBjaHIsIERDTF9VSU5UMzIgdm9sdGFnZSk7CitEQ0xfU1RBVFVTIGNocl9zZXRfdmJhdF9vdl92dGgoUE1VX0NIUl9MSVNUX0VOVU0gY2hyLCBEQ0xfVUlOVDMyIHZvbHRhZ2UpOwordm9pZCBjaHJfc2V0X2JhdG9uX2h0X2VuKFBNVV9DSFJfTElTVF9FTlVNIGNociwgRENMX1VJTlQxNiBlbmFibGUpOwordm9pZCBjaHJfc2V0X290Z19idmFsaWRfZW4oUE1VX0NIUl9MSVNUX0VOVU0gY2hyLCBEQ0xfVUlOVDE2IGVuYWJsZSk7CisKKyNpZiBkZWZpbmVkKF9fRFJWX1VQTVVfQkMxMV9WMV9fKQordm9pZCBjaHJfYmMxMV9jb21wX3Z0aChQTVVfQ0hSX0xJU1RfRU5VTSBjaHIsUE1VX0NUUkxfQkMxMV9DT01QX1ZUSF9FTlVNIHNlbCk7Cit2b2lkIGNocl9iYzExX2NvbXBfZW5fY3RybChQTVVfQ0hSX0xJU1RfRU5VTSBjaHIsUE1VX0NUUkxfQkMxMV9DT01QX0VOX0VOVU0gc2VsKTsKK3ZvaWQgY2hyX2JjMTFfaXBkX2VuX2N0cmwoUE1VX0NIUl9MSVNUX0VOVU0gY2hyLFBNVV9DVFJMX0JDMTFfSVBEX0VOX0VOVU0gIHNlbCk7Cit2b2lkIGNocl9iYzExX2lwdV9lbl9jdHJsKFBNVV9DSFJfTElTVF9FTlVNIGNocixQTVVfQ1RSTF9CQzExX0lQVV9FTl9FTlVNIHNlbCk7Cit2b2lkIGNocl9iYzExX2JpYXNfZW5hYmxlKFBNVV9DSFJfTElTVF9FTlVNIGNociwgRENMX0JPT0wgZW5hYmxlKTsKK3ZvaWQgY2hyX2JjMTFfYmJfY3RybChQTVVfQ0hSX0xJU1RfRU5VTSBjaHIpOwordm9pZCBjaHJfYmMxMV9yZXNldChQTVVfQ0hSX0xJU1RfRU5VTSBjaHIpOwordm9pZCBjaHJfYmMxMV92c3JjX2VuX2N0cmwoUE1VX0NIUl9MSVNUX0VOVU0gY2hyLFBNVV9DVFJMX0JDMTFfVlNSQ19FTl9FTlVNIHNlbCk7CitEQ0xfQk9PTCBjaHJfYmMxMV9nZXRfY21wX291dChQTVVfQ0hSX0xJU1RfRU5VTSBjaHIpOworI2VuZGlmIC8vICNpZiBkZWZpbmVkKF9fRFJWX1VQTVVfQkMxMV9WMV9fKQorI2VuZGlmIC8vI2lmIGRlZmluZWQoX19EUlZfVVBNVV9DSEFSR0VSX1YxX18pCisKKyNpZiBkZWZpbmVkKF9fRFJWX1VQTVVfU1RSVVBfVjFfXykgCit2b2lkIHN0cnVwX3VzYmRsX21vZGVfZW5hYmxlKFBNVV9TVFJVUF9MSVNUX0VOVU0gc3RydXAsRENMX0JPT0wgZW5hYmxlKTsKKyNlbmRpZiAvLyAjaWYgZGVmaW5lZChfX0RSVl9VUE1VX1NUUlVQX1YxX18pCisKKworI2lmIGRlZmluZWQoX19EUlZfVVBNVV9CT09TVF9WMV9fKSAKKy8vIEJPT1NUIENPTjAKK3ZvaWQgYm9vc3Rfc2V0X2VuYWJsZShQTVVfQk9PU1RfTElTVF9FTlVNIGJvb3N0LCBEQ0xfQk9PTCBlbmFibGUpOwordm9pZCBib29zdF9zZXRfdHlwZShQTVVfQk9PU1RfTElTVF9FTlVNIGJvb3N0LCB1cG11X2Jvb3N0X3R5cGVfZW51bSB2YWwpOwordm9pZCBib29zdF9zZXRfbW9kZShQTVVfQk9PU1RfTElTVF9FTlVNIGJvb3N0LCB1cG11X2Jvb3N0X21vZGVfZW51bSB2YWwpOwordm9pZCBib29zdF9zZXRfdnJzZWwoUE1VX0JPT1NUX0xJU1RfRU5VTSBib29zdCwgRENMX1VJTlQ4IHZhbCk7Cit2b2lkIGJvb3N0X3NldF9vY19hdXRvX29mZihQTVVfQk9PU1RfTElTVF9FTlVNIGJvb3N0LCBEQ0xfQk9PTCBhdXRvX29mZik7CitEQ0xfQk9PTCBib29zdF9nZXRfb2Nfc3RhdHVzKFBNVV9CT09TVF9MSVNUX0VOVU0gYm9vc3QpOworLy8gQk9PU1QgQ09OMQordm9pZCBib29zdF9zZXRfY2woUE1VX0JPT1NUX0xJU1RfRU5VTSBib29zdCwgRENMX1VJTlQ4IHZhbCk7Cit2b2lkIGJvb3N0X3NldF9jcyhQTVVfQk9PU1RfTElTVF9FTlVNIGJvb3N0LCBEQ0xfVUlOVDggdmFsKTsKK3ZvaWQgYm9vc3Rfc2V0X3JjKFBNVV9CT09TVF9MSVNUX0VOVU0gYm9vc3QsIERDTF9VSU5UOCB2YWwpOwordm9pZCBib29zdF9zZXRfc3MoUE1VX0JPT1NUX0xJU1RfRU5VTSBib29zdCwgRENMX1VJTlQ4IHZhbCk7CisvLyBCT09TVCBDT04yCit2b2lkIGJvb3N0X3NldF9ja3NlbChQTVVfQk9PU1RfTElTVF9FTlVNIGJvb3N0LCBEQ0xfVUlOVDggdmFsKTsKK3ZvaWQgYm9vc3Rfc2V0X3NyX3Btb3MoUE1VX0JPT1NUX0xJU1RfRU5VTSBib29zdCwgRENMX1VJTlQ4IHZhbCk7Cit2b2lkIGJvb3N0X3NldF9zcl9ubW9zKFBNVV9CT09TVF9MSVNUX0VOVU0gYm9vc3QsIERDTF9VSU5UOCB2YWwpOwordm9pZCBib29zdF9zZXRfc2xwKFBNVV9CT09TVF9MSVNUX0VOVU0gYm9vc3QsIERDTF9VSU5UOCB2YWwpOworLy8gQk9PU1QgQ09OMwordm9pZCBib29zdF9zZXRfY2tzX3ByZyhQTVVfQk9PU1RfTElTVF9FTlVNIGJvb3N0LCBEQ0xfVUlOVDggdmFsKTsKKy8vIEJPT1NUIENPTjQKK3ZvaWQgYm9vc3Rfc2V0X29jX3RoZChQTVVfQk9PU1RfTElTVF9FTlVNIGJvb3N0LCB1cG11X2Jvb3N0X29jX3RoZF9lbnVtIHZhbCk7Cit2b2lkIGJvb3N0X3NldF9vY193bmQoUE1VX0JPT1NUX0xJU1RfRU5VTSBib29zdCwgdXBtdV9ib29zdF9vY193bmRfZW51bSB2YWwpOwordm9pZCBib29zdF9zZXRfY2xrX2NhbChQTVVfQk9PU1RfTElTVF9FTlVNIGJvb3N0LCBEQ0xfVUlOVDggdmFsKTsKKy8vIEJPT1NUIENPTjYKK3ZvaWQgYm9vc3Rfc2V0X2h3X3NlbChQTVVfQk9PU1RfTElTVF9FTlVNIGJvb3N0LCB1cG11X2Jvb3N0X2h3X3NlbF9lbnVtIHZhbCk7Cit2b2lkIGJvb3N0X3NldF9jYyhQTVVfQk9PU1RfTElTVF9FTlVNIGJvb3N0LCBEQ0xfVUlOVDggdmFsKTsKKyNlbmRpZiAvLyNpZiBkZWZpbmVkKF9fRFJWX1VQTVVfQk9PU1RfVjFfXykKKworI2lmIGRlZmluZWQoX19EUlZfVVBNVV9JU0lOS19WMV9fKQorLy8gSVNJTksgQ09OMAordm9pZCBpc2lua19zZXRfZW5hYmxlKFBNVV9JU0lOS19MSVNUX0VOVU0gaXNpbmssIERDTF9CT09MIGVuYWJsZSk7Cit2b2lkIGlzaW5rc19zZXRfdnJlZl9jYWwoUE1VX0lTSU5LX0xJU1RfRU5VTSBpc2luaywga2FsX3VpbnQ4IHZhbCk7Cit2b2lkIGlzaW5rX3NldF9tb2RlKFBNVV9JU0lOS19MSVNUX0VOVU0gaXNpbmssIFBNVV9DVFJMX0lTSU5LX01PREVfRU5VTSB2YWwpOwordm9pZCBpc2lua19zZXRfc3RlcChQTVVfSVNJTktfTElTVF9FTlVNIGlzaW5rLCBEQ0xfVUlOVDggdmFsKTsKKyNlbmRpZiAvLyNpZiBkZWZpbmVkKF9fRFJWX1VQTVVfSVNJTktfVjFfXykKKworI2lmIGRlZmluZWQoX19EUlZfVVBNVV9TUEtfVjFfXykKKy8vIFNQSyBDT04wCit2b2lkIHNwa19zZXRfZW5hYmxlKFBNVV9TUEtfTElTVF9FTlVNIHNwaywgRENMX0JPT0wgZW5hYmxlKTsKK3ZvaWQgc3BrX3NldF9yZXNldChQTVVfU1BLX0xJU1RfRU5VTSBzcGssIERDTF9CT09MIHJlc2V0KTsKK0RDTF9TVEFUVVMgc3BrX3NldF92b2woUE1VX1NQS19MSVNUX0VOVU0gc3BrLCBQTVVfU1BLX1ZPTF9FTlVNIHZvbCk7Cit2b2lkIHNwa19zZXRfb2NfYXV0b19vZmYoUE1VX1NQS19MSVNUX0VOVU0gc3BrLCBEQ0xfQk9PTCBhdXRvX29mZik7Cit2b2lkIHNwa19zZXRfb2NmYl9lbmFibGUoUE1VX1NQS19MSVNUX0VOVU0gc3BrLCBEQ0xfQk9PTCBlbmFibGUpOworRENMX0JPT0wgc3BrX3NldF9nZXRfb2Nfc3RhdHVzKFBNVV9TUEtfTElTVF9FTlVNIHNwayk7CisvLyBTUEsgQ09OMQordm9pZCBzcGtfc2V0X3BmZF9tb2RlX2VuYWJsZShQTVVfU1BLX0xJU1RfRU5VTSBzcGssIERDTF9CT09MIGVuYWJsZSk7Cit2b2lkIHNwa19zZXRfY21vZGUoUE1VX1NQS19MSVNUX0VOVU0gc3BrLCBEQ0xfVUlOVDggdmFsKTsKK3ZvaWQgc3BrX3NldF9jY29kZShQTVVfU1BLX0xJU1RfRU5VTSBzcGssIERDTF9VSU5UOCB2YWwpOworLy8gU1BLIENPTjIKK3ZvaWQgc3BrX3NldF9vY190aGQoUE1VX1NQS19MSVNUX0VOVU0gc3BrLCBEQ0xfVUlOVDggdmFsKTsKK3ZvaWQgc3BrX3NldF9vY193bmQoUE1VX1NQS19MSVNUX0VOVU0gc3BrLCBEQ0xfVUlOVDggdmFsKTsKKy8vIFNQSyBDT04zCit2b2lkIHNwa19zZXRfb3NjX2lzZWwoUE1VX1NQS19MSVNUX0VOVU0gc3BrLCBEQ0xfVUlOVDggdmFsKTsKK3ZvaWQgc3BrX3NldF9vY19lbmFibGUoUE1VX1NQS19MSVNUX0VOVU0gc3BrLCBEQ0xfQk9PTCBlbmFibGUpOworLy8gU1BLIENPTjQKK3ZvaWQgc3BrX3NldF9vY25fYmlhcyhQTVVfU1BLX0xJU1RfRU5VTSBzcGssIERDTF9VSU5UOCB2YWwpOwordm9pZCBzcGtfc2V0X29jcF9iaWFzKFBNVV9TUEtfTElTVF9FTlVNIHNwaywgRENMX1VJTlQ4IHZhbCk7CisvLyBTUEsgQ09ONQordm9pZCBzcGtfc2V0X3BnX3NsZXdfZGx5KFBNVV9TUEtfTElTVF9FTlVNIHNwayxEQ0xfVUlOVDggdmFsKTsKK3ZvaWQgc3BrX3NldF9wZ19zbGV3X2woUE1VX1NQS19MSVNUX0VOVU0gc3BrLERDTF9VSU5UOCB2YWwpOworLy8gU1BLIENPTjcKK3ZvaWQgc3BrX3NldF9tb2RlKFBNVV9TUEtfTElTVF9FTlVNIHNwaywgUE1VX0NUUkxfU1BLX01PREVfRU5VTSB2YWwpOwordm9pZCBzcGtfc2V0X2FiX29iaWFzKFBNVV9TUEtfTElTVF9FTlVNIHNwaywgRENMX1VJTlQ4IHZhbCk7Cit2b2lkIHNwa19zZXRfYWJfb2NfZW5hYmxlKFBNVV9TUEtfTElTVF9FTlVNIHNwaywgRENMX0JPT0wgZW5hYmxlKTsKKyNlbmRpZiAvLyAjaWYgZGVmaW5lZChfX0RSVl9VUE1VX1NQS19WMV9fKQorCisjaWYgZGVmaW5lZChfX0RSVl9VUE1VX1NQS19WMl9fKQorLy8gU1BLIENPTjAKK3ZvaWQgc3BrX3NldF9lbmFibGUoUE1VX1NQS19MSVNUX0VOVU0gc3BrLCBrYWxfYm9vbCBlbmFibGUpOworRENMX1NUQVRVUyBzcGtfc2V0X3ZvbChQTVVfU1BLX0xJU1RfRU5VTSBzcGssIFBNVV9TUEtfVk9MX0VOVU0gdm9sKTsKK3ZvaWQgc3BrX3NldF9vY19lbmFibGUoUE1VX1NQS19MSVNUX0VOVU0gc3BrLCBrYWxfYm9vbCBlbmFibGUpOwordm9pZCBzcGtfc2V0X29iaWFzKFBNVV9TUEtfTElTVF9FTlVNIHNwaywga2FsX3VpbnQ4IHZhbCk7Cit2b2lkIHNwa19zZXRfb2NfdGhkKFBNVV9TUEtfTElTVF9FTlVNIHNwaywga2FsX3VpbnQ4IHZhbCk7Cit2b2lkIHNwa19zZXRfb2Nfd25kKFBNVV9TUEtfTElTVF9FTlVNIHNwaywga2FsX3VpbnQ4IHZhbCk7CisjZW5kaWYgLy8gI2lmIGRlZmluZWQoX19EUlZfVVBNVV9TUEtfVjJfXykKKyNlbmRpZiAvLyNkZWZpbmUgX19EQ0xfUE1VX0NPTU1PTl9TV19IX18KKworCmRpZmYgLS1naXQgYS9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL2RjbF9wbXVfaHcuaCBiL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvZGNsX3BtdV9ody5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY0OWUyNGEKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL2RjbF9wbXVfaHcuaApAQCAtMCwwICsxLDkxOSBAQAorCisKKyNpZm5kZWYgX19EQ0xfUE1VX0NPTU1PTl9IV19TVFJVQ1RfXworI2RlZmluZSBfX0RDTF9QTVVfQ09NTU9OX0hXX1NUUlVDVF9fCisKKyNkZWZpbmUgQ09OMF9PRkZTRVQgICAgICAgICAgIDB4MDAKKyNkZWZpbmUgQ09OMV9PRkZTRVQgICAgICAgICAgIDB4MDQKKyNkZWZpbmUgQ09OMl9PRkZTRVQgICAgICAgICAgIDB4MDgKKyNkZWZpbmUgQ09OM19PRkZTRVQgICAgICAgICAgIDB4MEMKKyNkZWZpbmUgQ09ONF9PRkZTRVQgICAgICAgICAgIDB4MTAKKyNkZWZpbmUgQ09ONV9PRkZTRVQgICAgICAgICAgIDB4MTQKKyNkZWZpbmUgQ09ONl9PRkZTRVQgICAgICAgICAgIDB4MTgKKyNkZWZpbmUgQ09ON19PRkZTRVQgICAgICAgICAgIDB4MUMKKyNkZWZpbmUgQ09OOF9PRkZTRVQgICAgICAgICAgIDB4MjAKKyNkZWZpbmUgQ09OOV9PRkZTRVQgICAgICAgICAgIDB4MjQKKworI2lmIGRlZmluZWQoX19EUlZfVVBNVV9WUEFfVjFfXykKKworLy9WUEEgQ09OMAorI2RlZmluZSBWUEFfRU5fT0ZGU0VUIENPTjBfT0ZGU0VUCisjZGVmaW5lIFZQQV9FTl9NQVNLICAweDEwMDAKKyNkZWZpbmUgVlBBX0VOX1NISUZUIDEyCisKKyNkZWZpbmUgVlBBX0FOVElfUklOR19PRkZTRVQgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVlBBX0FOVElfUklOR19NQVNLICAweDA4MDAKKyNkZWZpbmUgVlBBX0FOVElfUklOR19TSElGVCAxMQorCisjZGVmaW5lIFZQQV9SQ19PRkZTRVQgQ09OMF9PRkZTRVQKKyNkZWZpbmUgVlBBX1JDX01BU0sgIDB4MDAwYworI2RlZmluZSBWUEFfUkNfU0hJRlQgMgorCisKKy8vVlBBIENPTjIKKyNkZWZpbmUgVlBBX1ZPVFVORTBfT0ZGU0VUCUNPTjJfT0ZGU0VUCisjZGVmaW5lIFZQQV9WT1RVTkUwX01BU0sJMHgwMDFGCisjZGVmaW5lIFZQQV9WT1RVTkUwX1NISUZUCTAKKworI2RlZmluZSBWUEFfVk9UVU5FMV9PRkZTRVQJQ09OMl9PRkZTRVQKKyNkZWZpbmUgVlBBX1ZPVFVORTFfTUFTSwkweDFGMDAKKyNkZWZpbmUgVlBBX1ZPVFVORTFfU0hJRlQJOAorCisvL1ZQQSBDT04zCisjZGVmaW5lIFZQQV9WT1RVTkUyX09GRlNFVAlDT04zX09GRlNFVAorI2RlZmluZSBWUEFfVk9UVU5FMl9NQVNLCTB4MDAxRgorI2RlZmluZSBWUEFfVk9UVU5FMl9TSElGVAkwCisKKyNkZWZpbmUgVlBBX1ZPVFVORTNfT0ZGU0VUCUNPTjNfT0ZGU0VUCisjZGVmaW5lIFZQQV9WT1RVTkUzX01BU0sJMHgxRjAwCisjZGVmaW5lIFZQQV9WT1RVTkUzX1NISUZUCTgKKworLy9WUEEgQ09ONAorI2RlZmluZSBWUEFfVk9UVU5FNF9PRkZTRVQJQ09ONF9PRkZTRVQKKyNkZWZpbmUgVlBBX1ZPVFVORTRfTUFTSwkweDAwMUYKKyNkZWZpbmUgVlBBX1ZPVFVORTRfU0hJRlQJMAorCisjZGVmaW5lIFZQQV9WT1RVTkU1X09GRlNFVAlDT040X09GRlNFVAorI2RlZmluZSBWUEFfVk9UVU5FNV9NQVNLCTB4MUYwMAorI2RlZmluZSBWUEFfVk9UVU5FNV9TSElGVAk4CisKKy8vVlBBIENPTjUKKyNkZWZpbmUgVlBBX1ZPVFVORTZfT0ZGU0VUCUNPTjVfT0ZGU0VUCisjZGVmaW5lIFZQQV9WT1RVTkU2X01BU0sJMHgwMDFGCisjZGVmaW5lIFZQQV9WT1RVTkU2X1NISUZUCTAKKworI2RlZmluZSBWUEFfVk9UVU5FN19PRkZTRVQJQ09ONV9PRkZTRVQKKyNkZWZpbmUgVlBBX1ZPVFVORTdfTUFTSwkweDFGMDAKKyNkZWZpbmUgVlBBX1ZPVFVORTdfU0hJRlQJOAorCisjZW5kaWYgLy8jaWYgZGVmaW5lZChfX0RSVl9VUE1VX1ZQQV9WMV9fKQorCisjaWYgZGVmaW5lZChfX0RSVl9VUE1VX0xQT1NDX1YxX18pCisjZGVmaW5lIExQT1NDX0NPTjBfT0ZGU0VUICAgICAgICAgICAweDAwCisjZGVmaW5lIExQT1NDX0NPTjFfT0ZGU0VUICAgICAgICAgICAweDA0CisjZGVmaW5lIExQT1NDX0NPTjJfT0ZGU0VUICAgICAgICAgICAweDA4CisjZGVmaW5lIExQT1NDX0NPTjNfT0ZGU0VUICAgICAgICAgICAweDBDCisjZGVmaW5lIExQT1NDX0NPTjRfT0ZGU0VUICAgICAgICAgICAweDEwCisKKy8vIExQT1NDIENPTjAKKyNkZWZpbmUgTFBPU0NfRU5fTUFTSyAgICAgICAgICAgICAgIDB4MTAwMAorI2RlZmluZSBMUE9TQ19FTl9TSElGVCAgICAgICAgICAgICAgMTIKKworLy9MUE9TQyBDT04xCisjZGVmaW5lIExQT1NDX0ZSRVFfU0VUX01BU0sgIDB4MDBmZgorI2RlZmluZSBMUE9TQ19GUkVRX1NFVF9TSElGVCAwCisKKyNkZWZpbmUgTFBPU0NfQlVDS19GUkVRX1NFVF9NQVNLICAweDA3MDAKKyNkZWZpbmUgTFBPU0NfQlVDS19GUkVRX1NFVF9TSElGVCA4CisKKyNkZWZpbmUgTFBPU0NfQUNBTElfRU5fTUFTSyAgMHg0MDAwCisjZGVmaW5lIExQT1NDX0FDQUxJX0VOX1NISUZUIDE0CisKKyNkZWZpbmUgTFBPU0NfRlJFUV9TRVRfTUFTSyAweDAwZmYKKyNkZWZpbmUgTFBPU0NfRlJFUV9TRVRfU0hJRlQgMAorCisvLyBMUE9TQyBDT04yCisjZGVmaW5lIExQT1NDX0ZEX1JFU19NQVNLICAgICAgICAgICAgICAgMHgwMDA3CisjZGVmaW5lIExQT1NDX0ZEX1JFU19TSElGVCAgICAgICAgICAgICAgMAorCisjZGVmaW5lIExQT1NDX1NTQ19FTl9NQVNLICAgICAgICAgICAgICAgMHgwMDA4CisjZGVmaW5lIExQT1NDX1NTQ19FTl9TSElGVCAgICAgICAgICAgICAgMworCisjZGVmaW5lIExQT1NDX1NTQ19NT0RfQU1QX01BU0sgICAgICAgICAgICAgICAweDA3MDAKKyNkZWZpbmUgTFBPU0NfU1NDX01PRF9BTVBfU0hJRlQgICAgICAgICAgICAgIDgKKworI2RlZmluZSBMUE9TQ19SR19CVUNLX0JPT1NUX0VOX01BU0sgICAgICAgICAgICAgICAweDA4MDAKKyNkZWZpbmUgTFBPU0NfUkdfQlVDS19CT09TVF9FTl9TSElGVCAgICAgICAgICAgICAgMTEKKworI2RlZmluZSBMUE9TQ19TU0NfQ09ERV9EVVJfTUFTSyAgICAgICAgICAgICAgIDB4NzAwMAorI2RlZmluZSBMUE9TQ19TU0NfQ09ERV9EVVJfU0hJRlQgICAgICAgICAgICAgIDEyCisKKyNkZWZpbmUgTFBPU0NfTFBPU0NfUEdfRU5fTUFTSyAgICAgICAgICAgICAgIDB4ODAwMAorI2RlZmluZSBMUE9TQ19MUE9TQ19QR19FTl9TSElGVCAgICAgICAgICAgICAgMTUKKworLy9MUE9TQyBDT040CisjZGVmaW5lIExQT1NDX1NXX01PREVfRU5fTUFTSwkweDEwMDAKKyNkZWZpbmUgTFBPU0NfU1dfTU9ERV9FTl9TSElGVAkxMgorCisjZW5kaWYgLy8jaWYgZGVmaW5lZChfX0RSVl9VUE1VX0JVQ0tfVjFfXykKKworI2lmIGRlZmluZWQoX19EUlZfVVBNVV9MRE9fVjFfXykKKyNkZWZpbmUgTERPX0NPTjBfT0ZGU0VUICAgICAgICAgICAweDAwCisjZGVmaW5lIExET19DT04xX09GRlNFVCAgICAgICAgICAgMHgwNAorI2RlZmluZSBMRE9fQ09OMl9PRkZTRVQgICAgICAgICAgIDB4MDgKKyNkZWZpbmUgTERPX0NPTjNfT0ZGU0VUICAgICAgICAgICAweDBDCisvLyBMRE8gSC9XIHJlZ2lzdGVyIGJpdG1hcCBkZWZpbml0aW9uCisgIC8vIExET19YWFggQ09OMAorICNkZWZpbmUgTERPX0VOX09GRlNFVCAgICAgICAgICBDT04wX09GRlNFVAorI2RlZmluZSBMRE9fRU5fTUFTSyAgICAgICAgICAgICAgIDB4MDAwMQorI2RlZmluZSBMRE9fRU5fU0hJRlQgICAgICAgICAgICAgIDAKKworI2RlZmluZSBMRE9fT05fU0VMX09GRlNFVAkJQ09OMF9PRkZTRVQKKyNkZWZpbmUgTERPX09OX1NFTF9NQVNLICAgICAgICAgICAweDAwMDIKKyNkZWZpbmUgTERPX09OX1NFTF9TSElGVCAgICAgICAgICAxCisKKyNkZWZpbmUgTERPX1JTX01BU0sgICAgICAgICAgICAgICAweDAwMDQKKyNkZWZpbmUgTERPX1JTX1NISUZUICAgICAgICAgICAgICAyCisKKyNkZWZpbmUgTERPX1ZPTF9TRUxfT0ZGU0VUCQlDT04wX09GRlNFVAorI2RlZmluZSBMRE9fVk9MX1NFTF9NQVNLICAgICAgICAgIDB4MDFGMAorI2RlZmluZSBMRE9fVk9MX1NFTF9TSElGVCAgICAgICAgIDQKKworI2RlZmluZSBMRE9fTkRJU19FTl9PRkZTRVQJCUNPTjBfT0ZGU0VUCisjZGVmaW5lIExET19ORElTX0VOX01BU0sgICAgICAgICAgMHgwNDAwCisjZGVmaW5lIExET19ORElTX0VOX1NISUZUICAgICAgICAgMTAKKworI2RlZmluZSBMRE9fU1RCX0VOX09GRlNFVAkJQ09OMF9PRkZTRVQKKyNkZWZpbmUgTERPX1NUQl9FTl9NQVNLICAgICAgICAgICAweDA4MDAKKyNkZWZpbmUgTERPX1NUQl9FTl9TSElGVCAgICAgICAgICAxMQorCisjZGVmaW5lIExET19PQ19BVVRPX09GRl9PRkZTRVQgQ09OMF9PRkZTRVQKKyNkZWZpbmUgTERPX09DX0FVVE9fT0ZGX01BU0sgICAgICAweDEwMDAKKyNkZWZpbmUgTERPX09DX0FVVE9fT0ZGX1NISUZUICAgICAxMgorCisjZGVmaW5lIExET19PQ0ZCX0VOX09GRlNFVAkJQ09OMF9PRkZTRVQKKyNkZWZpbmUgTERPX09DRkJfRU5fTUFTSyAgICAgICAgICAweDIwMDAKKyNkZWZpbmUgTERPX09DRkJfRU5fU0hJRlQgICAgICAgICAxMworCisjZGVmaW5lIExET19PQ19TVEFUVVNfTUFTSyAgICAgICAgMHg0MDAwCisjZGVmaW5lIExET19PQ19TVEFUVVNfU0hJRlQgICAgICAgMTQKKworI2RlZmluZSBMRE9fU1RBVFVTX01BU0sgICAgICAgICAgIDB4ODAwMAorI2RlZmluZSBMRE9fU1RBVFVTX1NISUZUICAgICAgICAgIDE1CisKKyAgLy8gTERPX1hYWCBDT04xCisjaWYgZGVmaW5lZChfX0RSVl9VUE1VX0xET19WMV9TVEJfVERfQVRfQ09OMV9CSVQwX18pCisjZGVmaW5lIExET19TVEJfVERfT0ZGU0VUCQlDT04xX09GRlNFVAorI2RlZmluZSBMRE9fU1RCX1REX01BU0sgICAgICAgICAgIDB4MDAwMworI2RlZmluZSBMRE9fU1RCX1REX1NISUZUICAgICAgICAgIDAKKyNlbHNlCisjZGVmaW5lIExET19TVEJfVERfT0ZGU0VUCQlDT04yX09GRlNFVAorI2RlZmluZSBMRE9fU1RCX1REX01BU0sgICAgICAgICAgIDB4MDBjMAorI2RlZmluZSBMRE9fU1RCX1REX1NISUZUICAgICAgICAgIDYKKyNlbmRpZiAvLyAjaWYgZGVmaW5lZChfX0RSVl9VUE1VX0xET19WMV9TVEJfVERfQVRfQ09OMV9CSVQwX18pCisKKyNkZWZpbmUgTERPX0ZPUkNFX0xPV19NQVNLICAweDAwMDQKKyNkZWZpbmUgTERPX0ZPUkNFX0xPV19TSElGVCAyCisKKyNkZWZpbmUgTERPX0NBTF9PRkZTRVQJCUNPTjFfT0ZGU0VUCisjZGVmaW5lIExET19DQUxfTUFTSyAgICAgICAgICAgICAgMHgwMUYwCisjZGVmaW5lIExET19DQUxfU0hJRlQgICAgICAgICAgICAgNAorI2lmIGRlZmluZWQoX19EUlZfVVBNVV9MRE9fQ0FMX0FTX1NMRUVQX1ZPTFRBR0VfXykKKyNkZWZpbmUgTERPX1ZPTF9TRUxfU0xFRVBfTUFTSyAgICAweDAxRjAKKyNkZWZpbmUgTERPX1ZPTF9TRUxfU0xFRVBfU0hJRlQgICA0CisjZW5kaWYgLy8gI2lmIGRlZmluZWQoX19EUlZfVVBNVV9MRE9fQ0FMX0FTX1NMRUVQX1ZPTFRBR0VfXykKKworICAvLyBMRE9fWFhYIENPTjIKKyNkZWZpbmUgTERPX0dQX0xET0VOX01BU0sgICAgICAgICAweDAwMDIKKyNkZWZpbmUgTERPX0dQX0xET0VOX1NISUZUICAgICAgICAxCisKKyNkZWZpbmUgTERPX09DX1REX09GRlNFVAkJQ09OMl9PRkZTRVQKKyNkZWZpbmUgTERPX09DX1REX01BU0sgICAgICAgICAgICAweDAwMzAKKyNkZWZpbmUgTERPX09DX1REX1NISUZUICAgICAgICAgICA0CisvKgorI2lmIGRlZmluZWQoX19EUlZfVVBNVV9MRE9fVjFfU1RCX1REX0FUX0NPTjJfQklUNl9fKQorI2RlZmluZSBMRE9fU1RCX1REX09GRlNFVAkJQ09OMl9PRkZTRVQKKyNkZWZpbmUgTERPX1NUQl9URF9NQVNLICAgICAgICAgICAweDAwQzAKKyNkZWZpbmUgTERPX1NUQl9URF9TSElGVCAgICAgICAgICA2CisjZW5kaWYgLy8gI2lmIGRlZmluZWQoX19EUlZfVVBNVV9MRE9fVjFfU1RCX1REX0FUX0NPTjJfQklUNl9fKQorKi8KKworI2RlZmluZSBMRE9fSUNBTF9FTl9NQVNLICAgICAgICAgIDB4MzAwMAorI2RlZmluZSBMRE9fSUNBTF9FTl9TSElGVCAgICAgICAgIDEyCisKKyAgLy8gTERPX1hYWCBDT04zCisgIC8vIE9ubHkgZm9yIFZTSU0vVlNJTTIgTERPCisjZGVmaW5lIFNJTUlPX0RSVl9NQVNLICAgICAgICAgICAgMHgwMDBFCisjZGVmaW5lIFNJTUlPX0RSVl9TSElGVCAgICAgICAgICAgMQorI2RlZmluZSBTSU1fQklBU19NQVNLICAgICAgICAgICAgIDB4MDAzMAorI2RlZmluZSBTSU1fQklBU19TSElGVCAgICAgICAgICAgIDQKKyNkZWZpbmUgU0lNX1NSTl9NQVNLICAgICAgICAgICAgICAweDAwQzAKKyNkZWZpbmUgU0lNX1NSTl9TSElGVCAgICAgICAgICAgICA2CisjZGVmaW5lIFNJTV9TUlBfTUFTSyAgICAgICAgICAgICAgMHgwMzAwCisjZGVmaW5lIFNJTV9TUlBfU0hJRlQgICAgICAgICAgICAgOAorI2RlZmluZSBTSU1fQ1NUT1BfTUFTSyAgICAgICAgICAgIDB4MDQwMCAgICAvLyBPbmx5IGZvciA2MjU2IEUyCisjZGVmaW5lIFNJTV9DU1RPUF9TSElGVCAgICAgICAgICAgMTAgICAgICAgIC8vIE9ubHkgZm9yIDYyNTYgRTIKKworLy8vLy8vLy8vLy8vLy8vLy8vLy8gU0lNIGNvbnRyb2wgCisjaWYgZGVmaW5lZChfX0RSVl9VUE1VX0xET19TSU1fU1BFQ0lGSUNfQ09ORklHX0ZJRUxEX0FUX0NPTjJfXykKKyNkZWZpbmUgTERPX1NJTV9HUElPX0VOX09GRlNFVCBDT04yX09GRlNFVAorI2RlZmluZSBMRE9fU0lNX1NJTUlPX0RSVl9PRkZTRVQgQ09OMl9PRkZTRVQKKyNkZWZpbmUgTERPX1NJTV9CSUFTX09GRlNFVCBDT04yX09GRlNFVAorI2RlZmluZSBMRE9fU0lNX1NSTl9PRkZTRVQgQ09OMl9PRkZTRVQKKyNkZWZpbmUgTERPX1NJTV9TUlBfT0ZGU0VUIENPTjJfT0ZGU0VUCisjZWxzZQorI2RlZmluZSBMRE9fU0lNX0dQSU9fRU5fT0ZGU0VUIENPTjNfT0ZGU0VUCisjZGVmaW5lIExET19TSU1fU0lNSU9fRFJWX09GRlNFVCBDT04zX09GRlNFVAorI2RlZmluZSBMRE9fU0lNX0JJQVNfT0ZGU0VUIENPTjNfT0ZGU0VUCisjZGVmaW5lIExET19TSU1fU1JOX09GRlNFVCBDT04zX09GRlNFVAorI2RlZmluZSBMRE9fU0lNX1NSUF9PRkZTRVQgQ09OM19PRkZTRVQKKyNkZWZpbmUgTERPX1NJTV9DU1RPUF9PRkZTRVQgQ09OM19PRkZTRVQgICAgLy8gT25seSBmb3IgNjI1NiBFMgorI2VuZGlmIC8vI2lmIGRlZmluZWQoX19EUlZfVVBNVV9MRE9fU0lNX1NQRUNJRklDX0NPTkZJR19GSUVMRF9BVF9DT04yX18pCisjZGVmaW5lIExET19TSU1fR1BJT19FTl9NQVNLICAgICAgICAgICAweDAwMDEKKyNkZWZpbmUgTERPX1NJTV9HUElPX0VOX1NISUZUICAgICAgICAgIDAKKworI2RlZmluZSBMRE9fU0lNX1NJTUlPX0RSVl9NQVNLICAgICAgICAgICAweDAwMEUKKyNkZWZpbmUgTERPX1NJTV9TSU1JT19EUlZfU0hJRlQgICAgICAgICAgMQorCisjZGVmaW5lIExET19TSU1fQklBU19NQVNLICAgICAgICAgICAweDAwMzAKKyNkZWZpbmUgTERPX1NJTV9CSUFTX1NISUZUICAgICAgICAgIDQKKworI2RlZmluZSBMRE9fU0lNX1NSTl9NQVNLICAgICAgICAgICAweDAwQzAKKyNkZWZpbmUgTERPX1NJTV9TUk5fU0hJRlQgICAgICAgICAgNgorCisjZGVmaW5lIExET19TSU1fU1JQX01BU0sgICAgICAgICAgIDB4MDMwMAorI2RlZmluZSBMRE9fU0lNX1NSUF9TSElGVCAgICAgICAgICA4CisKKyNkZWZpbmUgTERPX1NJTV9DU1RPUF9NQVNLICAgICAgICAgICAgMHgwNDAwICAgIC8vIE9ubHkgZm9yIDYyNTYgRTIKKyNkZWZpbmUgTERPX1NJTV9DU1RPUF9TSElGVCAgICAgICAgICAgMTAgICAgICAgIC8vIE9ubHkgZm9yIDYyNTYgRTIKKy8vLy8vLy8vLy8vLy8vLy8vLy8vLyBTSU0gY29udHJvbCBlbmQKKworCisjZW5kaWYgLy8gI2lmIGRlZmluZWQoX19EUlZfVVBNVV9MRE9fVjFfXykKKworI2lmIGRlZmluZWQoX19EUlZfVVBNVV9CVUNLX1YxX18pCisjZGVmaW5lIEJVQ0tfQ09OMF9PRkZTRVQgICAgICAgICAgMHgwMAorI2RlZmluZSBCVUNLX0NPTjFfT0ZGU0VUICAgICAgICAgIDB4MDQKKyNkZWZpbmUgQlVDS19DT04yX09GRlNFVCAgICAgICAgICAweDA4CisjZGVmaW5lIEJVQ0tfQ09OM19PRkZTRVQgICAgICAgICAgMHgwQworI2RlZmluZSBCVUNLX0NPTjRfT0ZGU0VUICAgICAgICAgIDB4MTAKKyNkZWZpbmUgQlVDS19DT041X09GRlNFVCAgICAgICAgICAweDE0CisjZGVmaW5lIEJVQ0tfQ09ONl9PRkZTRVQgICAgICAgICAgMHgxOAorLy8gQlVDSyBIL1cgcmVnaXN0ZXIgYml0bWFwIGRlZmluaXRpb24KKyAgLy8gQlVDS19YWFggQ09OMAorI2RlZmluZSBCVUNLX0VOX09GRlNFVCAgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgQlVDS19FTl9NQVNLICAgICAgICAgICAgICAweDAwMDEKKyNkZWZpbmUgQlVDS19FTl9TSElGVCAgICAgICAgICAgICAwCisKKyNkZWZpbmUgQlVDS19PTl9TRUxfT0ZGU0VUCQlDT04wX09GRlNFVAorI2RlZmluZSBCVUNLX09OX1NFTF9NQVNLICAgICAgICAgIDB4MDAwMgorI2RlZmluZSBCVUNLX09OX1NFTF9TSElGVCAgICAgICAgIDEKKworI2RlZmluZSBCVUNLX1JTX09GRlNFVCAgICAgICAgICAgICAgQ09OMF9PRkZTRVQKKyNkZWZpbmUgQlVDS19SU19NQVNLICAgICAgICAgICAgICAweDAwMDQKKyNkZWZpbmUgQlVDS19SU19TSElGVCAgICAgICAgICAgICAyCisKKyNkZWZpbmUgQlVDS19TVF9TVFJfTUFTSyAgICAgICAgICAweDAwMDgKKyNkZWZpbmUgQlVDS19TVF9TVFJfU0hJRlQgICAgICAgICAzCisKKyNkZWZpbmUgQlVDS19WRkJBREpfT0ZGU0VUCQlDT04wX09GRlNFVAorI2RlZmluZSBCVUNLX1ZGQkFESl9NQVNLICAgICAgICAgIDB4MDFGMAorI2RlZmluZSBCVUNLX1ZGQkFESl9TSElGVCAgICAgICAgIDQKKworI2RlZmluZSBCVUNLX0RJU19BTlRJVU5TSF9NQVNLICAgIDB4MDQwMAorI2RlZmluZSBCVUNLX0RJU19BTlRJVU5TSF9TSElGVCAgIDEwCisKKyNkZWZpbmUgQlVDS19TVEJfRU5fTUFTSyAgICAgICAgICAweDA4MDAKKyNkZWZpbmUgQlVDS19TVEJfRU5fU0hJRlQgICAgICAgICAxMQorCisjZGVmaW5lIEJVQ0tfT0NfQVVUT19PRkZfTUFTSyAgICAgMHgxMDAwCisjZGVmaW5lIEJVQ0tfT0NfQVVUT19PRkZfU0hJRlQgICAgMTIKKworI2RlZmluZSBCVUNLX09DRkJfRU5fT0ZGU0VUCUNPTjBfT0ZGU0VUCisjZGVmaW5lIEJVQ0tfT0NGQl9FTl9NQVNLICAgICAgICAgMHgyMDAwCisjZGVmaW5lIEJVQ0tfT0NGQl9FTl9TSElGVCAgICAgICAgMTMKKworICAvLyBCVUNLX1hYWCBDT04xCisjZGVmaW5lIEJVQ0tfTU9ERVNFVF9NQVNLICAgICAgICAgMHgwMDAxCisjZGVmaW5lIEJVQ0tfTU9ERVNFVF9TSElGVCAgICAgICAgMAorCisjZGVmaW5lIEJVQ0tfVkZCQURKX1NMRUVQX09GRlNFVAlDT04xX09GRlNFVAorI2RlZmluZSBCVUNLX1ZGQkFESl9TTEVFUF9NQVNLICAgIDB4MDFGMAorI2RlZmluZSBCVUNLX1ZGQkFESl9TTEVFUF9TSElGVCAgIDQKKworI2RlZmluZSBCVUNLX0NMS19TUkNfTUFTSyAgICAgICAgIDB4MDQwMAorI2RlZmluZSBCVUNLX0NMS19TUkNfU0hJRlQgICAgICAgIDEwCisKKyAgLy8gQlVDS19YWFggQ09OMgorI2RlZmluZSBCVUNLX0NBTF9NQVNLICAgICAgICAgICAgIDB4MDFGMAorI2RlZmluZSBCVUNLX0NBTF9TSElGVCAgICAgICAgICAgIDQKKworICAvLyBCVUNLX1hYWCBDT04zCisjZGVmaW5lIEJVQ0tfT0NfVERfT0ZGU0VUCQlDT04zX09GRlNFVAorI2RlZmluZSBCVUNLX09DX1REX01BU0sgICAgICAgICAgIDB4MDAzMAorI2RlZmluZSBCVUNLX09DX1REX1NISUZUICAgICAgICAgIDQKKworI2RlZmluZSBCVUNLX1NUQl9URF9PRkZTRVQJCUNPTjNfT0ZGU0VUCisjZGVmaW5lIEJVQ0tfU1RCX1REX01BU0sgICAgICAgICAgMHgwMEMwCisjZGVmaW5lIEJVQ0tfU1RCX1REX1NISUZUICAgICAgICAgNgorCisjZGVmaW5lIEJVQ0tfT0NfVEhEX01BU0sgICAgICAgICAgMHgwMzAwCisjZGVmaW5lIEJVQ0tfT0NfVEhEX1NISUZUICAgICAgICAgOAorCisjZGVmaW5lIEJVQ0tfT0NfV05EX01BU0sgICAgICAgICAgMHgwQzAwCisjZGVmaW5lIEJVQ0tfT0NfV05EX1NISUZUICAgICAgICAgMTAKKworI2RlZmluZSBCVUNLX0lDQUxfRU5fT0ZGU0VUCUNPTjNfT0ZGU0VUCisjZGVmaW5lIEJVQ0tfSUNBTF9FTl9NQVNLICAgICAgICAgMHgzMDAwCisjZGVmaW5lIEJVQ0tfSUNBTF9FTl9TSElGVCAgICAgICAgMTIKKworICAvLyBCVUNLIFhYWCBDT040CisjZGVmaW5lIEJVQ0tfQURKQ0tTRUxfT0ZGU0VUCUNPTjRfT0ZGU0VUCisjZGVmaW5lIEJVQ0tfQURKQ0tTRUxfTUFTSyAgICAgICAgICAgMHgwMDcwCisjZGVmaW5lIEJVTEtfQURKQ0tTRUxfU0hJRlQgIDQgIAorCisgIC8vIEJVQ0sgWFhYIENPTjUKKyNkZWZpbmUgQlVDS19DU1JfT0ZGU0VUICAgICAgIENPTjVfT0ZGU0VUCisjZGVmaW5lIEJVQ0tfQ1NSX01BU0sgICAgICAgICAgIDB4MDAwRgorI2RlZmluZSBCVUxLX0NTUl9TSElGVCAgMAorCisjZGVmaW5lIEJVQ0tfUlpTRUxfT0ZGU0VUICAgICAgIENPTjVfT0ZGU0VUCisjZGVmaW5lIEJVQ0tfUlpTRUxfTUFTSyAgICAgICAgICAgMHgwMDcwCisjZGVmaW5lIEJVTEtfUlpTRUxfU0hJRlQgIDQKKworI2RlZmluZSBCVUNLX0NTTF9PRkZTRVQJQ09ONV9PRkZTRVQKKyNkZWZpbmUgQlVDS19DU0xfTUFTSyAgICAgICAgICAgICAweDA3MDAKKyNkZWZpbmUgQlVDS19DU0xfU0hJRlQgICAgICAgICAgICA4CisKKyNkZWZpbmUgQlVDS19CVVJTVF9PRkZTRVQJCUNPTjVfT0ZGU0VUCisjZGVmaW5lIEJVQ0tfQlVSU1RfTUFTSyAgICAgICAgICAgMHgzMDAwCisjZGVmaW5lIEJVQ0tfQlVSU1RfU0hJRlQgICAgICAgICAgMTIKKworI2RlZmluZSBCVUNLX0dNU0VMX09GRlNFVAkJQ09ONV9PRkZTRVQKKyNkZWZpbmUgQlVDS19HTVNFTF9NQVNLICAgICAgICAgICAweDQwMDAKKyNkZWZpbmUgQlVDS19HTVNFTF9TSElGVCAgICAgICAgICAxNAorCisjZGVmaW5lIEJVQ0tfWlhfUEROX09GRlNFVAlDT041X09GRlNFVAorI2RlZmluZSBCVUNLX1pYX1BETl9NQVNLICAgICAgICAgICAweDgwMDAKKyNkZWZpbmUgQlVDS19aWF9QRE5fU0hJRlQgICAgICAgICAgMTUKKworICAvLyBCVUNLIFhYWCBDT042CisjZGVmaW5lIEJVQ0tfQ0tTX1BSR19PRkZTRVQgICAgIENPTjZfT0ZGU0VUCisjZGVmaW5lIEJVQ0tfQ0tTX1BSR19NQVNLICAgICAgICAgICAweDAwMWYKKyNkZWZpbmUgQlVDS19DS1NfUFJHX1NISUZUICAgICAgICAgIDAKKworCisjZW5kaWYgLy8gI2lmIGRlZmluZWQoX19EUlZfVVBNVV9CVUNLX1YxX18pCisKKyNpZiBkZWZpbmVkKF9fRFJWX1VQTVVfQk9PU1RfVjFfXykKKyNkZWZpbmUgQk9PU1RfQ09OMF9PRkZTRVQgICAgICAgICAweDAwCisjZGVmaW5lIEJPT1NUX0NPTjFfT0ZGU0VUICAgICAgICAgMHgwNAorI2RlZmluZSBCT09TVF9DT04yX09GRlNFVCAgICAgICAgIDB4MDgKKyNkZWZpbmUgQk9PU1RfQ09OM19PRkZTRVQgICAgICAgICAweDBDCisjZGVmaW5lIEJPT1NUX0NPTjRfT0ZGU0VUICAgICAgICAgMHgxMAorI2RlZmluZSBCT09TVF9DT041X09GRlNFVCAgICAgICAgIDB4MTQKKyNkZWZpbmUgQk9PU1RfQ09ONl9PRkZTRVQgICAgICAgICAweDE4CisvLyBCT09TVCBIL1cgcmVnaXN0ZXIgYml0bWFwIGRlZmluaXRpb24KKyAgLy8gQk9PU1RfWFhYIENPTjAKKyNkZWZpbmUgQk9PU1RfRU5fT0ZGU0VUCQlDT04wX09GRlNFVAorI2RlZmluZSBCT09TVF9FTl9NQVNLICAgICAgICAgICAgIDB4MDAwMQorI2RlZmluZSBCT09TVF9FTl9TSElGVCAgICAgICAgICAgIDAKKworI2RlZmluZSBCT09TVF9UWVBFX01BU0sgICAgICAgICAgIDB4MDAwMgorI2RlZmluZSBCT09TVF9UWVBFX1NISUZUICAgICAgICAgIDEKKworI2RlZmluZSBCT09TVF9NT0RFX01BU0sgICAgICAgICAgIDB4MDAwNAorI2RlZmluZSBCT09TVF9NT0RFX1NISUZUICAgICAgICAgIDIKKworI2RlZmluZSBCT09TVF9WUlNFTF9NQVNLICAgICAgICAgIDB4MDFGMAorI2RlZmluZSBCT09TVF9WUlNFTF9TSElGVCAgICAgICAgIDQKKworI2RlZmluZSBCT09TVF9PQ19BVVRPX09GRl9NQVNLICAgIDB4MTAwMAorI2RlZmluZSBCT09TVF9PQ19BVVRPX09GRl9TSElGVCAgIDEyCisKKyNkZWZpbmUgQk9PU1RfT0NfRkxBR19NQVNLICAgICAgICAweDQwMDAKKyNkZWZpbmUgQk9PU1RfT0NfRkxBR19TSElGVCAgICAgICAxNAorCisgIC8vIEJPT1NUX1hYWCBDT04xCisjZGVmaW5lIEJPT1NUX0NMX09GRlNFVAkgQ09OMV9PRkZTRVQKKyNkZWZpbmUgQk9PU1RfQ0xfTUFTSyAgICAgICAgICAgICAweDAwMDcKKyNkZWZpbmUgQk9PU1RfQ0xfU0hJRlQgICAgICAgICAgICAwCisKKyNkZWZpbmUgQk9PU1RfQ1NfTUFTSyAgICAgICAgICAgICAweDAwNzAKKyNkZWZpbmUgQk9PU1RfQ1NfU0hJRlQgICAgICAgICAgICA0CisKKyNkZWZpbmUgQk9PU1RfUkNfTUFTSyAgICAgICAgICAgICAweDA3MDAKKyNkZWZpbmUgQk9PU1RfUkNfU0hJRlQgICAgICAgICAgICA4CisKKyNkZWZpbmUgQk9PU1RfU1NfTUFTSyAgICAgICAgICAgICAweDcwMDAKKyNkZWZpbmUgQk9PU1RfU1NfU0hJRlQgICAgICAgICAgICAxMgorCisgIC8vIEJPT1NUX1hYWCBDT04yCisjZGVmaW5lIEJPT1NUX0NLU0VMX01BU0sgICAgICAgICAgMHgwMDAyCisjZGVmaW5lIEJPT1NUX0NLU0VMX1NISUZUICAgICAgICAgMQorCisjZGVmaW5lIEJPT1NUX1NSX1BNT1NfTUFTSyAgICAgICAgMHgwMDcwCisjZGVmaW5lIEJPT1NUX1NSX1BNT1NfU0hJRlQgICAgICAgNAorCisjZGVmaW5lIEJPT1NUX1NSX05NT1NfTUFTSyAgICAgICAgMHgwNzAwCisjZGVmaW5lIEJPT1NUX1NSX05NT1NfU0hJRlQgICAgICAgOAorCisjZGVmaW5lIEJPT1NUX1NMUF9NQVNLICAgICAgICAgICAgMHhDMDAwCisjZGVmaW5lIEJPT1NUX1NMUF9TSElGVCAgICAgICAgICAgMTQKKworICAvLyBCT09TVF9YWFggQ09OMworI2RlZmluZSBCT09TVF9DS1NfUFJHX01BU0sgICAgICAgIDB4MDAzRgorI2RlZmluZSBCT09TVF9DS1NfUFJHX1NISUZUICAgICAgIDAKKworICAvLyBCT09TVF9YWFggQ09ONAorI2RlZmluZSBCT09TVF9PQ19USERfTUFTSyAgICAgICAgIDB4MDAzMAorI2RlZmluZSBCT09TVF9PQ19USERfU0hJRlQgICAgICAgIDQKKworI2RlZmluZSBCT09TVF9PQ19XTkRfTUFTSyAgICAgICAgIDB4MDBDMAorI2RlZmluZSBCT09TVF9PQ19XTkRfU0hJRlQgICAgICAgIDYKKworI2RlZmluZSBCT09TVF9DTEtfQ0FMX09GRlNFVAlDT040X09GRlNFVAorI2RlZmluZSBCT09TVF9DTEtfQ0FMX01BU0sgICAgICAgIDB4NzAwMAorI2RlZmluZSBCT09TVF9DTEtfQ0FMX1NISUZUICAgICAgIDEyCisKKyAgLy8gQk9PU1RfWFhYIENPTjYKKyNkZWZpbmUgQk9PU1RfSFdfU0VMX01BU0sgICAgICAgICAweDAwMDEKKyNkZWZpbmUgQk9PU1RfSFdfU0VMX1NISUZUICAgICAgICAwCisKKyNkZWZpbmUgQk9PU1RfQ0NfTUFTSyAgICAgICAgICAgICAweDAwNzAKKyNkZWZpbmUgQk9PU1RfQ0NfU0hJRlQgICAgICAgICAgICA0CisKKyNlbmRpZiAvLyAjaWYgZGVmaW5lZChfX0RSVl9VUE1VX0JPT1NUX1YxX18pCisKKworI2lmIGRlZmluZWQoX19EUlZfVVBNVV9JU0lOS19WMV9fKQorI2RlZmluZSBJU0lOS19DT04wX09GRlNFVCAgICAgICAgIDB4MDAKKyNkZWZpbmUgSVNJTktfQ09OMV9PRkZTRVQgICAgICAgICAweDA0CisjZGVmaW5lIElTSU5LX0NPTjJfT0ZGU0VUICAgICAgICAgMHgwOAorLy8gaVNJTksgSC9XIHJlZ2lzdGVyIGJpdG1hcCBkZWZpbml0aW9uCisgIC8vIElTSU5LX1hYWCBDT04wCisjZGVmaW5lIElTSU5LX0VOX09GRlNFVAkJQ09OMF9PRkZTRVQKKyNkZWZpbmUgSVNJTktfRU5fTUFTSyAgICAgICAgICAgICAweDAwMDEKKyNkZWZpbmUgSVNJTktfRU5fU0hJRlQgICAgICAgICAgICAwCisKKyNkZWZpbmUgSVNJTktfTU9ERV9PRkZTRVQJCUNPTjBfT0ZGU0VUCisjZGVmaW5lIElTSU5LX01PREVfTUFTSyAgICAgICAgICAgMHgwMDAyCisjZGVmaW5lIElTSU5LX01PREVfU0hJRlQgICAgICAgICAgMQorCisjZGVmaW5lIElTSU5LX1NURVBfT0ZGU0VUCQlDT04wX09GRlNFVAorI2RlZmluZSBJU0lOS19TVEVQX01BU0sgICAgICAgICAgIDB4MDFGMAorI2RlZmluZSBJU0lOS19TVEVQX1NISUZUICAgICAgICAgIDQKKworI2RlZmluZSBJU0lOS19TVEFUVVNfTUFTSyAgICAgICAgIDB4ODAwMAorI2RlZmluZSBJU0lOS19TVEFUVVNfU0hJRlQgICAgICAgIDE1CisKKyAgLy8gSVNJTktfWFhYIENPTjEKKyNkZWZpbmUgSVNJTktfVlJFRl9DQUxfTUFTSyAgICAgICAweDFGMDAKKyNkZWZpbmUgSVNJTktfVlJFRl9DQUxfU0hJRlQgICAgICA4CisKKyNlbmRpZiAvLyAjaWYgZGVmaW5lZChfX0RSVl9VUE1VX0lTSU5LX1YxX18pCisKKworI2lmIGRlZmluZWQoX19EUlZfVVBNVV9LUExFRF9WMV9fKQorI2RlZmluZSBLUExFRF9DT04wX09GRlNFVCAgICAgICAgIDB4MDAKKyNkZWZpbmUgS1BMRURfQ09OMV9PRkZTRVQgICAgICAgICAweDA0CisvLyBLUExFRCBIL1cgcmVnaXN0ZXIgYml0bWFwIGRlZmluaXRpb24KKyAgLy8gS1BMRURfWFhYIENPTjAKKyNkZWZpbmUgS1BMRURfRU5fT0ZGU0VUCQlDT04wX09GRlNFVAorI2RlZmluZSBLUExFRF9FTl9NQVNLICAgICAgICAgICAgIDB4MDAwMQorI2RlZmluZSBLUExFRF9FTl9TSElGVCAgICAgICAgICAgIDAKKworI2RlZmluZSBLUExFRF9NT0RFX09GRlNFVAkJQ09OMF9PRkZTRVQKKyNkZWZpbmUgS1BMRURfTU9ERV9NQVNLICAgICAgICAgICAweDAwMDIKKyNkZWZpbmUgS1BMRURfTU9ERV9TSElGVCAgICAgICAgICAxCisKKyNkZWZpbmUgS1BMRURfU0VMX09GRlNFVAkJQ09OMF9PRkZTRVQKKyNkZWZpbmUgS1BMRURfU0VMX01BU0sgICAgICAgICAgICAweDAwNzAKKyNkZWZpbmUgS1BMRURfU0VMX1NISUZUICAgICAgICAgICA0CisKKyNkZWZpbmUgS1BMRURfU0ZTVFJUX0NfT0ZGU0VUCQlDT04wX09GRlNFVAorI2RlZmluZSBLUExFRF9TRlNUUlRfQ19NQVNLICAgICAgIDB4MDMwMAorI2RlZmluZSBLUExFRF9TRlNUUlRfQ19TSElGVCAgICAgIDgKKworI2RlZmluZSBLUExFRF9TRlNUUlRfRU5fT0ZGU0VUCUNPTjBfT0ZGU0VUCisjZGVmaW5lIEtQTEVEX1NGU1RSVF9FTl9NQVNLICAgICAgMHgwNDAwCisjZGVmaW5lIEtQTEVEX1NGU1RSVF9FTl9TSElGVCAgICAgMTAKKworI2RlZmluZSBLUExFRF9TVEFUVVNfT0ZGU0VUCUNPTjBfT0ZGU0VUCisjZGVmaW5lIEtQTEVEX1NUQVRVU19NQVNLICAgICAgICAgMHg4MDAwCisjZGVmaW5lIEtQTEVEX1NUQVRVU19TSElGVCAgICAgICAgMTUKKworI2VuZGlmIC8vICNpZiBkZWZpbmVkKF9fRFJWX1VQTVVfS1BMRURfVjFfXykKKworCisjaWYgZGVmaW5lZChfX0RSVl9VUE1VX1NQS19WMV9fKQorI2RlZmluZSBTUEtfQ09OMF9PRkZTRVQgICAgICAgICAgIDB4MDAKKyNkZWZpbmUgU1BLX0NPTjFfT0ZGU0VUICAgICAgICAgICAweDA0CisjZGVmaW5lIFNQS19DT04yX09GRlNFVCAgICAgICAgICAgMHgwOAorI2RlZmluZSBTUEtfQ09OM19PRkZTRVQgICAgICAgICAgIDB4MEMKKyNkZWZpbmUgU1BLX0NPTjRfT0ZGU0VUICAgICAgICAgICAweDEwCisjZGVmaW5lIFNQS19DT041X09GRlNFVCAgICAgICAgICAgMHgxNAorI2RlZmluZSBTUEtfQ09ONl9PRkZTRVQgICAgICAgICAgIDB4MTgKKyNkZWZpbmUgU1BLX0NPTjdfT0ZGU0VUICAgICAgICAgICAweDFDCisvLyBTUEsgSC9XIHJlZ2lzdGVyIGJpdG1hcCBkZWZpbml0aW9uCisgIC8vIFNQS19YWFggQ09OMAorI2RlZmluZSBTUEtfRU5fTUFTSyAgICAgICAgICAgICAgIDB4MDAwMQorI2RlZmluZSBTUEtfRU5fU0hJRlQgICAgICAgICAgICAgIDAKKworI2RlZmluZSBTUEtfUlNUX01BU0sgICAgICAgICAgICAgIDB4MDAwMgorI2RlZmluZSBTUEtfUlNUX1NISUZUICAgICAgICAgICAgIDEKKworI2RlZmluZSBTUEtfVk9MX09GRlNFVAkJQ09OMF9PRkZTRVQKKyNkZWZpbmUgU1BLX1ZPTF9NQVNLICAgICAgICAgICAgICAweDAxRjAKKyNkZWZpbmUgU1BLX1ZPTF9TSElGVCAgICAgICAgICAgICA0CisKKyNkZWZpbmUgU1BLX09DX0FVVE9fT0ZGX01BU0sgICAgICAweDEwMDAKKyNkZWZpbmUgU1BLX09DX0FVVE9fT0ZGX1NISUZUICAgICAxMgorCisjZGVmaW5lIFNQS19PQ0ZCX0VOX01BU0sgICAgICAgICAgMHgyMDAwCisjZGVmaW5lIFNQS19PQ0ZCX0VOX1NISUZUICAgICAgICAgMTMKKworI2RlZmluZSBTUEtfT0NfRkxBR19NQVNLICAgICAgICAgIDB4NDAwMAorI2RlZmluZSBTUEtfT0NfRkxBR19TSElGVCAgICAgICAgIDE0CisKKyAgLy8gU1BLX1hYWCBDT04xCisjZGVmaW5lIFNQS19QRkRfTU9ERV9NQVNLICAgICAgICAgMHgwMDAxCisjZGVmaW5lIFNQS19QRkRfTU9ERV9TSElGVCAgICAgICAgMAorCisjZGVmaW5lIFNQS19DTU9ERV9NQVNLICAgICAgICAgICAgMHgwMDBDCisjZGVmaW5lIFNQS19DTU9ERV9TSElGVCAgICAgICAgICAgMgorCisjZGVmaW5lIFNQS19DQ09ERV9NQVNLICAgICAgICAgICAgMHgwMEYwCisjZGVmaW5lIFNQS19DQ09ERV9TSElGVCAgICAgICAgICAgNAorCisgIC8vIFNQS19YWFggQ09OMgorI2RlZmluZSBTUEtfT0NfVEhEX01BU0sgICAgICAgICAgIDB4MDAzMAorI2RlZmluZSBTUEtfT0NfVEhEX1NISUZUICAgICAgICAgIDQKKworI2RlZmluZSBTUEtfT0NfV05EX01BU0sgICAgICAgICAgIDB4MDBDMAorI2RlZmluZSBTUEtfT0NfV05EX1NISUZUICAgICAgICAgIDYKKworICAvLyBTUEtfWFhYIENPTjMKKyNkZWZpbmUgU1BLX09DX0VOX09GRlNFVAlDT04zX09GRlNFVCAgCisjZGVmaW5lIFNQS19PQ19FTl9NQVNLICAgICAgICAgICAgMHgwNDAwCisjZGVmaW5lIFNQS19PQ19FTl9TSElGVCAgICAgICAgICAgMTAKKworI2RlZmluZSBTUEtfT1NDX0lTRUxfTUFTSyAgICAgICAgIDB4MDBDMAorI2RlZmluZSBTUEtfT1NDX0lTRUxfU0hJRlQgICAgICAgIDYKKworICAvLyBTUEtfWFhYIENPTjQKKyNkZWZpbmUgU1BLX05HX0RUX0RMWV9NQVNLICAgICAgICAgMHgwMDBmCisjZGVmaW5lIFNQS19OR19EVF9ETFlfU0hJRlQgICAgICAgIDAKKyNkZWZpbmUgU1BLX09DTl9CSUFTX01BU0sgICAgICAgICAgICAweDA3MDAKKyNkZWZpbmUgU1BLX09DTl9CSUFTX1NISUZUICAgICAgICAgICA4CisjZGVmaW5lIFNQS19PQ1BfQklBU19NQVNLICAgICAgICAgICAgMHg3MDAwCisjZGVmaW5lIFNQS19PQ1BfQklBU19TSElGVCAgICAgICAgICAgMTIKKworICAvLyBTUEtfWFhYIENPTjUKKyNkZWZpbmUgU1BLX05HX1NMRVdfRExZX01BU0sgICAgICAgICAgICAweDAwMDcKKyNkZWZpbmUgU1BLX05HX1NMRVdfRExZX1NISUZUICAgICAgICAgICAwCisjZGVmaW5lIFNQS19QR19TTEVXX0RMWV9NQVNLICAgICAgICAgICAgMHgwNzAwCisjZGVmaW5lIFNQS19QR19TTEVXX0RMWV9TSElGVCAgICAgICAgICAgOAorI2RlZmluZSBTUEtfUEdfU0xFV19JX01BU0sgICAgICAgICAgICAweDMwMDAKKyNkZWZpbmUgU1BLX1BHX1NMRVdfSV9TSElGVCAgICAgICAgICAgMTIKKworCisgIC8vIFNQS19YWFggQ09ONworI2RlZmluZSBTUEtfQUJfT0JJQVNfTUFTSyAgICAgICAgIDB4MDAzMAorI2RlZmluZSBTUEtfQUJfT0JJQVNfU0hJRlQgICAgICAgIDQKKyNkZWZpbmUgU1BLX0FCX09DX0VOX01BU0sgICAgICAgICAweDAxMDAKKyNkZWZpbmUgU1BLX0FCX09DX0VOX1NISUZUICAgICAgICA4CisjZGVmaW5lIFNQS19NT0RFX01BU0sgICAgICAgICAgICAgMHgwMDAxCisjZGVmaW5lIFNQS19NT0RFX1NISUZUICAgICAgICAgICAgMAorCisKKyNlbmRpZiAvLyAjaWYgZGVmaW5lZChfX0RSVl9VUE1VX1NQS19WMV9fKQorCisKKyNpZiBkZWZpbmVkKF9fRFJWX1VQTVVfU1BLX1YyX18pCisjZGVmaW5lIFNQS19DT04wX09GRlNFVCAgICAgICAgICAgMHgwMAorI2RlZmluZSBTUEtfQ09OMV9PRkZTRVQgICAgICAgICAgIDB4MDQKKy8vIFNQSyBIL1cgcmVnaXN0ZXIgYml0bWFwIGRlZmluaXRpb24KKyAgLy8gU1BLX1hYWCBDT04wCisjZGVmaW5lIFNQS19FTl9NQVNLICAgICAgICAgICAgICAgMHgwMDAxCisjZGVmaW5lIFNQS19FTl9TSElGVCAgICAgICAgICAgICAgMAorCisjZGVmaW5lIFNQS19WT0xfT0ZGU0VUCQlDT04wX09GRlNFVAorI2RlZmluZSBTUEtfVk9MX01BU0sgICAgICAgICAgICAgIDB4MDAxRQorI2RlZmluZSBTUEtfVk9MX1NISUZUICAgICAgICAgICAgIDEKKworI2RlZmluZSBTUEtfT1VUX0ZMT0FUX0JfTUFTSyAgICAgIDB4MDAyMAorI2RlZmluZSBTUEtfT1VUX0ZMT0FUX0JfU0hJRlQgICAgIDUKKworI2RlZmluZSBTUEtfT0NfRU5fT0ZGU0VUCUNPTjBfT0ZGU0VUICAKKyNkZWZpbmUgU1BLX09DX0VOX01BU0sgICAgICAgICAgICAweDAwNDAKKyNkZWZpbmUgU1BLX09DX0VOX1NISUZUICAgICAgICAgICA2CisKKyNkZWZpbmUgU1BLX09CSUFTX01BU0sgICAgICAgICAgICAweDAwQzAKKyNkZWZpbmUgU1BLX09CSUFTX1NISUZUICAgICAgICAgICA3CisKKyNkZWZpbmUgU1BLX0lOX1RJRV9ISUdIX01BU0sgICAgICAweDA0MDAKKyNkZWZpbmUgU1BLX0lOX1RJRV9ISUdIX1NISUZUICAgICAxMAorCisjZGVmaW5lIFNQS19JTl9GTE9BVF9CX01BU0sgICAgICAgMHgwODAwCisjZGVmaW5lIFNQS19JTl9GTE9BVF9CX1NISUZUICAgICAgMTEKKworI2RlZmluZSBTUEtfTUlOVVNfR0FJTl9NQVNLICAgICAgIDB4MzAwMAorI2RlZmluZSBTUEtfTUlOVVNfR0FJTl9TSElGVCAgICAgIDEyCisKKyAgLy8gU1BLX1hYWCBDT04xCisjZGVmaW5lIFNQS19PQ19USERfTUFTSyAgICAgICAgICAgMHgwMDAzICAgLy8gT0NfVFJHCisjZGVmaW5lIFNQS19PQ19USERfU0hJRlQgICAgICAgICAgMAorCisjZGVmaW5lIFNQS19PQ19XTkRfTUFTSyAgICAgICAgICAgMHgwMDBDCisjZGVmaW5lIFNQS19PQ19XTkRfU0hJRlQgICAgICAgICAgMgorCisjZGVmaW5lIFNQS19PQ19BVVRPX09GRl9NQVNLICAgICAgMHgwMDQwCisjZGVmaW5lIFNQS19PQ19BVVRPX09GRl9TSElGVCAgICAgNgorCisjZGVmaW5lIFNQS19PQ19GTEFHX01BU0sgICAgICAgICAgMHg4MDAwCisjZGVmaW5lIFNQS19PQ19GTEFHX1NISUZUICAgICAgICAgMTUKKworI2VuZGlmIC8vICNpZiBkZWZpbmVkKF9fRFJWX1VQTVVfU1BLX1YyX18pCisKKworI2lmIGRlZmluZWQoX19EUlZfVVBNVV9DSEFSR0VSX1YxX18pCisjZGVmaW5lIENIUl9DT04wX09GRlNFVCAgICAgICAgICAgMHgwMAorI2RlZmluZSBDSFJfQ09OMV9PRkZTRVQgICAgICAgICAgIDB4MDQKKyNkZWZpbmUgQ0hSX0NPTjJfT0ZGU0VUICAgICAgICAgICAweDA4CisjZGVmaW5lIENIUl9DT04zX09GRlNFVCAgICAgICAgICAgMHgwQworI2RlZmluZSBDSFJfQ09ONF9PRkZTRVQgICAgICAgICAgIDB4MTAKKyNkZWZpbmUgQ0hSX0NPTjVfT0ZGU0VUICAgICAgICAgICAweDE0CisjZGVmaW5lIENIUl9DT042X09GRlNFVCAgICAgICAgICAgMHgxOAorI2RlZmluZSBDSFJfQ09ON19PRkZTRVQgICAgICAgICAgIDB4MUMKKyNkZWZpbmUgQ0hSX0NPTjhfT0ZGU0VUICAgICAgICAgICAweDIwCisjZGVmaW5lIENIUl9DT045X09GRlNFVCAgICAgICAgICAgMHgyNAorI2RlZmluZSBDSFJfQkMxMV9DT04wX09GRlNFVCAgICAgIENIUl9DT045X09GRlNFVAorI2RlZmluZSBDSFJfQ09OMTBfT0ZGU0VUICAgICAgICAgIDB4MjgKKyNkZWZpbmUgQ0hSX0JDMTFfQ09OMV9PRkZTRVQgICAgICBDSFJfQ09OMTBfT0ZGU0VUCisvLyBDSEFSR0VSIEgvVyByZWdpc3RlciBiaXRtYXAgZGVmaW5pdGlvbgorICAvLyBDSFJfWFhYIENPTjAKKyNkZWZpbmUgVkNEVF9MVl9WVEhfTUFTSyAgICAgICAgICAweDAwMUYKKyNkZWZpbmUgVkNEVF9MVl9WVEhfU0hJRlQgICAgICAgICAwCisjZGVmaW5lIFZDRFRfSFZfVlRIX01BU0sgICAgICAgICAgMHgwMEYwCisjZGVmaW5lIFZDRFRfSFZfVlRIX1NISUZUICAgICAgICAgNAorI2RlZmluZSBWQ0RUX0hWX0VOX01BU0sgICAgICAgICAgIDB4MDEwMAorI2RlZmluZSBWQ0RUX0hWX0VOX1NISUZUICAgICAgICAgIDgKKyNkZWZpbmUgUENIUl9BVVRPX01BU0sgICAgICAgICAgICAweDA0MDAKKyNkZWZpbmUgUENIUl9BVVRPX1NISUZUICAgICAgICAgICAxMAorCisjZGVmaW5lIENTREFDX0VOX09GRlNFVAkJQ09OMF9PRkZTRVQKKyNkZWZpbmUgQ1NEQUNfRU5fTUFTSyAgICAgICAgICAgICAweDA4MDAKKyNkZWZpbmUgQ1NEQUNfRU5fU0hJRlQgICAgICAgICAgICAxMQorCisjZGVmaW5lIENIUl9FTl9PRkZTRVQJCUNPTjBfT0ZGU0VUCisjZGVmaW5lIENIUl9FTl9NQVNLICAgICAgICAgICAgICAgMHgxMDAwCisjZGVmaW5lIENIUl9FTl9TSElGVCAgICAgICAgICAgICAgMTIKKworI2RlZmluZSBDSFJERVRfT0ZGU0VUCQlDT04wX09GRlNFVAorI2RlZmluZSBDSFJERVRfTUFTSyAgICAgICAgICAgICAgIDB4MjAwMAorI2RlZmluZSBDSFJERVRfU0hJRlQgICAgICAgICAgICAgIDEzCisKKyNkZWZpbmUgVkNEVF9MVl9ERVRfTUFTSyAgICAgICAgICAweDQwMDAKKyNkZWZpbmUgVkNEVF9MVl9ERVRfU0hJRlQgICAgICAgICAxNAorI2RlZmluZSBWQ0RUX0hWX0RFVF9NQVNLICAgICAgICAgIDB4ODAwMAorI2RlZmluZSBWQ0RUX0hWX0RFVF9TSElGVCAgICAgICAgIDE1CisgIC8vIENIUl9YWFggQ09OMQorI2RlZmluZSBWQkFUX0NWX1ZUSF9PRkZTRVQJCUNPTjFfT0ZGU0VUCisjZGVmaW5lIFZCQVRfQ1ZfVlRIX01BU0sgICAgICAgICAgMHgwMDFGCisjZGVmaW5lIFZCQVRfQ1ZfVlRIX1NISUZUICAgICAgICAgMAorCisjZGVmaW5lIFZCQVRfQ0NfVlRIX01BU0sgICAgICAgICAgMHgwMEMwCisjZGVmaW5lIFZCQVRfQ0NfVlRIX1NISUZUICAgICAgICAgNgorCisjZGVmaW5lIFZCQVRfQ1ZfRU5fT0ZGU0VUCQlDT04xX09GRlNFVAorI2RlZmluZSBWQkFUX0NWX0VOX01BU0sgICAgICAgICAgIDB4MDEwMAorI2RlZmluZSBWQkFUX0NWX0VOX1NISUZUICAgICAgICAgIDgKKworI2RlZmluZSBWQkFUX0NDX0VOX01BU0sgICAgICAgICAgIDB4MDIwMAorI2RlZmluZSBWQkFUX0NDX0VOX1NISUZUICAgICAgICAgIDkKKworI2RlZmluZSBWQkFUX0NWX0RFVF9PRkZTRVQJCUNPTjFfT0ZGU0VUCisjZGVmaW5lIFZCQVRfQ1ZfREVUX01BU0sgICAgICAgICAgMHg0MDAwCisjZGVmaW5lIFZCQVRfQ1ZfREVUX1NISUZUICAgICAgICAgMTQKKworI2RlZmluZSBWQkFUX0NDX0RFVF9NQVNLICAgICAgICAgIDB4ODAwMAorI2RlZmluZSBWQkFUX0NDX0RFVF9TSElGVCAgICAgICAgIDE1CisgIC8vIENIUl9YWFggQ09OMgorI2RlZmluZSBQQ0hSX1RPSFRDX01BU0sgICAgICAgICAgIDB4MDAwNworI2RlZmluZSBQQ0hSX1RPSFRDX1NISUZUICAgICAgICAgIDAKKyNkZWZpbmUgUENIUl9UT0xUQ19NQVNLICAgICAgICAgICAweDAwNzAKKyNkZWZpbmUgUENIUl9UT0xUQ19TSElGVCAgICAgICAgICA0CisKKyNkZWZpbmUgQ1NfVlRIX09GRlNFVAkJQ09OMl9PRkZTRVQKKyNkZWZpbmUgQ1NfVlRIX01BU0sgICAgICAgICAgICAgICAweDA3MDAKKyNkZWZpbmUgQ1NfVlRIX1NISUZUICAgICAgICAgICAgICA4CisKKyNkZWZpbmUgQ1NfRU5fTUFTSyAgICAgICAgICAgICAgICAweDEwMDAKKyNkZWZpbmUgQ1NfRU5fU0hJRlQgICAgICAgICAgICAgICAxMgorI2lmIGRlZmluZWQoX19EUlZfT1RHX0JWQUxJRF9ERVRfQVRfQ09OMl9CSVQxNF9fKQorI2RlZmluZSBPVEdfQlZBTElEX0RFVF9NQVNLICAgICAgIDB4NDAwMAorI2RlZmluZSBPVEdfQlZBTElEX0RFVF9TSElGVCAgICAgIDE0CisjZW5kaWYgLy8gI2lmIGRlZmluZWQoX19EUlZfT1RHX0JWQUxJRF9ERVRfQVRfQ09OMl9CSVQxNF9fKQorI2RlZmluZSBDU19ERVRfTUFTSyAgICAgICAgICAgICAgIDB4ODAwMAorI2RlZmluZSBDU19ERVRfU0hJRlQgICAgICAgICAgICAgIDE1CisgIC8vIENIUl9YWFggQ09OMworI2RlZmluZSBDU0RBQ19TVFBfTUFTSyAgICAgICAgICAgIDB4MDAwMworI2RlZmluZSBDU0RBQ19TVFBfU0hJRlQgICAgICAgICAgIDAKKyNpZiBkZWZpbmVkKF9fRFJWX1ZCQVRfT1ZfRU5fQVRfQ09OM19CSVQzX18pCisjZGVmaW5lIFZCQVRfT1ZfRU5fTUFTSyAgICAgICAgICAgMHgwMDA4CisjZGVmaW5lIFZCQVRfT1ZfRU5fU0hJRlQgICAgICAgICAgMworI2VuZGlmIC8vICNpZiBkZWZpbmVkKF9fRFJWX1ZCQVRfT1ZfRU5fQVRfQ09OM19CSVQzX18pCisjZGVmaW5lIENTREFDX0RMWV9NQVNLICAgICAgICAgICAgMHgwMDMwCisjZGVmaW5lIENTREFDX0RMWV9TSElGVCAgICAgICAgICAgNAorI2RlZmluZSBWQkFUX09WX1ZUSF9NQVNLICAgICAgICAgIDB4MDBDMAorI2RlZmluZSBWQkFUX09WX1ZUSF9TSElGVCAgICAgICAgIDYKKyNpZiBkZWZpbmVkKF9fRFJWX1ZCQVRfT1ZfRU5fQVRfQ09OM19CSVQ4X18pCisjZGVmaW5lIFZCQVRfT1ZfRU5fTUFTSyAgICAgICAgICAgMHgwMTAwCisjZGVmaW5lIFZCQVRfT1ZfRU5fU0hJRlQgICAgICAgICAgOAorI2VuZGlmIC8vICNpZiBkZWZpbmVkKF9fRFJWX1ZCQVRfT1ZfRU5fQVRfQ09OM19CSVQ4X18pCisjaWYgZGVmaW5lZChfX0RSVl9CQVRPTl9FTl9BVF9DT04zX0JJVDlfXykKKyNkZWZpbmUgQkFUT05fRU5fTUFTSyAgICAgICAgICAgICAweDAyMDAKKyNkZWZpbmUgQkFUT05fRU5fU0hJRlQgICAgICAgICAgICA5CisjZW5kaWYgLy8gI2lmIGRlZmluZWQoX19EUlZfQkFUT05fRU5fQVRfQ09OM19CSVQ5X18pCisKKyNkZWZpbmUgQkFUT05fSFRfRU5fTUFTSwkJMHgwNDAwCisjZGVmaW5lIEJBVE9OX0hUX0VOX1NISUZUIAkJMTAKKworI2lmIGRlZmluZWQoX19EUlZfQkFUT05fRU5fQVRfQ09OM19CSVQxMl9fKQorI2RlZmluZSBCQVRPTl9FTl9NQVNLICAgICAgICAgICAgIDB4MTAwMAorI2RlZmluZSBCQVRPTl9FTl9TSElGVCAgICAgICAgICAgIDEyCisjZW5kaWYgLy8gI2lmIGRlZmluZWQoX19EUlZfQkFUT05fRU5fQVRfQ09OM19CSVQxMl9fKQorI2lmIGRlZmluZWQoX19EUlZfT1RHX0JWQUxJRF9FTl9BVF9DT04zX0JJVDEzX18pCisjZGVmaW5lIE9UR19CVkFMSURfRU5fT0ZGU0VUICAgICBDT04zX09GRlNFVAorI2RlZmluZSBPVEdfQlZBTElEX0VOX01BU0sgICAgICAgIDB4MjAwMAorI2RlZmluZSBPVEdfQlZBTElEX0VOX1NISUZUICAgICAgIDEzCisjZW5kaWYgLy8gI2lmIGRlZmluZWQoX19EUlZfT1RHX0JWQUxJRF9FTl9BVF9DT04zX0JJVDEzX18pCisjZGVmaW5lIFZCQVRfT1ZfREVUX01BU0sgICAgICAgICAgMHg0MDAwCisjZGVmaW5lIFZCQVRfT1ZfREVUX1NISUZUICAgICAgICAgMTQKKyNkZWZpbmUgQkFUT05fVU5ERVRfTUFTSyAgICAgICAgICAweDgwMDAKKyNkZWZpbmUgQkFUT05fVU5ERVRfU0hJRlQgICAgICAgICAxNQorICAvLyBDSFJfWFhYIENPTjQKKyNkZWZpbmUgUENIUl9URVNUX01BU0sgICAgICAgICAgICAweDAwMDEKKyNkZWZpbmUgUENIUl9URVNUX1NISUZUICAgICAgICAgICAwCisjZGVmaW5lIFBDSFJfQ1NEQUNfVEVTVF9NQVNLICAgICAgMHgwMDAyCisjZGVmaW5lIFBDSFJfQ1NEQUNfVEVTVF9TSElGVCAgICAgMQorI2RlZmluZSBQQ0hSX1JTVF9NQVNLICAgICAgICAgICAgIDB4MDAwNAorI2RlZmluZSBQQ0hSX1JTVF9TSElGVCAgICAgICAgICAgIDIKKyNkZWZpbmUgQ1NEQUNfREFUX01BU0sgICAgICAgICAgICAweEZGMDAKKyNkZWZpbmUgQ1NEQUNfREFUX1NISUZUICAgICAgICAgICA4CisgIC8vIENIUl9YWFggQ09ONQorI2RlZmluZSBQQ0hSX0ZMQUdfU0VMX01BU0sgICAgICAgIDB4MDAwRgorI2RlZmluZSBQQ0hSX0ZMQUdfU0VMX1NISUZUICAgICAgIDAKKyNkZWZpbmUgUENIUl9GTEFHX0VOX01BU0sgICAgICAgICAweDAwODAKKyNkZWZpbmUgUENIUl9GTEFHX0VOX1NISUZUICAgICAgICA3CisjZGVmaW5lIFBDSFJfRkxBR19PVVRfTUFTSyAgICAgICAgMHgwRjAwCisjZGVmaW5lIFBDSFJfRkxBR19PVVRfU0hJRlQgICAgICAgOAorI2lmIGRlZmluZWQoX19EUlZfT1RHX0JWQUxJRF9FTl9BVF9DT041X0JJVDEyX18pCisjZGVmaW5lIE9UR19CVkFMSURfRU5fT0ZGU0VUICAgICBDT041X09GRlNFVAorI2RlZmluZSBPVEdfQlZBTElEX0VOX01BU0sgICAgICAgIDB4MTAwMAorI2RlZmluZSBPVEdfQlZBTElEX0VOX1NISUZUICAgICAgIDEyCisjZW5kaWYgLy8gI2lmIGRlZmluZWQoX19EUlZfT1RHX0JWQUxJRF9FTl9BVF9DT041X0JJVDEyX18pCisjaWYgZGVmaW5lZChfX0RSVl9PVEdfQlZBTElEX0RFVF9BVF9DT041X0JJVDE1X18pCisjZGVmaW5lIE9UR19CVkFMSURfREVUX01BU0sgICAgICAgMHg4MDAwCisjZGVmaW5lIE9UR19CVkFMSURfREVUX1NISUZUICAgICAgMTUKKyNlbmRpZiAvLyAjaWYgZGVmaW5lZChfX0RSVl9PVEdfQlZBTElEX0RFVF9BVF9DT041X0JJVDE1X18pCisKKyAgLy8gQ0hSX1hYWCBDT042CisKKyNkZWZpbmUgQ0hSV0RUX1REX09GRlNFVAkJQ09ONl9PRkZTRVQgCisjZGVmaW5lIENIUldEVF9URF9NQVNLICAgICAgICAgICAgMHgwMDBGICAvLyBUVFRUVFRUVFQKKyNkZWZpbmUgQ0hSV0RUX1REX1NISUZUICAgICAgICAgICAwCisKKyNkZWZpbmUgQ0hSV0RUX0VOX09GRlNFVAkJQ09ONl9PRkZTRVQKKyNkZWZpbmUgQ0hSV0RUX0VOX01BU0sgICAgICAgICAgICAweDAwMTAKKyNkZWZpbmUgQ0hSV0RUX0VOX1NISUZUICAgICAgICAgICA0CisKKyAgLy8gQ0hSX1hYWCBDT043CisjZGVmaW5lIENIUldEVF9JTlRfRU5fT0ZGU0VUCUNPTjdfT0ZGU0VUICAKKyNkZWZpbmUgQ0hSV0RUX0lOVF9FTl9NQVNLICAgICAgICAweDAwMDEKKyNkZWZpbmUgQ0hSV0RUX0lOVF9FTl9TSElGVCAgICAgICAwCisKKyNkZWZpbmUgQ0hSV0RUX0ZMQUdfV1JfTUFTSyAgICAgICAweDAwMDIKKyNkZWZpbmUgQ0hSV0RUX0ZMQUdfV1JfU0hJRlQgICAgICAxCisjZGVmaW5lIENIUldEVF9PVVRfTUFTSyAgICAgICAgICAgMHg4MDAwCisjZGVmaW5lIENIUldEVF9PVFVfU0hJRlQgICAgICAgICAgMTUKKyAgLy8gQ0hSX1hYWCBDT044CisjZGVmaW5lIEJHUl9SU0VMX01BU0sgICAgICAgICAgICAgMHgwMDA3CisjZGVmaW5lIEJHUl9SU0VMX1NISUZUICAgICAgICAgICAgMAorI2RlZmluZSBCR1JfVU5DSE9QX1BIX01BU0sgICAgICAgIDB4MDAxMAorI2RlZmluZSBCR1JfVU5DSE9QX1BIX1NISUZUICAgICAgIDQKKyNkZWZpbmUgQkdSX1VOQ0hPUF9NQVNLICAgICAgICAgICAweDAwMjAKKyNkZWZpbmUgQkdSX1VOQ0hPUF9TSElGVCAgICAgICAgICA1CisjZGVmaW5lIFVWTE9fVlRITF9NQVNLICAgICAgICAgICAgMHgwMzAwCisjZGVmaW5lIFVWTE9fVlRITF9TSElGVCAgICAgICAgICAgOAorCisjZGVmaW5lIEFEQ19FTl9PRkZTRVQJCSBDT044X09GRlNFVAorI2RlZmluZSBBRENfRU5fTUFTSyAgICAgICAgICAgICAgIDB4NzAwMCAgIC8vIEFsbCBBREMgY2hhbm5lbHMgYXJlIGVuYWJsZWQgYXQgc2FtZSB0aW1lCisjZGVmaW5lIEFEQ19FTl9TSElGVCAgICAgICAgICAgICAgMTIKKyAgLy8gQ0hSX1hYWCBDT045IChDSFJfQkMxMV9DT04wKQorCisjaWYgZGVmaW5lZChfX0RSVl9VUE1VX0JDMTFfVjFfXykKKworI2lmIGRlZmluZWQoX19EUlZfVVBNVV9CQzExX01BUFBJTkdfVjFfXykKKyNkZWZpbmUgQkMxMV9WUkVGX1ZUSF9PRkZTRVQgICAgIENPTjlfT0ZGU0VUCisjZGVmaW5lIEJDMTFfVlJFRl9WVEhfTUFTSyAgICAgICAgMHgwMDAxCisjZGVmaW5lIEJDMTFfVlJFRl9WVEhfU0hJRlQgICAgICAgMAorCisjZGVmaW5lIEJDMTFfQ01QX0VOX09GRlNFVCAgICAgICBDT045X09GRlNFVAorI2RlZmluZSBCQzExX0NNUF9FTl9NQVNLICAgICAgICAgIDB4MDAwNgorI2RlZmluZSBCQzExX0NNUF9FTl9TSElGVCAgICAgICAgIDEKKworI2RlZmluZSBCQzExX0lQRF9FTl9PRkZTRVQgICAgICBDT045X09GRlNFVAorI2RlZmluZSBCQzExX0lQRF9FTl9NQVNLICAgICAgICAgIDB4MDAxOAorI2RlZmluZSBCQzExX0lQRF9FTl9TSElGVCAgICAgICAgIDMKKworI2RlZmluZSBCQzExX0lQVV9FTl9PRkZTRVQJICAgICBDT045X09GRlNFVAorI2RlZmluZSBCQzExX0lQVV9FTl9NQVNLICAgICAgICAgIDB4MDA2MAorI2RlZmluZSBCQzExX0lQVV9FTl9TSElGVCAgICAgICAgIDUKKworI2RlZmluZSBCQzExX0JJQVNfRU5fT0ZGU0VUCUNPTjlfT0ZGU0VUCisjZGVmaW5lIEJDMTFfQklBU19FTl9NQVNLICAgICAgICAgMHgwMDgwCisjZGVmaW5lIEJDMTFfQklBU19FTl9TSElGVCAgICAgICAgNworCisjZGVmaW5lIEJDMTFfQkJfQ1RSTF9PRkZTRVQJQ09OOV9PRkZTRVQKKyNkZWZpbmUgQkMxMV9CQl9DVFJMX01BU0sgICAgICAgICAweDAxMDAKKyNkZWZpbmUgQkMxMV9CQl9DVFJMX1NISUZUICAgICAgICA4CisKKyNkZWZpbmUgQkMxMV9SU1RfT0ZGU0VUCSAgQ09OOV9PRkZTRVQKKyNkZWZpbmUgQkMxMV9SU1RfTUFTSyAgICAgICAgICAgICAweDAyMDAKKyNkZWZpbmUgQkMxMV9SU1RfU0hJRlQgICAgICAgICAgICA5CisKKyNpZiBkZWZpbmVkKF9fTVQ2MjUxUE1VX0UxX0JDMTFfVlNSQ19FTl9BVF9URVNUX0NPTjFfQklUNF9fKQorI2RlZmluZSBCQzExX1ZTUkNfRU5fT0ZGU0VUICAgICAweDA1MDQgICAvL0NIUl9DT04wKzB4MDUwND1URVNUX0NPTjEKKyNkZWZpbmUgQkMxMV9WU1JDX0VOX01BU0sgICAgICAgICAweDAwMzAKKyNkZWZpbmUgQkMxMV9WU1JDX0VOX1NISUZUICAgICAgICA0CisjZWxzZQorI2RlZmluZSBCQzExX1ZTUkNfRU5fT0ZGU0VUICAgICBDT045X09GRlNFVAorI2RlZmluZSBCQzExX1ZTUkNfRU5fTUFTSyAgICAgICAgIDB4MEMwMAorI2RlZmluZSBCQzExX1ZTUkNfRU5fU0hJRlQgICAgICAgIDEwCisjZW5kaWYgLy8jaWYgZGVmaW5lZChfX01UNjI1MVBNVV9FMV9CQzExX1ZTUkNfRU5fQVRfVEVTVF9DT04xX0JJVDRfXykKKworI2RlZmluZSBCQzExX0NNUF9PVVRfT0ZGU0VUICAgICBDT045X09GRlNFVAorI2RlZmluZSBCQzExX0NNUF9PVVRfTUFTSyAgICAgICAgIDB4ODAwMAorI2RlZmluZSBCQzExX0NNUF9PVVRfU0hJRlQgICAgICAgIDE1CisjZW5kaWYgLy8jaWYgZGVmaW5lZChfX0RSVl9VUE1VX0JDMTFfTUFQUElOR19WMSkKKworI2lmIGRlZmluZWQoX19EUlZfVVBNVV9CQzExX01BUFBJTkdfVjJfXykKKyNkZWZpbmUgQkMxMV9WUkVGX1ZUSF9PRkZTRVQgICAgQ0hSX0NPTjEwX09GRlNFVAorI2RlZmluZSBCQzExX1ZSRUZfVlRIX01BU0sgICAgICAgIDB4MDA0MAorI2RlZmluZSBCQzExX1ZSRUZfVlRIX1NISUZUICAgICAgIDYKKworI2RlZmluZSBCQzExX0NNUF9FTl9PRkZTRVQJQ0hSX0NPTjEwX09GRlNFVAorI2RlZmluZSBCQzExX0NNUF9FTl9NQVNLICAgICAgICAgIDB4MDAwMworI2RlZmluZSBCQzExX0NNUF9FTl9TSElGVCAgICAgICAgIDAKKworI2RlZmluZSBCQzExX0lQRF9FTl9PRkZTRVQJQ0hSX0NPTjEwX09GRlNFVAorI2RlZmluZSBCQzExX0lQRF9FTl9NQVNLICAgICAgICAgIDB4MDAwYworI2RlZmluZSBCQzExX0lQRF9FTl9TSElGVCAgICAgICAgIDIKKworI2RlZmluZSBCQzExX0lQVV9FTl9PRkZTRVQJCUNIUl9DT04xMF9PRkZTRVQKKyNkZWZpbmUgQkMxMV9JUFVfRU5fTUFTSyAgICAgICAgICAweDAwMzAKKyNkZWZpbmUgQkMxMV9JUFVfRU5fU0hJRlQgICAgICAgICA0CisKKyNkZWZpbmUgQkMxMV9CSUFTX0VOX09GRlNFVCAgICAgICAgQ0hSX0NPTjEwX09GRlNFVAorI2RlZmluZSBCQzExX0JJQVNfRU5fTUFTSyAgICAgICAgIDB4MDA4MAorI2RlZmluZSBCQzExX0JJQVNfRU5fU0hJRlQgICAgICAgIDcKKworI2RlZmluZSBCQzExX0JCX0NUUkxfT0ZGU0VUICAgICBDSFJfQ09OMTBfT0ZGU0VUCisjZGVmaW5lIEJDMTFfQkJfQ1RSTF9NQVNLICAgICAgICAgMHgwMTAwCisjZGVmaW5lIEJDMTFfQkJfQ1RSTF9TSElGVCAgICAgICAgOAorCisjZGVmaW5lIEJDMTFfUlNUX09GRlNFVAkgICBDSFJfQ09OOV9PRkZTRVQKKyNkZWZpbmUgQkMxMV9SU1RfTUFTSyAgICAgICAgICAgICAweDAxMDAKKyNkZWZpbmUgQkMxMV9SU1RfU0hJRlQgICAgICAgICAgICA4CisKKyNkZWZpbmUgQkMxMV9WU1JDX0VOX09GRlNFVCAgICAgQ0hSX0NPTjlfT0ZGU0VUCisjZGVmaW5lIEJDMTFfVlNSQ19FTl9NQVNLICAgICAgICAgMHgwMDAzCisjZGVmaW5lIEJDMTFfVlNSQ19FTl9TSElGVCAgICAgICAgMAorCisjZGVmaW5lIEJDMTFfQ01QX09VVF9PRkZTRVQgICAgIENIUl9DT04xMF9PRkZTRVQKKyNkZWZpbmUgQkMxMV9DTVBfT1VUX01BU0sgICAgICAgICAweDAyMDAKKyNkZWZpbmUgQkMxMV9DTVBfT1VUX1NISUZUICAgICAgICA5CisKKyNlbmRpZiAvLyNpZiBkZWZpbmVkKF9fRFJWX1VQTVVfQkMxMV9NQVBQSU5HX1YyX18pCisjZW5kaWYgLy8gI2lmIGRlZmluZWQoX19EUlZfVVBNVV9CQzExX1YxX18pCisKKworI2VuZGlmIC8vICNpZiBkZWZpbmVkKF9fRFJWX1VQTVVfQ0hBUkdFUl9WMV9fKQorCisjaWYgZGVmaW5lZChfX0RSVl9VUE1VX1NUUlVQX1YxX18pCisjZGVmaW5lIFNUUlVQX0NPTjBfT0ZGU0VUICAgICAgICAgMHgwMAorCisgIC8vIFNUUlVQX1hYWCBDT04wCisjZGVmaW5lIFVTQkRMX0VOX09GRlNFVAlDT04wX09GRlNFVAorI2RlZmluZSBVU0JETF9FTl9NQVNLICAgICAgICAgICAgIDB4MDAxMAorI2RlZmluZSBVU0JETF9FTl9TSElGVCAgICAgICAgICAgIDQKKyNlbmRpZiAvLyAjaWYgZGVmaW5lZChfX0RSVl9VUE1VX1NUUlVQX1YxX18pCisKKworCisKKworI2VuZGlmIC8vI2RlZmluZSBfX0RDTF9QTVVfQ09NTU9OX0hXX1NUUlVDVF9fCisKZGlmZiAtLWdpdCBhL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvZGNsX3BtdV9zdy5oIGIvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9kY2xfcG11X3N3LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTRjNTJiZgotLS0gL2Rldi9udWxsCisrKyBiL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvZGNsX3BtdV9zdy5oCkBAIC0wLDAgKzEsMTExIEBACisKKworI2luY2x1ZGUgImRjbF9wbWljX2ZlYXR1cmVzLmgiCisKKworI2lmIGRlZmluZWQoTVQ2Mjc2UE1VKQorI2luY2x1ZGUgImRjbF9wbXU2Mjc2X3N3LmgiCisjaW5jbHVkZSAiZGNsX3BtdTYyNzZfaHcuaCIKKyNpbmNsdWRlICJkY2xfcG11X2h3LmgiCisKKworI2VsaWYgZGVmaW5lZChNVDYyMzhQTVUpIHx8IGRlZmluZWQoTVQ2MjM1UE1VKQorI2luY2x1ZGUgImRjbF9wbXU2MjM1X3N3LmgiCisjaW5jbHVkZSAiZGNsX3BtdTYyMzVfaHcuaCIKKworI2VsaWYgZGVmaW5lZChNVDYyMzZQTVUpCisjaW5jbHVkZSAiZGNsX3BtdTYyMzZfc3cuaCIKKyNpbmNsdWRlICJkY2xfcG11NjIzNl9ody5oIgorCisjZWxpZiBkZWZpbmVkKE1UNjI1MVBNVSkKKyNpbmNsdWRlICJkY2xfcG11NjI1MV9zdy5oIgorI2luY2x1ZGUgImRjbF9wbXU2MjUxX2h3LmgiCisjaW5jbHVkZSAiZGNsX3BtdV9ody5oIgorCisjZWxpZiBkZWZpbmVkKE1UNjI1M1BNVSkKKyNpbmNsdWRlICJkY2xfcG11NjI1M19zdy5oIgorI2luY2x1ZGUgImRjbF9wbXU2MjUzX2h3LmgiCisKKyNlbGlmIGRlZmluZWQoTVQ2MjUzRUxQTVUpIHx8IGRlZmluZWQoTVQ2MjUyUE1VKQorI2luY2x1ZGUgImRjbF9wbXU2MjUyX3N3LmgiCisjaW5jbHVkZSAiZGNsX3BtdTYyNTJfaHcuaCIKKyNpbmNsdWRlICJkY2xfcG11X2h3LmgiCisKKyNlbGlmIGRlZmluZWQoTVQ2MjU1UE1VKQorI2luY2x1ZGUgImRjbF9wbXU2MjU1X3N3LmgiCisjaW5jbHVkZSAiZGNsX3BtdTYyNTVfaHcuaCIKKyNpbmNsdWRlICJkY2xfcG11X2h3LmgiCisKKyNlbGlmIGRlZmluZWQoTVQ2MjU2UE1VKQorI2luY2x1ZGUgImRjbF9wbXU2MjU2X3N3LmgiCisjaW5jbHVkZSAiZGNsX3BtdTYyNTZfaHcuaCIKKyNpbmNsdWRlICJkY2xfcG11X2h3LmgiCisKKyNlbGlmIGRlZmluZWQoTVQ2NTczUE1VKQorI2luY2x1ZGUgImRjbF9wbXU2NTczX3N3LmgiCisjaW5jbHVkZSAiZGNsX3BtdTY1NzNfaHcuaCIKKyNpbmNsdWRlICJkY2xfcG11X2h3LmgiCisKKworI2VsaWYgZGVmaW5lZChNVDYzMjYpCisjaW5jbHVkZSAiZGNsX3BtaWM2MzI2X3N3LmgiCisjaW5jbHVkZSAiZGNsX3BtaWM2MzI2X2h3LmgiCisKKyNlbGlmIGRlZmluZWQoTVQ2MzI2X0NDQ0kpCisjaW5jbHVkZSAiZGNsX3BtaWM2MzI2X2NjY2lfc3cuaCIKKworI2VsaWYgZGVmaW5lZChNVDYzMjkpCisjaW5jbHVkZSAiZGNsX3BtaWM2MzI5X3N3LmgiCisjaW5jbHVkZSAiZGNsX3BtaWM2MzI5X2h3LmgiCisKKyNlbGlmIGRlZmluZWQoTVQ2MzI3KQorI2luY2x1ZGUgImRjbF9wbWljNjMyN19zdy5oIgorI2luY2x1ZGUgImRjbF9wbWljNjMyN19ody5oIgorCisjZW5kaWYgLy8jaWYgZGVmaW5lZChNVDYyNzZQTVUpCisKKyNpbmNsdWRlICJkY2xfcG11X2NvbW1vbl9zdy5oIgorCisjaWYgZGVmaW5lZChQTUlDX0ZJWEVEXzNfQURDX0NIKQorLyogYWRjIG51bWJlciBmb3IgbWVhc3VyaW5nIFZCQVQvVklTRU5TRS9WQ0hBUkdFUiBpcyBmaXhlZCBpbnRlcm5hbGx5LiAqLworI2RlZmluZSBQTUlDX0FEQ19WQ0hBUkdFUl9DSF9OVU0gICAgIFBNVV9BRENfVkNIQVJHRVJfQ0hfTlVNCisjZGVmaW5lIFBNSUNfQURDX1ZJU0VOU0VfQ0hfTlVNICAgICAgUE1VX0FEQ19WSVNFTlNFX0NIX05VTQorI2RlZmluZSBQTUlDX0FEQ19WQkFUX0NIX05VTSAgICAgICAgIFBNVV9BRENfVkJBVF9DSF9OVU0KKyNpZiBkZWZpbmVkKFBNSUNfRklYRURfNF9BRENfQ0gpCisjZGVmaW5lIFBNSUNfQURDX1ZCQVRURU1QX0NIX05VTSAgICAgUE1VX0FEQ19WQkFUVEVNUF9DSF9OVU0KKyNlbmRpZiAvLyAjaWYgZGVmaW5lZChQTUlDX0ZJWEVEXzRfQURDX0NIKQorCisvKiBhZGMgZmFjdG9yIGZvciBWQkFUL1ZJU0VOU0UvVkNIQVJHRVIgKi8KKyNkZWZpbmUgUE1JQ19BRENfRkFDVE9SX1ZCQVQgICAgICBQTVVfQURDX0ZBQ1RPUl9WQkFUCisjZGVmaW5lIFBNSUNfQURDX0ZBQ1RPUl9WSVNFTlNFICAgUE1VX0FEQ19GQUNUT1JfVklTRU5TRQorI2RlZmluZSBQTUlDX0FEQ19GQUNUT1JfVkNIQVJHRVIgIFBNVV9BRENfRkFDVE9SX1ZDSEFSR0VSCisjaWYgZGVmaW5lZChQTUlDX0ZJWEVEXzRfQURDX0NIKQorI2RlZmluZSBQTUlDX0FEQ19GQUNUT1JfVkJBVFRFTVAgIFBNVV9BRENfRkFDVE9SX1ZCQVRURU1QCisjZW5kaWYgLy8gI2lmIGRlZmluZWQoUE1JQ19GSVhFRF80X0FEQ19DSCkKKworI2VuZGlmIC8vICNpZiBkZWZpbmVkKFBNSUNfRklYRURfM19BRENfQ0gpCisKKyNpZiBkZWZpbmVkKFBNSUNfRklYRURfQ0hSX0VJTlQpCisjZGVmaW5lIFBNSUNfQ0hSX0VJTlRfUElOICAgICAgUE1VX0NIUl9FSU5UX1BJTgorI2VuZGlmIC8vICNpZiBkZWZpbmVkKFBNSUNfRklYRURfQ0hSX0VJTlQpCisKKyNkZWZpbmUgRENMX1BNVV9ERVZfTUFHSUNfTlVNCQkoMHg4MDAwMDAwMCkKKyNkZWZpbmUgRENMX1BNVV9JU19IQU5ETEVfTUFHSUMoaGFuZGxfKSAgKChoYW5kbF8pJiBEQ0xfUE1VX0RFVl9NQUdJQ19OVU0pCisKKworI2lmbmRlZiBfX0RSVl9ERUJVR19QV0lDX1JFR19SRUFEX1dSSVRFX18KKyNkZWZpbmUgUFdJQ19EUlZfQ2xlYXJCaXRzMTYoYWRkciwgZGF0YSkgICAgICAgRFJWX0NsZWFyQml0cyhhZGRyLGRhdGEpCisjZGVmaW5lIFBXSUNfRFJWX1NldEJpdHMxNihhZGRyLCBkYXRhKSAgICAgICAgIERSVl9TZXRCaXRzKGFkZHIsZGF0YSkKKyNkZWZpbmUgUFdJQ19EUlZfV3JpdGVSZWcxNihhZGRyLCBkYXRhKSAgICAgICAgRFJWX1dyaXRlUmVnKGFkZHIsIGRhdGEpCisjZGVmaW5lIFBXSUNfRFJWX1dyaXRlUmVnMzIoYWRkciwgZGF0YSkgICAgICAgIERSVl9Xcml0ZVJlZzMyKGFkZHIsIGRhdGEpCisjZGVmaW5lIFBXSUNfRFJWX1JlYWRSZWcxNihhZGRyKSAgICAgICAgICAgICAgIERSVl9SZWcoYWRkcikKKyNkZWZpbmUgUFdJQ19EUlZfUmVhZFJlZzMyKGFkZHIpICAgICAgICAgICAgICAgRFJWX1JlZzMyKGFkZHIpCisjZWxzZSAvLyAjaWZuZGVmIF9fRFJWX0RFQlVHX1BXSUNfUkVHX1JFQURfV1JJVEVfXworI2RlZmluZSBQV0lDX0RSVl9DbGVhckJpdHMxNihhZGRyLGRhdGEpICAgICAgICBEUlZfREJHX0NsZWFyQml0cyhhZGRyLGRhdGEpCisjZGVmaW5lIFBXSUNfRFJWX1NldEJpdHMxNihhZGRyKSAgICAgICAgICAgICAgIERSVl9EQkdfU2V0Qml0cyhhZGRyKQorI2RlZmluZSBQV0lDX0RSVl9Xcml0ZVJlZzE2KGFkZHIsIGRhdGEpICAgICAgICBEUlZfREJHX1dyaXRlUmVnKGFkZHIsIGRhdGEpCisjZGVmaW5lIFBXSUNfRFJWX1dyaXRlUmVnMzIoYWRkciwgZGF0YSkgICAgICAgIERSVl9EQkdfV3JpdGVSZWczMihhZGRyLCBkYXRhKQorI2RlZmluZSBQV0lDX0RSVl9SZWFkUmVnMTYoYWRkcikgICAgICAgICAgICAgICBEUlZfREJHX1JlZyhhZGRyKQorI2RlZmluZSBQV0lDX0RSVl9SZWFkUmVnMzIoYWRkcikgICAgICAgICAgICAgICBEUlZfREJHX1JlZzMyKGFkZHIpCisjZW5kaWYgLy8gI2lmbmRlZiBfX0RSVl9ERUJVR19QV0lDX1JFR19SRUFEX1dSSVRFX18KKwpkaWZmIC0tZ2l0IGEvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9mMzJrX2Nsa19ody5oIGIvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9mMzJrX2Nsa19ody5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBkZWJlZmYKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL2YzMmtfY2xrX2h3LmgKQEAgLTAsMCArMSwyMDIgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAwNQorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLiAKKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGaWxlbmFtZToKKyAqIC0tLS0tLS0tLQorICogICAgZjMya19jbGtfaHcuaAorICoKKyAqIFByb2plY3Q6CisgKiAtLS0tLS0tLQorICogICBNYXVpX1NvZnR3YXJlCisgKgorICogRGVzY3JpcHRpb246CisgKiAtLS0tLS0tLS0tLS0KKyAqICAgVGhpcyBmaWxlIGlzIGludGVuZGVkIGZvciBGMzJLX0NMSyBkcml2ZXIuCisgKgorICogQXV0aG9yOgorICogLS0tLS0tLQorICogLS0tLS0tLQorICoKKyAqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICogICAgICAgICAgICAgSElTVE9SWQorICogQmVsb3cgdGhpcyBsaW5lLCB0aGlzIHBhcnQgaXMgY29udHJvbGxlZCBieSBQVkNTIFZNLiBETyBOT1QgTU9ESUZZISEKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogVXBwZXIgdGhpcyBsaW5lLCB0aGlzIHBhcnQgaXMgY29udHJvbGxlZCBieSBQVkNTIFZNLiBETyBOT1QgTU9ESUZZISEKKyAqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIEYzMktfQ0xLX0hXX0gKKyNkZWZpbmUgRjMyS19DTEtfSFdfSAorCisjaW5jbHVkZSAiZHJ2X2ZlYXR1cmVzX2YzMmsuaCIKKyNpbmNsdWRlICJyZWdfYmFzZS5oIgorCisjaWYgIWRlZmluZWQoRFJWX0YzMktfQ0xLX09GRikKKyNpZiBkZWZpbmVkKERSVl9GMzJLX0ZRTVRSX0FTXzYyNTUpCisjZGVmaW5lIEZRTVRSX0JBU0UgIChQTExfYmFzZSsweDAwMDApCisjZGVmaW5lIEZRTVRSX0NPTjAgIChQTExfYmFzZSsweDEwODApCisjZGVmaW5lIEZRTVRSX0NPTjEgIChQTExfYmFzZSsweDEwODQpCisjZGVmaW5lIEZRTVRSX0NPTjIgIChQTExfYmFzZSsweDEwODgpCisjZGVmaW5lIEZRTVRSX0NPTjMgIChQTExfYmFzZSsweDEwOGMpCisjZGVmaW5lIEZRTVRSX0NPTjQgIChQTExfYmFzZSsweDEwOTApCisjZWxpZiBkZWZpbmVkKERSVl9GMzJLX0ZRTVRSX0FTXzYyNTApCisjZGVmaW5lIEZRTVRSX0NPTjAgIChQTVVfYmFzZSsweDBmZjApCisjZGVmaW5lIEZRTVRSX0NPTjEgIChQTVVfYmFzZSsweDBmZjQpCisjZGVmaW5lIEZRTVRSX0NPTjIgIChQTVVfYmFzZSsweDBmZjgpCisjZGVmaW5lIEZRTVRSX0NPTjMgIChQTVVfYmFzZSsweDBmZmMpCisjZWxpZiBkZWZpbmVkKERSVl9GMzJLX0ZRTVRSX0FTXzYyODApCisjZGVmaW5lIEZRTVRSX0NPTjAgIChNSVhfQUJCX2Jhc2UrMHgwNDAwKQorI2RlZmluZSBGUU1UUl9DT04xICAoTUlYX0FCQl9iYXNlKzB4MDQwNCkKKyNkZWZpbmUgRlFNVFJfQ09OMiAgKE1JWF9BQkJfYmFzZSsweDA0MDgpCisjZGVmaW5lIEZRTVRSX0NPTjMgIChNSVhfQUJCX2Jhc2UrMHgwNDBDKQorI2VuZGlmCisKKyNpZiBkZWZpbmVkKERSVl9GMzJLX1NXSVRDSF8zMkspCisjZGVmaW5lIEYzMktfTURfQ0hJUF9TVEFUVVMgICAgICAgICAoQ09ORklHX2Jhc2UrMHgwMDE4KQorI2RlZmluZSBGMzJLX0FQX0YzMktfU0VMICAgICAgICAgICAgKEFQX0NPTkZJR19iYXNlKzB4MDAwYykKKworI2RlZmluZSBGMzJLX1NZU19QQUQzMktfQk9ORF9FTiAgICAgKDB4MjAwKSAgICAvLygoKCoodm9sYXRpbGUga2FsX3VpbnQxNiAqKShGMzJLX01EX0NISVBfU1RBVFVTKSkmMHgyMDApPj45KQorCisjZGVmaW5lIEYzMktfQVBfRENYTzMyS19DS19FTiAgICAgICAoMHgwKQorI2RlZmluZSBGMzJLX0FQX1BBRDMyS19DS19FTiAgICAgICAgKDB4MikKKworI2VuZGlmCisKKyNpZiBkZWZpbmVkKERSVl9GMzJLX0ZRTVRSX0FTXzYyNTUpCisKKyNkZWZpbmUgRlFNVFJfRU4gICAgICAgICAgICAgICAgKDB4ODAwMCkKKyNkZWZpbmUgRlFNVFJfUlNUICAgICAgICAgICAgICAgKDB4NDAwMCkKKworI2RlZmluZSBGUU1UUl9UQ0tTRUxfQ0xLU1ExM00gICAoMHgxKQorI2RlZmluZSBGUU1UUl9UQ0tTRUxfRU9TQzMySyAgICAoMHhlKQorCisjZGVmaW5lIEZRTVRSX0ZDS1NFTF9DTEtTUTEzTSAgICgweDAwKQorI2RlZmluZSBGUU1UUl9GQ0tTRUxfRENYTzMySyAgICAoMHgxMCkKKyNkZWZpbmUgRlFNVFJfRkNLU0VMX0VPU0MzMksgICAgKDB4MjApCisKKyNkZWZpbmUgRlFNVFJfQ09ORF9PTiAgICAgICAgICAgKDB4MCkKKyNkZWZpbmUgRlFNVFJfQlVTWSAgICAgICAgICAgICAgKDB4ODAwMCkKKworI2RlZmluZSBGUU1UUl9XSU5TRVRfTFYxICAgICAgICAoMHgxKQorI2RlZmluZSBGUU1UUl9XSU5TRVRfTFYyICAgICAgICAoMHgxMCkKKworI2VsaWYgZGVmaW5lZChEUlZfRjMyS19GUU1UUl9BU182MjUwKQorCisjZGVmaW5lIEZRTVRSX0JVU1kgICAgICAgICAgICAgICgweDgwMDApCisjZGVmaW5lIEZRTVRSX0VOICAgICAgICAgICAgICAgICgweDQwMDApCisjZGVmaW5lIEZRTVRSX1JTVCAgICAgICAgICAgICAgICgweDIwMDApCisKKyNkZWZpbmUgRlFNVFJfVENLU0VMX0RDWE8zMksgICAgKDB4MykKKyNkZWZpbmUgRlFNVFJfVENLU0VMX0VPU0MzMksgICAgKDB4NCkKKworI2RlZmluZSBGUU1UUl9XSU5TRVRfTFYxICAgICAgICAoMHhGRkZGKQorCisjZWxpZiBkZWZpbmVkKERSVl9GMzJLX0ZRTVRSX0FTXzYyODApCisKKyNkZWZpbmUgRlFNVFJfRU4gICAgICAgICAgICAgICAgKDB4ODAwMCkKKyNkZWZpbmUgRlFNVFJfUlNUICAgICAgICAgICAgICAgKDB4NDAwMCkKKyNkZWZpbmUgRlFNVFJfRkNLU0VMX0NMSzI2TSAgICAgKDB4MDAwKQorI2RlZmluZSBGUU1UUl9GQ0tTRUxfUEFEMzJLICAgICAoMHgxMDApCisjZGVmaW5lIEZRTVRSX0ZDS1NFTF9EQ1hPMzJLICAgICgweDIwMCkKKworI2RlZmluZSBGUU1UUl9UQ0tTRUxfQ0xLU1NRMjZNICAoMHgxKQorI2RlZmluZSBGUU1UUl9CVVNZICAgICAgICAgICAgICAoMHg4MDAwKQorI2RlZmluZSBGUU1UUl9DTEtESVZfMV9PVkVSXzIgICAoMHgwKQorI2RlZmluZSBGMzJLX0ZRTVRSX1dJTlNFVCAgICAgICAoMHgwKQorCisjZGVmaW5lIEZRTVRSX0NPTjBfREVGQVVMVF9WQUwgICgweDApCisjZGVmaW5lIEZRTVRSX0NPTjFfREVGQVVMVF9WQUwgICgweDApCisKKyNlbmRpZgorCisjaWYgZGVmaW5lZChEUlZfRjMyS19YT1NDX0NBTElfREVGXzkpCisjZGVmaW5lIEYzMktfWE9TQ0NBTElfREVGX1ZBTCAgICgweDkpCisjZWxpZiBkZWZpbmVkKERSVl9GMzJLX1hPU0NfQ0FMSV9ERUZfRikKKyNkZWZpbmUgRjMyS19YT1NDQ0FMSV9ERUZfVkFMICAgKDB4ZikKKyNlbmRpZgorCisjZGVmaW5lIEYzMktfRU9TQ0NBTElfREVGX1ZBTCAgICgweEYpCisKKyNlbmRpZiAvKiFkZWZpbmVkKERSVl9GMzJLX0NMS19PRkYpKi8KKworI2VuZGlmIC8vI2lmbmRlZiBGMzJLX0NMS19IV19ICisgCmRpZmYgLS1naXQgYS9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL2YzMmtfY2xrX3N3LmggYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL2YzMmtfY2xrX3N3LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmM3ZWRjYwotLS0gL2Rldi9udWxsCisrKyBiL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvZjMya19jbGtfc3cuaApAQCAtMCwwICsxLDE5OSBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDA1CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuIAorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZpbGVuYW1lOgorICogLS0tLS0tLS0tCisgKiAgICBmMzJrX2Nsa19zdy5oCisgKgorICogUHJvamVjdDoKKyAqIC0tLS0tLS0tCisgKiAgIE1hdWlfU29mdHdhcmUKKyAqCisgKiBEZXNjcmlwdGlvbjoKKyAqIC0tLS0tLS0tLS0tLQorICogICBUaGlzIGZpbGUgaXMgaW50ZW5kZWQgZm9yIEYzMktfQ0xLIGRyaXZlci4KKyAqCisgKiBBdXRob3I6CisgKiAtLS0tLS0tCisgKiAtLS0tLS0tCisgKgorICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKiAgICAgICAgICAgICBISVNUT1JZCisgKiBCZWxvdyB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiBVcHBlciB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZm5kZWYgRjMyS19DTEtfU1dfSAorI2RlZmluZSBGMzJLX0NMS19TV19ICisKKyNpbmNsdWRlICJrYWxfZ2VuZXJhbF90eXBlcy5oIgorI2luY2x1ZGUgImRydl9jb21tLmgiCisKKyNpZiBkZWZpbmVkKERSVl9GMzJLX0ZRTVRSX0FTXzYyNTUpCisjZGVmaW5lIElETEVfVkFMX1dJVEhfV0lOU0VUX0xWMSAgICAgICAgKDB4MzE5KSAgICAgICAvLzEzTSBtZXRlciAzMksgd2l0aCB3aW5zZXQ9MQorI2RlZmluZSBJRExFX1ZBTF9XSVRIX1dJTlNFVF9MVjIgICAgICAgICgweDFhNTkpICAgICAgLy8xM00gbWV0ZXIgMzJLIHdpdGggd2luc2V0PTE2CisjZWxpZiBkZWZpbmVkKERSVl9GMzJLX0ZRTVRSX0FTXzYyNTApCisjZGVmaW5lIElETEVfVkFMX1dJVEhfV0lOU0VUX0xWMSAgICAgICAgKDB4NTIpICAgICAgICAvLzI2TSBtZXRlciAzMksgd2l0aCB3aW5zZXQ9MHhmZmZmCisjZW5kaWYKKworI2lmIGRlZmluZWQoRFJWX0YzMktfRlFNVFJfQVNfNjI4MCkKKy8vIDI2TUhaID0gUEFEXzMySyBjbG9jayooMSstMi41JSkgKiAgRlFNVFJfZGF0YS8oMHgxKQorI2RlZmluZSBGUU1UUl9QQUQzMktfTE9XRVJfQk9VTkQgICAgICAgICg3NzQpICAgICAgICAgICAKKyNkZWZpbmUgRlFNVFJfUEFEMzJLX1VQUEVSX0JPVU5EICAgICAgICAoODE0KQorI2VuZGlmCisKKyNkZWZpbmUgRjMyS19FT1NDQ0FMSV9NQVggICAgKDB4MWYpCisjZGVmaW5lIEYzMktfRU9TQ0NBTElfTUlOICAgICgweDApCisvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLy8gRXhwb3J0ZWQgQVBJcywgdXNlZCBieSBtb2R1bGVzIG90aGVyIHRoYW4gZHJpdmVyIGxldmVsIGZ1bmN0aW9ucworI2lmIGRlZmluZWQoRFJWX0YzMktfSU5URVJOQUxfMzJLKSAKK2V4dGVybiB2b2lkIEYzMktfWE9TQzMyX0VNQl9zZXR0aW5nKHZvaWQpOworI2VuZGlmIC8vI2lmIGRlZmluZWQoRFJWX0YzMktfSU5URVJOQUxfMzJLKSAKKworCisjaWYgIWRlZmluZWQoX19NSU5JX0JPT1RMT0FERVJfXykKKyNpZiBkZWZpbmVkKERSVl9GMzJLX0lOVEVSTkFMXzMySykgfHwgZGVmaW5lZChEUlZfRjMyS19TV0lUQ0hfMzJLKSAgIAorZXh0ZXJuIGthbF9ib29sIEYzMktfUXVlcnlfSXNfWE9TQzMyKHZvaWQpOworI2VuZGlmIC8vI2lmIGRlZmluZWQoRFJWX0YzMktfSU5URVJOQUxfMzJLKSB8fCBkZWZpbmVkKERSVl9GMzJLX1NXSVRDSF8zMkspICAKKworCisjaWYgZGVmaW5lZChEUlZfRjMyS19JTlRFUk5BTF8zMkspIAorZXh0ZXJuIGthbF91aW50MTYgRjMyS19FT1NDMzJfdHJpbW1pbmcodm9pZCk7CisjZW5kaWYgLy8jaWYgZGVmaW5lZChEUlZfRjMyS19JTlRFUk5BTF8zMkspIAorCisjaWYgZGVmaW5lZChEUlZfRjMyS19TV0lUQ0hfMzJLKSAgIAorZXh0ZXJuIHZvaWQgRjMyS19Td2l0Y2hfMzJLX3NldHRpbmcodm9pZCk7CisjZW5kaWYgLy8jaWYgZGVmaW5lZChEUlZfRjMyS19TV0lUQ0hfMzJLKQorCisjZW5kaWYgLy8jaWYgIWRlZmluZWQoX19NSU5JX0JPT1RMT0FERVJfXykKKworI2lmICFkZWZpbmVkKERSVl9GMzJLX0NMS19PRkYpCisjaWYgZGVmaW5lZChfX0RSVl9DT01NX1JFR19EQkdfXykgJiYgZGVmaW5lZChfX0RSVl9GMzJLX0NMS19SRUdfREJHX18pCisjZGVmaW5lIERSVl9GMzJLX1dyaXRlUmVnKGFkZHIsZGF0YSkgICAgICAgICAgICAgIERSVl9EQkdfV3JpdGVSZWcoYWRkcixkYXRhKQorI2RlZmluZSBEUlZfRjMyS19SZWcoYWRkcikgICAgICAgICAgICAgICAgICAgICAgICBEUlZfREJHX1JlZyhhZGRyKSAgICAgICAgICAgICAgICAgICAgICAKKyNkZWZpbmUgRFJWX0YzMktfV3JpdGVSZWczMihhZGRyLGRhdGEpICAgICAgICAgICAgRFJWX0RCR19Xcml0ZVJlZzMyKGFkZHIsZGF0YSkgICAgICAgICAgCisjZGVmaW5lIERSVl9GMzJLX1JlZzMyKGFkZHIpICAgICAgICAgICAgICAgICAgICAgIERSVl9EQkdfUmVnMzIoYWRkcikgICAgICAgICAgICAgICAgICAgIAorI2RlZmluZSBEUlZfRjMyS19Xcml0ZVJlZzgoYWRkcixkYXRhKSAgICAgICAgICAgICBEUlZfREJHX1dyaXRlUmVnOChhZGRyLGRhdGEpICAgICAgICAgICAKKyNkZWZpbmUgRFJWX0YzMktfUmVnOChhZGRyKSAgICAgICAgICAgICAgICAgICAgICAgRFJWX0RCR19SZWc4KGFkZHIpICAgICAgICAgICAgICAgICAgICAgCisjZGVmaW5lIERSVl9GMzJLX0NsZWFyQml0cyhhZGRyLGRhdGEpICAgICAgICAgICAgIERSVl9EQkdfQ2xlYXJCaXRzKGFkZHIsZGF0YSkgICAgICAgICAgIAorI2RlZmluZSBEUlZfRjMyS19TZXRCaXRzKGFkZHIsZGF0YSkgICAgICAgICAgICAgICBEUlZfREJHX1NldEJpdHMoYWRkcixkYXRhKSAgICAgICAgICAgICAKKyNkZWZpbmUgRFJWX0YzMktfU2V0RGF0YShhZGRyLCBiaXRtYXNrLCB2YWx1ZSkgICAgRFJWX0RCR19TZXREYXRhKGFkZHIsIGJpdG1hc2ssIHZhbHVlKSAgCisjZGVmaW5lIERSVl9GMzJLX0NsZWFyQml0czMyKGFkZHIsZGF0YSkgICAgICAgICAgIERSVl9EQkdfQ2xlYXJCaXRzMzIoYWRkcixkYXRhKSAgICAgICAgIAorI2RlZmluZSBEUlZfRjMyS19TZXRCaXRzMzIoYWRkcixkYXRhKSAgICAgICAgICAgICBEUlZfREJHX1NldEJpdHMzMihhZGRyLGRhdGEpICAgICAgICAgICAKKyNkZWZpbmUgRFJWX0YzMktfU2V0RGF0YTMyKGFkZHIsIGJpdG1hc2ssIHZhbHVlKSAgRFJWX0RCR19TZXREYXRhMzIoYWRkciwgYml0bWFzaywgdmFsdWUpCisjZGVmaW5lIERSVl9GMzJLX0NsZWFyQml0czgoYWRkcixkYXRhKSAgICAgICAgICAgIERSVl9EQkdfQ2xlYXJCaXRzOChhZGRyLGRhdGEpICAgICAgICAgIAorI2RlZmluZSBEUlZfRjMyS19TZXRCaXRzOChhZGRyLGRhdGEpICAgICAgICAgICAgICBEUlZfREJHX1NldEJpdHM4KGFkZHIsZGF0YSkgICAgICAgICAgICAKKyNkZWZpbmUgRFJWX0YzMktfU2V0RGF0YTgoYWRkciwgYml0bWFzaywgdmFsdWUpICAgRFJWX0RCR19TZXREYXRhOChhZGRyLCBiaXRtYXNrLCB2YWx1ZSkgCisjZWxzZQorI2RlZmluZSBEUlZfRjMyS19Xcml0ZVJlZyhhZGRyLGRhdGEpICAgICAgICAgICAgICBEUlZfV3JpdGVSZWcoYWRkcixkYXRhKQorI2RlZmluZSBEUlZfRjMyS19SZWcoYWRkcikgICAgICAgICAgICAgICAgICAgICAgICBEUlZfUmVnKGFkZHIpICAgICAgICAgICAgICAgICAgICAgIAorI2RlZmluZSBEUlZfRjMyS19Xcml0ZVJlZzMyKGFkZHIsZGF0YSkgICAgICAgICAgICBEUlZfV3JpdGVSZWczMihhZGRyLGRhdGEpICAgICAgICAgIAorI2RlZmluZSBEUlZfRjMyS19SZWczMihhZGRyKSAgICAgICAgICAgICAgICAgICAgICBEUlZfUmVnMzIoYWRkcikgICAgICAgICAgICAgICAgICAgIAorI2RlZmluZSBEUlZfRjMyS19Xcml0ZVJlZzgoYWRkcixkYXRhKSAgICAgICAgICAgICBEUlZfV3JpdGVSZWc4KGFkZHIsZGF0YSkgICAgICAgICAgIAorI2RlZmluZSBEUlZfRjMyS19SZWc4KGFkZHIpICAgICAgICAgICAgICAgICAgICAgICBEUlZfUmVnOChhZGRyKSAgICAgICAgICAgICAgICAgICAgIAorI2RlZmluZSBEUlZfRjMyS19DbGVhckJpdHMoYWRkcixkYXRhKSAgICAgICAgICAgICBEUlZfQ2xlYXJCaXRzKGFkZHIsZGF0YSkgICAgICAgICAgIAorI2RlZmluZSBEUlZfRjMyS19TZXRCaXRzKGFkZHIsZGF0YSkgICAgICAgICAgICAgICBEUlZfU2V0Qml0cyhhZGRyLGRhdGEpICAgICAgICAgICAgIAorI2RlZmluZSBEUlZfRjMyS19TZXREYXRhKGFkZHIsIGJpdG1hc2ssIHZhbHVlKSAgICBEUlZfU2V0RGF0YShhZGRyLCBiaXRtYXNrLCB2YWx1ZSkgIAorI2RlZmluZSBEUlZfRjMyS19DbGVhckJpdHMzMihhZGRyLGRhdGEpICAgICAgICAgICBEUlZfQ2xlYXJCaXRzMzIoYWRkcixkYXRhKSAgICAgICAgIAorI2RlZmluZSBEUlZfRjMyS19TZXRCaXRzMzIoYWRkcixkYXRhKSAgICAgICAgICAgICBEUlZfU2V0Qml0czMyKGFkZHIsZGF0YSkgICAgICAgICAgIAorI2RlZmluZSBEUlZfRjMyS19TZXREYXRhMzIoYWRkciwgYml0bWFzaywgdmFsdWUpICBEUlZfU2V0RGF0YTMyKGFkZHIsIGJpdG1hc2ssIHZhbHVlKQorI2RlZmluZSBEUlZfRjMyS19DbGVhckJpdHM4KGFkZHIsZGF0YSkgICAgICAgICAgICBEUlZfQ2xlYXJCaXRzOChhZGRyLGRhdGEpICAgICAgICAgIAorI2RlZmluZSBEUlZfRjMyS19TZXRCaXRzOChhZGRyLGRhdGEpICAgICAgICAgICAgICBEUlZfU2V0Qml0czgoYWRkcixkYXRhKSAgICAgICAgICAgIAorI2RlZmluZSBEUlZfRjMyS19TZXREYXRhOChhZGRyLCBiaXRtYXNrLCB2YWx1ZSkgICBEUlZfU2V0RGF0YTgoYWRkciwgYml0bWFzaywgdmFsdWUpIAorI2VuZGlmIC8vI2lmIGRlZmluZWQoX19EUlZfQ09NTV9SRUdfREJHX18pICYmIGRlZmluZWQoX19EUlZfRjMyS19DTEtfUkVHX0RCR19fKQorCisjZWxzZSAvLyFkZWZpbmVkKERSVl9GMzJLX0NMS19PRkYpCisKKyNkZWZpbmUgRFJWX0YzMktfV3JpdGVSZWcoYWRkcixkYXRhKSAgICAgICAgICAgIAorI2RlZmluZSBEUlZfRjMyS19SZWcoYWRkcikgICAgICAgICAgICAgICAgICAgICAgZHJ2X2R1bW15X3JldHVybigpCisjZGVmaW5lIERSVl9GMzJLX1dyaXRlUmVnMzIoYWRkcixkYXRhKSAgICAgICAgICAKKyNkZWZpbmUgRFJWX0YzMktfUmVnMzIoYWRkcikgICAgICAgICAgICAgICAgICAgIGRydl9kdW1teV9yZXR1cm4oKQorI2RlZmluZSBEUlZfRjMyS19Xcml0ZVJlZzgoYWRkcixkYXRhKSAgICAgICAgICAgCisjZGVmaW5lIERSVl9GMzJLX1JlZzgoYWRkcikgICAgICAgICAgICAgICAgICAgICBkcnZfZHVtbXlfcmV0dXJuKCkKKyNkZWZpbmUgRFJWX0YzMktfQ2xlYXJCaXRzKGFkZHIsZGF0YSkgICAgICAgICAgIAorI2RlZmluZSBEUlZfRjMyS19TZXRCaXRzKGFkZHIsZGF0YSkgICAgICAgICAgICAgCisjZGVmaW5lIERSVl9GMzJLX1NldERhdGEoYWRkciwgYml0bWFzaywgdmFsdWUpICAKKyNkZWZpbmUgRFJWX0YzMktfQ2xlYXJCaXRzMzIoYWRkcixkYXRhKSAgICAgICAgIAorI2RlZmluZSBEUlZfRjMyS19TZXRCaXRzMzIoYWRkcixkYXRhKSAgICAgICAgICAgCisjZGVmaW5lIERSVl9GMzJLX1NldERhdGEzMihhZGRyLCBiaXRtYXNrLCB2YWx1ZSkKKyNkZWZpbmUgRFJWX0YzMktfQ2xlYXJCaXRzOChhZGRyLGRhdGEpICAgICAgICAgIAorI2RlZmluZSBEUlZfRjMyS19TZXRCaXRzOChhZGRyLGRhdGEpICAgICAgICAgICAgCisjZGVmaW5lIERSVl9GMzJLX1NldERhdGE4KGFkZHIsIGJpdG1hc2ssIHZhbHVlKSAKKworI2VuZGlmIC8vIWRlZmluZWQoRFJWX0YzMktfQ0xLX09GRikKKworCisjZW5kaWYgLy8jaWZuZGVmIEYzMktfQ0xLX1NXX0gKKyAKZGlmZiAtLWdpdCBhL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvZ3Bpb19jb21tb25faHcuaCBiL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvZ3Bpb19jb21tb25faHcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNDkyNjNhCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9ncGlvX2NvbW1vbl9ody5oCkBAIC0wLDAgKzEsMTMgQEAKKyNpZm5kZWYgX19HUElPX0NPTU1PTl9IV19IX18KKyNkZWZpbmUgX19HUElPX0NPTU1PTl9IV19IX18KKyNpZiBkZWZpbmVkKERSVl9HUElPX05FV19JTklUX0FSQ0hJKQorCisjaWYgZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjI4MCkKKyNpbmNsdWRlICJncGlvNjI4MF9ody5oIgorI2VuZGlmLy9kZWZpbmVkKERSVl9HUElPX1JFR19BU182MjgwKQorCisjZWxzZSAvL2RlZmluZWQoRFJWX0dQSU9fTkVXX0lOSVRfQVJDSEkpCisjaW5jbHVkZSAiZ3Bpb19ody5oIgorI2VuZGlmLy9kZWZpbmVkKERSVl9HUElPX05FV19JTklUX0FSQ0hJKQorCisjZW5kaWYvL19fR1BJT19DT01NT05fSFdfSF9fClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9ncGlvX2h3LmggYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL2dwaW9faHcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YzhiN2VmCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9ncGlvX2h3LmgKQEAgLTAsMCArMSwyMjgwIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMDUKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4gCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRmlsZW5hbWU6CisgKiAtLS0tLS0tLS0KKyAqICAgIGdwaW9faHcuaAorICoKKyAqIFByb2plY3Q6CisgKiAtLS0tLS0tLQorICogICBNYXVpX1NvZnR3YXJlCisgKgorICogRGVzY3JpcHRpb246CisgKiAtLS0tLS0tLS0tLS0KKyAqICAgVGhpcyBmaWxlIGlzIGludGVuZGVkIGZvciBHUElPIGRyaXZlci4KKyAqCisgKiBBdXRob3I6CisgKiAtLS0tLS0tCisgKiAtLS0tLS0tCisgKiAtLS0tLS0tCisgKgorICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKiAgICAgICAgICAgICBISVNUT1JZCisgKiBCZWxvdyB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogVXBwZXIgdGhpcyBsaW5lLCB0aGlzIHBhcnQgaXMgY29udHJvbGxlZCBieSBQVkNTIFZNLiBETyBOT1QgTU9ESUZZISEKKyAqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIF9HUElPX0hXX0gKKyNkZWZpbmUgX0dQSU9fSFdfSAorICAgCisjaW5jbHVkZSAiZHJ2X2ZlYXR1cmVzX2dwaW8uaCIKKyNpbmNsdWRlICJyZWdfYmFzZS5oIgorCisjaWYgIWRlZmluZWQoRFJWX0dQSU9fT0ZGKQorICAgLy9NTVAgYWRkcmVzcworI2lmIGRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyMDUpIHx8IGRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyMDVCKQorICAgI2RlZmluZSAJR1BJT19ESVIgICAgICAgICAJKEdQSU9fYmFzZSsweDAwMDApCisgICAjZGVmaW5lIAlHUElPX0RJUjIgICAJICAgIChHUElPX2Jhc2UrMHgwMDA0KQorICAgI2RlZmluZSAJR1BJT19QVUxMRU4gICAgCSAgICAoR1BJT19iYXNlKzB4MDAwOCkKKyAgICNkZWZpbmUgCUdQSU9fUFVMTEVOMiAgIAkgICAgKEdQSU9fYmFzZSsweDAwMGMpCisgICAjZGVmaW5lIAlHUElPX0RPVVQgICAgICAJICAgIChHUElPX2Jhc2UrMHgwMDEwKQorICAgI2RlZmluZSAJR1BJT19ET1VUMiAgICAgIAkoR1BJT19iYXNlKzB4MDAxNCkKKyAgICNkZWZpbmUgCUdQSU9fRElOICAgICAgIAkgICAgKEdQSU9fYmFzZSsweDAwMTgpCisgICAjZGVmaW5lIAlHUElPX0RJTjIgICAgICAgCShHUElPX2Jhc2UrMHgwMDFjKQorICAgI2RlZmluZSAJR1BPX0RPVVQgICAgICAgCSAgICAoR1BJT19iYXNlKzB4MDAyMCkKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTEgICAgICAgCShHUElPX2Jhc2UrMHgwMDI0KQorICAgI2RlZmluZSAJR1BJT19NT0RFMiAgICAgICAJKEdQSU9fYmFzZSsweDAwMjgpCisgICAjZGVmaW5lIAlHUElPX01PREUzICAgICAgIAkoR1BJT19iYXNlKzB4MDAyYykKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTQgICAgICAgCShHUElPX2Jhc2UrMHgwMDMwKQorICAgCisgICAKKyAgICNpZiBkZWZpbmVkKERSVl9HUElPX1JFR19BU182MjA1QikKKyAgICAgICNkZWZpbmUgCUdQSU9fRElSX1NFVCAgICAoR1BJT19iYXNlKzB4MDA0MCsweDAwMDApCisgICAgICAjZGVmaW5lIAlHUElPX0RJUjJfU0VUICAgKEdQSU9fYmFzZSsweDAwNDArMHgwMDA0KQorICAgICAgI2RlZmluZSAJR1BJT19QVUxMRU5fU0VUIChHUElPX2Jhc2UrMHgwMDQwKzB4MDAwOCkKKyAgICAgICNkZWZpbmUgCUdQSU9fUFVMTEVOMl9TRVQgKEdQSU9fYmFzZSsweDAwNDArMHgwMDBjKQorICAgICAgI2RlZmluZSAJR1BJT19ET1VUX1NFVCAgIChHUElPX2Jhc2UrMHgwMDQwKzB4MDAxMCkKKyAgICAgICNkZWZpbmUgCUdQSU9fRE9VVDJfU0VUICAgICAgCSAgIChHUElPX2Jhc2UrMHgwMDQwKzB4MDAxNCkKKyAgICAgICNkZWZpbmUgCUdQSU9fRElOX1NFVCAgICAgICAJICAgKEdQSU9fYmFzZSsweDAwNDArMHgwMDE4KQorICAgICAgI2RlZmluZSAJR1BJT19ESU4yX1NFVCAgICAgICAJICAgKEdQSU9fYmFzZSsweDAwNDArMHgwMDFjKQorICAgICAgI2RlZmluZSAJR1BPX0RPVVRfU0VUICAgICAgIAkgICAoR1BJT19iYXNlKzB4MDA0MCsweDAwMjApCisgICAgICAjZGVmaW5lIAlHUElPX01PREUxX1NFVCAgICAgICAJKEdQSU9fYmFzZSsweDAwNDArMHgwMDI0KQorICAgICAgI2RlZmluZSAJR1BJT19NT0RFMl9TRVQgICAgICAgCShHUElPX2Jhc2UrMHgwMDQwKzB4MDAyOCkKKyAgICAgICNkZWZpbmUgCUdQSU9fTU9ERTNfU0VUICAgICAgIAkoR1BJT19iYXNlKzB4MDA0MCsweDAwMmMpCisgICAgICAjZGVmaW5lIAlHUElPX01PREU0X1NFVCAgICAgICAJKEdQSU9fYmFzZSsweDAwNDArMHgwMDMwKQorICAgICAgI2RlZmluZSAgR1BJT19NT0RFX1NFVChfbm8pIChHUElPX01PREUxX1NFVCsoMHgwNCooX25vKSkpCisgICAgICAKKyAgICAgICNkZWZpbmUgCUdQSU9fRElSX0NMUiAgICAgICAgIAkoR1BJT19iYXNlKzB4MDA4MCsweDAwMDApCisgICAgICAjZGVmaW5lIAlHUElPX0RJUjJfQ0xSICAgCSAgICAgIChHUElPX2Jhc2UrMHgwMDgwKzB4MDAwNCkKKyAgICAgICNkZWZpbmUgCUdQSU9fUFVMTEVOX0NMUiAgICAJICAgKEdQSU9fYmFzZSsweDAwODArMHgwMDA4KQorICAgICAgI2RlZmluZSAJR1BJT19QVUxMRU4yX0NMUiAgIAkgICAoR1BJT19iYXNlKzB4MDA4MCsweDAwMGMpCisgICAgICAjZGVmaW5lIAlHUElPX0RPVVRfQ0xSICAgICAgCSAgIChHUElPX2Jhc2UrMHgwMDgwKzB4MDAxMCkKKyAgICAgICNkZWZpbmUgCUdQSU9fRE9VVDJfQ0xSICAgICAgCSAgIChHUElPX2Jhc2UrMHgwMDgwKzB4MDAxNCkKKyAgICAgICNkZWZpbmUgCUdQSU9fRElOX0NMUiAgICAgICAJICAgKEdQSU9fYmFzZSsweDAwODArMHgwMDE4KQorICAgICAgI2RlZmluZSAJR1BJT19ESU4yX0NMUiAgICAgICAJICAgKEdQSU9fYmFzZSsweDAwODArMHgwMDFjKQorICAgICAgI2RlZmluZSAJR1BPX0RPVVRfQ0xSICAgICAgIAkgICAoR1BJT19iYXNlKzB4MDA4MCsweDAwMjApCisgICAgICAjZGVmaW5lIAlHUElPX01PREUxX0NMUiAgICAgICAJKEdQSU9fYmFzZSsweDAwODArMHgwMDI0KQorICAgICAgI2RlZmluZSAJR1BJT19NT0RFMl9DTFIgICAgICAgCShHUElPX2Jhc2UrMHgwMDgwKzB4MDAyOCkKKyAgICAgICNkZWZpbmUgCUdQSU9fTU9ERTNfQ0xSICAgICAgIAkoR1BJT19iYXNlKzB4MDA4MCsweDAwMmMpCisgICAgICAjZGVmaW5lIAlHUElPX01PREU0X0NMUiAgICAgICAJKEdQSU9fYmFzZSsweDAwODArMHgwMDMwKQorICAgICAgI2RlZmluZSAgR1BJT19NT0RFX0NMUihfbm8pIChHUElPX01PREUxX0NMUisoMHgwNCooX25vKSkpCisgICAgICAKKworICAgI2VuZGlmICAgLypEUlZfR1BJT19SRUdfQVNfNjIwNUIqLworICAgCisgICAgICAjZGVmaW5lICBHUElPX01PREUoX25vKSAgICAgICAgICAoR1BJT19NT0RFMSsoMHg0Kihfbm8pKSkgCisgICAgICAKKyNlbmRpZiAvKkRSVl9HUElPX1JFR19BU182MjA1LERSVl9HUElPX1JFR19BU182MjA1QiovCisKKyNpZiBkZWZpbmVkKERSVl9HUElPX1JFR19BU182MjA4KSB8fCBkZWZpbmVkKEZQR0EpCisgICAjZGVmaW5lIAlHUElPX0RJUiAgIAkgICAoR1BJT19iYXNlKzB4MDAwMCkKKyAgICNkZWZpbmUgCUdQSU9fRE9VVCAgCSAgIChHUElPX2Jhc2UrMHgwMDA0KQorICAgI2RlZmluZSAJR1BJT19ESU4gICAJICAgKEdQSU9fYmFzZSsweDAwMDgpCisgICAjZGVmaW5lIAlHUElPX01PREUxIAkgICAoR1BJT19iYXNlKzB4MDAwQykKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTIgCSAgIChHUElPX2Jhc2UrMHgwMDEwKQorICAgI2RlZmluZSAJR1BJX09fRElPICAgICAJKEdQSU9fYmFzZSsweDAwMTgpCisgICAjZGVmaW5lIAlHUElfT19NT0RFICAJKEdQSU9fYmFzZSsweDAwMWMpCisgICAKKyAgICNkZWZpbmUgIEdQSU9fTU9ERShfbm8pICAgICAgICAgIChHUElPX01PREUxKygweDQqKF9ubykpKSAKKworI2VuZGlmICAgLypEUlZfR1BJT19SRUdfQVNfNjIwOCxGUEdBKi8KKworI2lmIGRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyMTgpCisgICAjZGVmaW5lIAlHUElPX0RJUjEgICAgICAgCShHUElPX2Jhc2UrMHgwMDAwKQorICAgI2RlZmluZSAJR1BJT19ESVIyICAgCSAgICAoR1BJT19iYXNlKzB4MDAxMCkKKyAgICNkZWZpbmUgCUdQSU9fRElSMyAgICAgICAgICAgKEdQSU9fYmFzZSsweDAwMjApCisgICAjZGVmaW5lIAlHUElPX1BVTExFTjEgICAgCShHUElPX2Jhc2UrMHgwMDMwKQorICAgI2RlZmluZSAJR1BJT19QVUxMRU4yICAgIAkoR1BJT19iYXNlKzB4MDA0MCkKKyAgICNkZWZpbmUgCUdQSU9fUFVMTEVOMyAgIAkgICAgKEdQSU9fYmFzZSsweDAwNTApCisgICAjZGVmaW5lIAlHUElPX0RPVVQxICAgICAgCShHUElPX2Jhc2UrMHgwMDYwKQorICAgI2RlZmluZSAJR1BJT19ET1VUMiAgICAgIAkoR1BJT19iYXNlKzB4MDA3MCkKKyAgICNkZWZpbmUgCUdQSU9fRE9VVDMgICAgICAJKEdQSU9fYmFzZSsweDAwODApCisgICAjZGVmaW5lIAlHUElPX0RJTjEgICAgICAgCShHUElPX2Jhc2UrMHgwMDkwKQorICAgI2RlZmluZSAJR1BJT19ESU4yICAgICAgIAkoR1BJT19iYXNlKzB4MDA5NCkKKyAgICNkZWZpbmUgCUdQSU9fRElOMyAgICAgICAJKEdQSU9fYmFzZSsweDAwOTgpCisgICAjZGVmaW5lIAlHUE9fRE9VVCAgICAgICAJICAgIChHUElPX2Jhc2UrMHgwMGEwKQorICAgI2RlZmluZSAJR1BJT19NT0RFMSAgICAgICAJKEdQSU9fYmFzZSsweDAwYjApCisgICAjZGVmaW5lIAlHUElPX01PREUyICAgICAgIAkoR1BJT19iYXNlKzB4MDBjMCkKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTMgICAgICAgCShHUElPX2Jhc2UrMHgwMGQwKQorICAgI2RlZmluZSAJR1BJT19NT0RFNCAgICAgICAJKEdQSU9fYmFzZSsweDAwZTApCisgICAjZGVmaW5lIAlHUElPX01PREU1ICAgICAgIAkoR1BJT19iYXNlKzB4MDBmMCkKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTYgICAgICAgCShHUElPX2Jhc2UrMHgwMTAwKQorICAgI2RlZmluZSAJR1BPX01PREUgICAgICAgCSAgICAoR1BJT19iYXNlKzB4MDExMCkKKyAgIAorICAgI2RlZmluZSAJR1BJT19ESVIxX1NFVCAgICAgICAoR1BJT19iYXNlKzB4MDAwMCsweDA0KQorICAgI2RlZmluZSAJR1BJT19ESVIyX1NFVCAgICAJKEdQSU9fYmFzZSsweDAwMTArMHgwNCkKKyAgICNkZWZpbmUgCUdQSU9fRElSM19TRVQgICAgICAgKEdQSU9fYmFzZSsweDAwMjArMHgwNCkKKyAgICNkZWZpbmUgCUdQSU9fUFVMTEVOMV9TRVQgICAgKEdQSU9fYmFzZSsweDAwMzArMHgwNCkKKyAgICNkZWZpbmUgCUdQSU9fUFVMTEVOMl9TRVQgICAgKEdQSU9fYmFzZSsweDAwNDArMHgwNCkKKyAgICNkZWZpbmUgCUdQSU9fUFVMTEVOM19TRVQgICAJKEdQSU9fYmFzZSsweDAwNTArMHgwNCkKKyAgICNkZWZpbmUgCUdQSU9fRE9VVDFfU0VUICAgICAgKEdQSU9fYmFzZSsweDAwNjArMHgwNCkKKyAgICNkZWZpbmUgCUdQSU9fRE9VVDJfU0VUICAgICAgKEdQSU9fYmFzZSsweDAwNzArMHgwNCkKKyAgICNkZWZpbmUgCUdQSU9fRE9VVDNfU0VUICAgICAgKEdQSU9fYmFzZSsweDAwODArMHgwNCkKKyAgICNkZWZpbmUgCUdQT19ET1VUX1NFVCAgICAgICAJKEdQSU9fYmFzZSsweDAwYTArMHgwNCkKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTFfU0VUICAgICAgKEdQSU9fYmFzZSsweDAwYjArMHgwNCkKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTJfU0VUICAgICAgKEdQSU9fYmFzZSsweDAwYzArMHgwNCkKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTNfU0VUICAgICAgKEdQSU9fYmFzZSsweDAwZDArMHgwNCkKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTRfU0VUICAgICAgKEdQSU9fYmFzZSsweDAwZTArMHgwNCkKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTVfU0VUICAgICAgKEdQSU9fYmFzZSsweDAwZjArMHgwNCkKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTZfU0VUICAgICAgKEdQSU9fYmFzZSsweDAxMDArMHgwNCkKKyAgICNkZWZpbmUgCUdQT19NT0RFX1NFVCAgICAgICAJKEdQSU9fYmFzZSsweDAxMTArMHgwNCkKKyAgICNkZWZpbmUgIEdQSU9fTU9ERV9TRVQoX25vKSAgKEdQSU9fTU9ERTFfU0VUKygweDEwKihfbm8pKSkKKyAgICNkZWZpbmUgIEdQSU9fRElSX1NFVChfbm8pICAgKEdQSU9fRElSMV9TRVQrKDB4MTAqKF9ubykpKQorICAgI2RlZmluZSAgR1BJT19ET1VUX1NFVChfbm8pICAoR1BJT19ET1VUMV9TRVQrKDB4MTAqKF9ubykpKQorICAgCisgICAjZGVmaW5lIAlHUElPX0RJUjFfQ0xSICAgICAgIChHUElPX2Jhc2UrMHgwMDAwKzB4MDgpCisgICAjZGVmaW5lIAlHUElPX0RJUjJfQ0xSICAgCShHUElPX2Jhc2UrMHgwMDEwKzB4MDgpCisgICAjZGVmaW5lIAlHUElPX0RJUjNfQ0xSICAgICAgIChHUElPX2Jhc2UrMHgwMDIwKzB4MDgpCisgICAjZGVmaW5lIAlHUElPX1BVTExFTjFfQ0xSICAgIChHUElPX2Jhc2UrMHgwMDMwKzB4MDgpCisgICAjZGVmaW5lIAlHUElPX1BVTExFTjJfQ0xSICAgIChHUElPX2Jhc2UrMHgwMDQwKzB4MDgpCisgICAjZGVmaW5lIAlHUElPX1BVTExFTjNfQ0xSICAgCShHUElPX2Jhc2UrMHgwMDUwKzB4MDgpCisgICAjZGVmaW5lIAlHUElPX0RPVVQxX0NMUiAgICAgIChHUElPX2Jhc2UrMHgwMDYwKzB4MDgpCisgICAjZGVmaW5lIAlHUElPX0RPVVQyX0NMUiAgICAgIChHUElPX2Jhc2UrMHgwMDcwKzB4MDgpCisgICAjZGVmaW5lIAlHUElPX0RPVVQzX0NMUiAgICAgIChHUElPX2Jhc2UrMHgwMDgwKzB4MDgpCisgICAjZGVmaW5lIAlHUE9fRE9VVF9DTFIgICAgICAgCShHUElPX2Jhc2UrMHgwMGEwKzB4MDgpCisgICAjZGVmaW5lIAlHUElPX01PREUxX0NMUiAgICAgIChHUElPX2Jhc2UrMHgwMGIwKzB4MDgpCisgICAjZGVmaW5lIAlHUElPX01PREUyX0NMUiAgICAgIChHUElPX2Jhc2UrMHgwMGMwKzB4MDgpCisgICAjZGVmaW5lIAlHUElPX01PREUzX0NMUiAgICAgIChHUElPX2Jhc2UrMHgwMGQwKzB4MDgpCisgICAjZGVmaW5lIAlHUElPX01PREU0X0NMUiAgICAgIChHUElPX2Jhc2UrMHgwMGUwKzB4MDgpCisgICAjZGVmaW5lIAlHUElPX01PREU1X0NMUiAgICAgIChHUElPX2Jhc2UrMHgwMGYwKzB4MDgpCisgICAjZGVmaW5lIAlHUElPX01PREU2X0NMUiAgICAgIChHUElPX2Jhc2UrMHgwMTAwKzB4MDgpCisgICAjZGVmaW5lIAlHUE9fTU9ERV9DTFIgICAgICAgCShHUElPX2Jhc2UrMHgwMTEwKzB4MDgpCisgICAjZGVmaW5lICBHUElPX01PREVfQ0xSKF9ubykgIChHUElPX01PREUxX0NMUisoMHgxMCooX25vKSkpCisgICAjZGVmaW5lICBHUElPX0RJUl9DTFIoX25vKSAgIChHUElPX0RJUjFfQ0xSKygweDEwKihfbm8pKSkKKyAgICNkZWZpbmUgIEdQSU9fRE9VVF9DTFIoX25vKSAgKEdQSU9fRE9VVDFfQ0xSKygweDEwKihfbm8pKSkKKyAgIAorICAgI2RlZmluZSAgR1BJT19NT0RFKF9ubykgICAgICAoR1BJT19NT0RFMSsoMHgxMCooX25vKSkpIAorICAgI2RlZmluZSAgR1BJT19ET1VUKF9ubykgICAgICAoR1BJT19ET1VUMSsoMHgxMCooX25vKSkpCisgICAjZGVmaW5lICBHUElPX0RJUihfbm8pICAgICAgIChHUElPX0RJUjErKDB4MTAqKF9ubykpKSAKKyNlbmRpZiAgIC8qRFJWX0dQSU9fUkVHX0FTXzYyMTgqLworCisjaWYgZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjIxOEIpCisgICAjZGVmaW5lIAlHUElPX0RJUjEgICAgICAgCShHUElPX2Jhc2UrMHgwMDAwKQorICAgI2RlZmluZSAJR1BJT19ESVIyICAgCSAgICAoR1BJT19iYXNlKzB4MDAxMCkKKyAgICNkZWZpbmUgCUdQSU9fRElSMyAgICAgICAgICAgKEdQSU9fYmFzZSsweDAwMjApCisgICAjZGVmaW5lIAlHUElPX1BVTExFTjEgICAgCShHUElPX2Jhc2UrMHgwMDMwKQorICAgI2RlZmluZSAJR1BJT19QVUxMRU4yICAgIAkoR1BJT19iYXNlKzB4MDA0MCkKKyAgICNkZWZpbmUgCUdQSU9fUFVMTEVOMyAgIAkgICAgKEdQSU9fYmFzZSsweDAwNTApCisgICAjZGVmaW5lIAlHUElPX0RJTlYxICAgICAgCShHUElPX2Jhc2UrMHgwMDYwKQorICAgI2RlZmluZSAJR1BJT19ESU5WMiAgICAgIAkoR1BJT19iYXNlKzB4MDA3MCkKKyAgICNkZWZpbmUgCUdQSU9fRElOVjMgICAgICAJKEdQSU9fYmFzZSsweDAwODApCisgICAjZGVmaW5lIAlHUElPX0RPVVQxICAgICAgCShHUElPX2Jhc2UrMHgwMDkwKQorICAgI2RlZmluZSAJR1BJT19ET1VUMiAgICAgIAkoR1BJT19iYXNlKzB4MDBhMCkKKyAgICNkZWZpbmUgCUdQSU9fRE9VVDMgICAgICAJKEdQSU9fYmFzZSsweDAwYjApCisgICAjZGVmaW5lIAlHUElPX0RJTjEgICAgICAgCShHUElPX2Jhc2UrMHgwMGMwKQorICAgI2RlZmluZSAJR1BJT19ESU4yICAgICAgIAkoR1BJT19iYXNlKzB4MDBkMCkKKyAgICNkZWZpbmUgCUdQSU9fRElOMyAgICAgICAJKEdQSU9fYmFzZSsweDAwZTApCisgICAjZGVmaW5lIAlHUE9fRE9VVCAgICAgICAJICAgIChHUElPX2Jhc2UrMHgwMGYwKQorICAgI2RlZmluZSAJR1BJT19NT0RFMSAgICAgICAJKEdQSU9fYmFzZSsweDAxMDApCisgICAjZGVmaW5lIAlHUElPX01PREUyICAgICAgIAkoR1BJT19iYXNlKzB4MDExMCkKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTMgICAgICAgCShHUElPX2Jhc2UrMHgwMTIwKQorICAgI2RlZmluZSAJR1BJT19NT0RFNCAgICAgICAJKEdQSU9fYmFzZSsweDAxMzApCisgICAjZGVmaW5lIAlHUElPX01PREU1ICAgICAgIAkoR1BJT19iYXNlKzB4MDE0MCkKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTYgICAgICAgCShHUElPX2Jhc2UrMHgwMTUwKQorICAgI2RlZmluZSAJR1BPX01PREUgICAgICAgCSAgICAoR1BJT19iYXNlKzB4MDE2MCkKKyAgIAorICAgI2RlZmluZSAJR1BJT19ESVIxX1NFVCAgICAgICAoR1BJT19iYXNlKzB4MDAwMCsweDA0KQorICAgI2RlZmluZSAJR1BJT19ESVIyX1NFVCAgICAJKEdQSU9fYmFzZSsweDAwMTArMHgwNCkgICAgICAgIAorICAgI2RlZmluZSAJR1BJT19ESVIzX1NFVCAgICAgICAoR1BJT19iYXNlKzB4MDAyMCsweDA0KSAgICAgIAorICAgI2RlZmluZSAJR1BJT19QVUxMRU4xX1NFVCAgICAoR1BJT19iYXNlKzB4MDAzMCsweDA0KSAgICAgIAorICAgI2RlZmluZSAJR1BJT19QVUxMRU4yX1NFVCAgICAoR1BJT19iYXNlKzB4MDA0MCsweDA0KSAgICAgIAorICAgI2RlZmluZSAJR1BJT19QVUxMRU4zX1NFVCAgIAkoR1BJT19iYXNlKzB4MDA1MCsweDA0KSAgICAgCisgICAjZGVmaW5lIAlHUElPX0RPVVQxX1NFVCAgICAgIChHUElPX2Jhc2UrMHgwMDkwKzB4MDQpICAgICAgCisgICAjZGVmaW5lIAlHUElPX0RPVVQyX1NFVCAgICAgIChHUElPX2Jhc2UrMHgwMGEwKzB4MDQpICAgICAgCisgICAjZGVmaW5lIAlHUElPX0RPVVQzX1NFVCAgICAgIChHUElPX2Jhc2UrMHgwMGIwKzB4MDQpICAgICAgCisgICAjZGVmaW5lIAlHUE9fRE9VVF9TRVQgICAgICAgCShHUElPX2Jhc2UrMHgwMGYwKzB4MDQpICAgICAKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTFfU0VUICAgICAgKEdQSU9fYmFzZSsweDAxMDArMHgwNCkgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTJfU0VUICAgICAgKEdQSU9fYmFzZSsweDAxMTArMHgwNCkgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTNfU0VUICAgICAgKEdQSU9fYmFzZSsweDAxMjArMHgwNCkgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTRfU0VUICAgICAgKEdQSU9fYmFzZSsweDAxMzArMHgwNCkgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTVfU0VUICAgICAgKEdQSU9fYmFzZSsweDAxNDArMHgwNCkgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTZfU0VUICAgICAgKEdQSU9fYmFzZSsweDAxNTArMHgwNCkgICAgICAKKyAgICNkZWZpbmUgCUdQT19NT0RFX1NFVCAgICAgICAJKEdQSU9fYmFzZSsweDAxNjArMHgwNCkgICAgICAgCisgICAjZGVmaW5lICBHUElPX0RJTlZfQURSUyhuKQkoR1BJT19ESU5WMSsweDEwKihuKSkKKyAgICNkZWZpbmUgIEdQSU9fTU9ERV9TRVQoX25vKSAgKEdQSU9fTU9ERTFfU0VUKygweDEwKihfbm8pKSkgIAorICAgI2RlZmluZSAgR1BJT19ESVJfU0VUKF9ubykgICAoR1BJT19ESVIxX1NFVCsoMHgxMCooX25vKSkpICAgCisgICAjZGVmaW5lICBHUElPX0RPVVRfU0VUKF9ubykgIChHUElPX0RPVVQxX1NFVCsoMHgxMCooX25vKSkpICAKKyAgICNkZWZpbmUgIEdQSU9fUFVMTEVOX1NFVChfbm8pICAoR1BJT19QVUxMRU4xX1NFVCsoMHgxMCooX25vKSkpICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgI2RlZmluZSAJR1BJT19ESVIxX0NMUiAgICAgICAoR1BJT19iYXNlKzB4MDAwMCsweDA4KSAgICAgICAgIAorICAgI2RlZmluZSAJR1BJT19ESVIyX0NMUiAgIAkoR1BJT19iYXNlKzB4MDAxMCsweDA4KSAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX0RJUjNfQ0xSICAgICAgIChHUElPX2Jhc2UrMHgwMDIwKzB4MDgpICAgICAgIAorICAgI2RlZmluZSAJR1BJT19QVUxMRU4xX0NMUiAgICAoR1BJT19iYXNlKzB4MDAzMCsweDA4KSAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fUFVMTEVOMl9DTFIgICAgKEdQSU9fYmFzZSsweDAwNDArMHgwOCkgICAgICAgCisgICAjZGVmaW5lIAlHUElPX1BVTExFTjNfQ0xSICAgCShHUElPX2Jhc2UrMHgwMDUwKzB4MDgpICAgCisgICAjZGVmaW5lIAlHUElPX0RPVVQxX0NMUiAgICAgIChHUElPX2Jhc2UrMHgwMDkwKzB4MDgpICAgICAgIAorICAgI2RlZmluZSAJR1BJT19ET1VUMl9DTFIgICAgICAoR1BJT19iYXNlKzB4MDBhMCsweDA4KSAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fRE9VVDNfQ0xSICAgICAgKEdQSU9fYmFzZSsweDAwYjArMHgwOCkgICAgICAgCisgICAjZGVmaW5lIAlHUE9fRE9VVF9DTFIgICAgICAgCShHUElPX2Jhc2UrMHgwMGYwKzB4MDgpICAgCisgICAjZGVmaW5lIAlHUElPX01PREUxX0NMUiAgICAgIChHUElPX2Jhc2UrMHgwMTAwKzB4MDgpICAgICAgIAorICAgI2RlZmluZSAJR1BJT19NT0RFMl9DTFIgICAgICAoR1BJT19iYXNlKzB4MDExMCsweDA4KSAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTNfQ0xSICAgICAgKEdQSU9fYmFzZSsweDAxMjArMHgwOCkgICAgICAgCisgICAjZGVmaW5lIAlHUElPX01PREU0X0NMUiAgICAgIChHUElPX2Jhc2UrMHgwMTMwKzB4MDgpICAgICAgIAorICAgI2RlZmluZSAJR1BJT19NT0RFNV9DTFIgICAgICAoR1BJT19iYXNlKzB4MDE0MCsweDA4KSAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTZfQ0xSICAgICAgKEdQSU9fYmFzZSsweDAxNTArMHgwOCkgICAgICAgCisgICAjZGVmaW5lIAlHUE9fTU9ERV9DTFIgICAgICAgCShHUElPX2Jhc2UrMHgwMTYwKzB4MDgpICAgCisgICAjZGVmaW5lICBHUElPX01PREVfQ0xSKF9ubykgIChHUElPX01PREUxX0NMUisoMHgxMCooX25vKSkpCisgICAjZGVmaW5lICBHUElPX0RJUl9DTFIoX25vKSAgIChHUElPX0RJUjFfQ0xSKygweDEwKihfbm8pKSkKKyAgICNkZWZpbmUgIEdQSU9fRE9VVF9DTFIoX25vKSAgKEdQSU9fRE9VVDFfQ0xSKygweDEwKihfbm8pKSkKKyAgICNkZWZpbmUgIEdQSU9fUFVMTEVOX0NMUihfbm8pICAoR1BJT19QVUxMRU4xX0NMUisoMHgxMCooX25vKSkpICAKKyAgIAorICAgI2RlZmluZSAgR1BJT19NT0RFKF9ubykgICAgICAoR1BJT19NT0RFMSsoMHgxMCooX25vKSkpIAorICAgI2RlZmluZSAgR1BJT19ET1VUKF9ubykgICAgICAoR1BJT19ET1VUMSsoMHgxMCooX25vKSkpCisgICAjZGVmaW5lICBHUElPX0RJUihfbm8pICAgICAgIChHUElPX0RJUjErKDB4MTAqKF9ubykpKQorI2VuZGlmICAgLypEUlZfR1BJT19SRUdfQVNfNjIxOEIqLworCisjaWYgZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjIxOSkgfHwgZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjIyNSkgfHwgZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjIyMykKKyAgICNkZWZpbmUgCUdQSU9fRElSMSAgICAgICAJKEdQSU9fYmFzZSsweDAwMDApCisgICAjZGVmaW5lIAlHUElPX0RJUjIgICAJICAgKEdQSU9fYmFzZSsweDAwMTApCisgICAjZGVmaW5lIAlHUElPX0RJUjMgICAgICAgICAoR1BJT19iYXNlKzB4MDAyMCkKKyAgICNkZWZpbmUgCUdQSU9fRElSNCAgICAgICAgIChHUElPX2Jhc2UrMHgwMDMwKQorICAgI2RlZmluZSAJR1BJT19QVUxMRU4xICAgIAkoR1BJT19iYXNlKzB4MDA0MCkKKyAgICNkZWZpbmUgCUdQSU9fUFVMTEVOMiAgICAJKEdQSU9fYmFzZSsweDAwNTApCisgICAjZGVmaW5lIAlHUElPX1BVTExFTjMgICAJKEdQSU9fYmFzZSsweDAwNjApCisgICAjZGVmaW5lIAlHUElPX1BVTExFTjQgICAgICAoR1BJT19iYXNlKzB4MDA3MCkKKyAgICNkZWZpbmUgCUdQSU9fRElOVjEgICAgICAJKEdQSU9fYmFzZSsweDAwODApCisgICAjZGVmaW5lIAlHUElPX0RJTlYyICAgICAgCShHUElPX2Jhc2UrMHgwMDkwKQorICAgI2RlZmluZSAJR1BJT19ESU5WMyAgICAgIAkoR1BJT19iYXNlKzB4MDBhMCkKKyAgICNkZWZpbmUgCUdQSU9fRElOVjQgICAgICAJKEdQSU9fYmFzZSsweDAwYjApCisgICAjZGVmaW5lIAlHUElPX0RPVVQxICAgICAgCShHUElPX2Jhc2UrMHgwMGMwKQorICAgI2RlZmluZSAJR1BJT19ET1VUMiAgICAgIAkoR1BJT19iYXNlKzB4MDBkMCkKKyAgICNkZWZpbmUgCUdQSU9fRE9VVDMgICAgICAJKEdQSU9fYmFzZSsweDAwZTApCisgICAjZGVmaW5lIAlHUElPX0RPVVQ0ICAgICAgCShHUElPX2Jhc2UrMHgwMGYwKQorICAgI2RlZmluZSAJR1BJT19ESU4xICAgICAgIAkoR1BJT19iYXNlKzB4MDEwMCkKKyAgICNkZWZpbmUgCUdQSU9fRElOMiAgICAgICAJKEdQSU9fYmFzZSsweDAxMTApCisgICAjZGVmaW5lIAlHUElPX0RJTjMgICAgICAgCShHUElPX2Jhc2UrMHgwMTIwKQorICAgI2RlZmluZSAJR1BJT19ESU40ICAgICAgIAkoR1BJT19iYXNlKzB4MDEzMCkKKyAgICNpZiAhZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjIyMykKKyAgICAgICNkZWZpbmUgCUdQT19ET1VUICAgICAgIAkoR1BJT19iYXNlKzB4MDE0MCkKKyAgICNlbmRpZiAvKiBEUlZfR1BJT19SRUdfQVNfNjIyMyAqLworICAgI2RlZmluZSAJR1BJT19NT0RFMSAgICAgICAJKEdQSU9fYmFzZSsweDAxNTApCisgICAjZGVmaW5lIAlHUElPX01PREUyICAgICAgIAkoR1BJT19iYXNlKzB4MDE2MCkKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTMgICAgICAgCShHUElPX2Jhc2UrMHgwMTcwKSAgICAgICAgIAorICAgI2RlZmluZSAJR1BJT19NT0RFNCAgICAgICAJKEdQSU9fYmFzZSsweDAxODApICAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX01PREU1ICAgICAgIAkoR1BJT19iYXNlKzB4MDE5MCkgICAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTYgICAgICAgCShHUElPX2Jhc2UrMHgwMWEwKSAgICAgICAgIAorICAgI2RlZmluZSAJR1BJT19NT0RFNyAgICAgICAJKEdQSU9fYmFzZSsweDAxYjApICAgICAgICAgCisgICAjaWYgZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjIyMykKKyAgICAgICNkZWZpbmUgCUdQSU9fQkFOSyAgICAgICAJKEdQSU9fYmFzZSsweDAxYzApICAgCisgICAgICAjZGVmaW5lICBDTEtPX01PREUxICAgICAgCShHUElPX2Jhc2UrMHgwMjAwKSAgIAorICAgICAgI2RlZmluZSAgQ0xLT19NT0RFMiAgICAgIAkoR1BJT19iYXNlKzB4MDIxMCkgICAKKyAgICAgICNkZWZpbmUgIENMS09fTU9ERTMgICAgICAJKEdQSU9fYmFzZSsweDAyMjApICAgCisgICAgICAjZGVmaW5lICBDTEtPX01PREU0ICAgICAgCShHUElPX2Jhc2UrMHgwMjMwKSAgIAorICAgICAgI2RlZmluZSAgQ0xLT19NT0RFNSAgICAgIAkoR1BJT19iYXNlKzB4MDI0MCkgICAKKyAgICAgICNkZWZpbmUgIENMS09fTU9ERTYgICAgICAJKEdQSU9fYmFzZSsweDAyNTApICAgCisgICAjZWxzZSAvKiBEUlZfR1BJT19SRUdfQVNfNjIyMyAqLworICAgICAgI2RlZmluZSAJR1BPX01PREUgICAgICAgCShHUElPX2Jhc2UrMHgwMWMwKSAgICAgICAgIAorICAgI2VuZGlmIC8qIERSVl9HUElPX1JFR19BU182MjIzICovCisJI2RlZmluZSAgR1BJT19ESU5WX0FEUlMobikJKEdQSU9fRElOVjErMHgxMCoobikpICAKKyAgIAorICAgI2RlZmluZSAJR1BJT19ESVIxX1NFVCAgICAgICAoR1BJT19iYXNlKzB4MDAwMCsweDA0KSAgCisgICAjZGVmaW5lIAlHUElPX0RJUjJfU0VUICAgIAkgIChHUElPX2Jhc2UrMHgwMDEwKzB4MDQpICAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fRElSM19TRVQgICAgICAgKEdQSU9fYmFzZSsweDAwMjArMHgwNCkgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fRElSNF9TRVQgICAgICAgKEdQSU9fYmFzZSsweDAwMzArMHgwNCkgIAorICAgI2RlZmluZSAJR1BJT19QVUxMRU4xX1NFVCAgICAoR1BJT19iYXNlKzB4MDA0MCsweDA0KSAgICAgIAorICAgI2RlZmluZSAJR1BJT19QVUxMRU4yX1NFVCAgICAoR1BJT19iYXNlKzB4MDA1MCsweDA0KSAgICAgIAorICAgI2RlZmluZSAJR1BJT19QVUxMRU4zX1NFVCAgICAoR1BJT19iYXNlKzB4MDA2MCsweDA0KSAgICAgCisgICAjZGVmaW5lIAlHUElPX1BVTExFTjRfU0VUICAgIChHUElPX2Jhc2UrMHgwMDcwKzB4MDQpICAKKyAgICNkZWZpbmUgCUdQSU9fRE9VVDFfU0VUICAgICAgKEdQSU9fYmFzZSsweDAwYzArMHgwNCkgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fRE9VVDJfU0VUICAgICAgKEdQSU9fYmFzZSsweDAwZDArMHgwNCkgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fRE9VVDNfU0VUICAgICAgKEdQSU9fYmFzZSsweDAwZTArMHgwNCkgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fRE9VVDRfU0VUICAgICAgKEdQSU9fYmFzZSsweDAwZjArMHgwNCkgIAorICAgI2lmICFkZWZpbmVkKERSVl9HUElPX1JFR19BU182MjIzKQorICAgICAgI2RlZmluZSAJR1BPX0RPVVRfU0VUICAgICAgICAoR1BJT19iYXNlKzB4MDE0MCsweDA0KSAgICAgCisgICAjZW5kaWYgLyogRFJWX0dQSU9fUkVHX0FTXzYyMjMgKi8KKyAgICNkZWZpbmUgCUdQSU9fTU9ERTFfU0VUICAgICAgKEdQSU9fYmFzZSsweDAxNTArMHgwNCkgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTJfU0VUICAgICAgKEdQSU9fYmFzZSsweDAxNjArMHgwNCkgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTNfU0VUICAgICAgKEdQSU9fYmFzZSsweDAxNzArMHgwNCkgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTRfU0VUICAgICAgKEdQSU9fYmFzZSsweDAxODArMHgwNCkgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTVfU0VUICAgICAgKEdQSU9fYmFzZSsweDAxOTArMHgwNCkgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTZfU0VUICAgICAgKEdQSU9fYmFzZSsweDAxYTArMHgwNCkgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTdfU0VUICAgICAgKEdQSU9fYmFzZSsweDAxYjArMHgwNCkgIAorICAgI2lmIGRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyMjMpCisgICAgICAjZGVmaW5lIAlHUElPX0JBTktfU0VUICAgICAgIAkoR1BJT19iYXNlKzB4MDFjMCsweDA0KSAgIAorICAgICAgI2RlZmluZSAgQ0xLT19NT0RFMV9TRVQgICAgICAJKEdQSU9fYmFzZSsweDAyMDArMHgwNCkgICAKKyAgICAgICNkZWZpbmUgIENMS09fTU9ERTJfU0VUICAgICAgCShHUElPX2Jhc2UrMHgwMjEwKzB4MDQpICAgCisgICAgICAjZGVmaW5lICBDTEtPX01PREUzX1NFVCAgICAgIAkoR1BJT19iYXNlKzB4MDIyMCsweDA0KSAgIAorICAgICAgI2RlZmluZSAgQ0xLT19NT0RFNF9TRVQgICAgICAJKEdQSU9fYmFzZSsweDAyMzArMHgwNCkgICAKKyAgICAgICNkZWZpbmUgIENMS09fTU9ERTVfU0VUICAgICAgCShHUElPX2Jhc2UrMHgwMjQwKzB4MDQpICAgCisgICAgICAjZGVmaW5lICBDTEtPX01PREU2X1NFVCAgICAgIAkoR1BJT19iYXNlKzB4MDI1MCsweDA0KSAKKyAgICNlbHNlIC8qIERSVl9HUElPX1JFR19BU182MjIzICovCisgICAgICAjZGVmaW5lIAlHUE9fTU9ERV9TRVQgICAgICAgIChHUElPX2Jhc2UrMHgwMWMwKzB4MDQpICAgICAgIAorICAgI2VuZGlmIC8qIERSVl9HUElPX1JFR19BU182MjIzICovCisgICAjZGVmaW5lICBHUElPX01PREVfU0VUKF9ubykgIChHUElPX01PREUxX1NFVCsoMHgxMCooX25vKSkpICAKKyAgICNkZWZpbmUgIEdQSU9fRElSX1NFVChfbm8pICAgKEdQSU9fRElSMV9TRVQrKDB4MTAqKF9ubykpKSAgIAorICAgI2RlZmluZSAgR1BJT19ET1VUX1NFVChfbm8pICAoR1BJT19ET1VUMV9TRVQrKDB4MTAqKF9ubykpKSAgCisgICAjZGVmaW5lICBHUElPX1BVTExFTl9TRVQoX25vKSAgKEdQSU9fUFVMTEVOMV9TRVQrKDB4MTAqKF9ubykpKSAgCisgICAjaWYgZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjIyMykKKyAgICAgICNkZWZpbmUgIENMS09fTU9ERV9TRVQoX25vKSAgKENMS09fTU9ERTFfU0VUKygweDEwKihfbm8pKSkgIAorICAgI2VuZGlmIC8qIERSVl9HUElPX1JFR19BU182MjIzICovCisgICAjZGVmaW5lIAlHUElPX0RJUjFfQ0xSICAgICAgIChHUElPX2Jhc2UrMHgwMDAwKzB4MDgpICAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX0RJUjJfQ0xSICAgCSAgKEdQSU9fYmFzZSsweDAwMTArMHgwOCkgICAgICAgIAorICAgI2RlZmluZSAJR1BJT19ESVIzX0NMUiAgICAgICAoR1BJT19iYXNlKzB4MDAyMCsweDA4KSAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fRElSNF9DTFIgICAgICAgKEdQSU9fYmFzZSsweDAwMzArMHgwOCkgIAorICAgI2RlZmluZSAJR1BJT19QVUxMRU4xX0NMUiAgICAoR1BJT19iYXNlKzB4MDA0MCsweDA4KSAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fUFVMTEVOMl9DTFIgICAgKEdQSU9fYmFzZSsweDAwNTArMHgwOCkgICAgICAgCisgICAjZGVmaW5lIAlHUElPX1BVTExFTjNfQ0xSICAgIChHUElPX2Jhc2UrMHgwMDYwKzB4MDgpICAgCisgICAjZGVmaW5lIAlHUElPX1BVTExFTjRfQ0xSICAgIChHUElPX2Jhc2UrMHgwMDcwKzB4MDgpCisgICAjZGVmaW5lIAlHUElPX0RPVVQxX0NMUiAgICAgIChHUElPX2Jhc2UrMHgwMGMwKzB4MDgpICAgICAgIAorICAgI2RlZmluZSAJR1BJT19ET1VUMl9DTFIgICAgICAoR1BJT19iYXNlKzB4MDBkMCsweDA4KSAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fRE9VVDNfQ0xSICAgICAgKEdQSU9fYmFzZSsweDAwZTArMHgwOCkgICAgICAgCisgICAjZGVmaW5lIAlHUElPX0RPVVQ0X0NMUiAgICAgIChHUElPX2Jhc2UrMHgwMGYwKzB4MDgpCisgICAjaWYgIWRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyMjMpCisgICAgICAjZGVmaW5lIAlHUE9fRE9VVF9DTFIgICAgICAgIChHUElPX2Jhc2UrMHgwMTQwKzB4MDgpICAgCisgICAjZW5kaWYgLyogRFJWX0dQSU9fUkVHX0FTXzYyMjMgKi8KKyAgICNkZWZpbmUgCUdQSU9fTU9ERTFfQ0xSICAgICAgKEdQSU9fYmFzZSsweDAxNTArMHgwOCkgICAgICAgCisgICAjZGVmaW5lIAlHUElPX01PREUyX0NMUiAgICAgIChHUElPX2Jhc2UrMHgwMTYwKzB4MDgpICAgICAgIAorICAgI2RlZmluZSAJR1BJT19NT0RFM19DTFIgICAgICAoR1BJT19iYXNlKzB4MDE3MCsweDA4KSAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTRfQ0xSICAgICAgKEdQSU9fYmFzZSsweDAxODArMHgwOCkgICAgICAgCisgICAjZGVmaW5lIAlHUElPX01PREU1X0NMUiAgICAgIChHUElPX2Jhc2UrMHgwMTkwKzB4MDgpICAgICAgIAorICAgI2RlZmluZSAJR1BJT19NT0RFNl9DTFIgICAgICAoR1BJT19iYXNlKzB4MDFhMCsweDA4KSAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTdfQ0xSICAgICAgKEdQSU9fYmFzZSsweDAxYjArMHgwOCkKKyAgICNpZiBkZWZpbmVkKERSVl9HUElPX1JFR19BU182MjIzKQorICAgICAgI2RlZmluZSAJR1BJT19CQU5LX0NMUiAgICAgICAJKEdQSU9fYmFzZSsweDAxYzArMHgwOCkgICAKKyAgICAgICNkZWZpbmUgIENMS09fTU9ERTFfQ0xSICAgICAgCShHUElPX2Jhc2UrMHgwMjAwKzB4MDgpICAgCisgICAgICAjZGVmaW5lICBDTEtPX01PREUyX0NMUiAgICAgIAkoR1BJT19iYXNlKzB4MDIxMCsweDA4KSAgIAorICAgICAgI2RlZmluZSAgQ0xLT19NT0RFM19DTFIgICAgICAJKEdQSU9fYmFzZSsweDAyMjArMHgwOCkgICAKKyAgICAgICNkZWZpbmUgIENMS09fTU9ERTRfQ0xSICAgICAgCShHUElPX2Jhc2UrMHgwMjMwKzB4MDgpICAgCisgICAgICAjZGVmaW5lICBDTEtPX01PREU1X0NMUiAgICAgIAkoR1BJT19iYXNlKzB4MDI0MCsweDA4KSAgIAorICAgICAgI2RlZmluZSAgQ0xLT19NT0RFNl9DTFIgICAgICAJKEdQSU9fYmFzZSsweDAyNTArMHgwOCkgCisgICAjZWxzZSAvKiBEUlZfR1BJT19SRUdfQVNfNjIyMyAqLworICAgICAgI2RlZmluZSAJR1BPX01PREVfQ0xSICAgICAgICAoR1BJT19iYXNlKzB4MDFjMCsweDA4KSAgIAorICAgI2VuZGlmIC8qIERSVl9HUElPX1JFR19BU182MjIzICovCisgICAjZGVmaW5lICBHUElPX01PREVfQ0xSKF9ubykgIChHUElPX01PREUxX0NMUisoMHgxMCooX25vKSkpCisgICAjZGVmaW5lICBHUElPX0RJUl9DTFIoX25vKSAgIChHUElPX0RJUjFfQ0xSKygweDEwKihfbm8pKSkKKyAgICNkZWZpbmUgIEdQSU9fRE9VVF9DTFIoX25vKSAgKEdQSU9fRE9VVDFfQ0xSKygweDEwKihfbm8pKSkKKyAgICNkZWZpbmUgIEdQSU9fUFVMTEVOX0NMUihfbm8pICAoR1BJT19QVUxMRU4xX0NMUisoMHgxMCooX25vKSkpICAKKyAgICNpZiBkZWZpbmVkKERSVl9HUElPX1JFR19BU182MjIzKQorICAgICAgI2RlZmluZSAgQ0xLT19NT0RFX0NMUihfbm8pICAoQ0xLT19NT0RFMV9DTFIrKDB4MTAqKF9ubykpKSAgCisgICAjZW5kaWYgLyogRFJWX0dQSU9fUkVHX0FTXzYyMjMgKi8KKyAgIAorICAgI2RlZmluZSAgR1BJT19NT0RFKF9ubykgICAgICAoR1BJT19NT0RFMSsoMHgxMCooX25vKSkpIAorICAgI2RlZmluZSAgR1BJT19ET1VUKF9ubykgICAgICAoR1BJT19ET1VUMSsoMHgxMCooX25vKSkpCisgICAjZGVmaW5lICBHUElPX0RJUihfbm8pICAgICAgIChHUElPX0RJUjErKDB4MTAqKF9ubykpKQorICAgI2lmIGRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyMjMpCisgICAgICAjZGVmaW5lICBDTEtPX01PREUoX25vKSAgICAgIChDTEtPX01PREUxKygweDEwKihfbm8pKSkgIAorICAgICAgI2RlZmluZSAgQ0xLT19OVU0gICAgICAgICAgICA2CisgICAjZW5kaWYgLyogRFJWX0dQSU9fUkVHX0FTXzYyMjMgKi8KKyNlbmRpZiAgIC8qRFJWX0dQSU9fUkVHX0FTXzYyMTksIERSVl9HUElPX1JFR19BU182MjI1Ki8KKworI2lmIGRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyMjcpCisgICAjZGVmaW5lIAlHUElPX0RJUjEgICAgICAgCShHUElPX2Jhc2UrMHgwMDAwKQorICAgI2RlZmluZSAJR1BJT19ESVIyICAgCSAgIChHUElPX2Jhc2UrMHgwMDEwKQorICAgI2RlZmluZSAJR1BJT19ESVIzICAgICAgICAgKEdQSU9fYmFzZSsweDAwMjApCisgICAjZGVmaW5lIAlHUElPX0RJUjQgICAgICAgICAoR1BJT19iYXNlKzB4MDAzMCkKKyAgICNkZWZpbmUgCUdQSU9fUFVMTEVOMSAgICAJKEdQSU9fYmFzZSsweDAwNDApCisgICAjZGVmaW5lIAlHUElPX1BVTExFTjIgICAgCShHUElPX2Jhc2UrMHgwMDUwKQorICAgI2RlZmluZSAJR1BJT19QVUxMRU4zICAgCShHUElPX2Jhc2UrMHgwMDYwKQorICAgI2RlZmluZSAJR1BJT19QVUxMRU40ICAgICAgKEdQSU9fYmFzZSsweDAwNzApCisgICAjZGVmaW5lIAlHUElPX0RJTlYxICAgICAgCShHUElPX2Jhc2UrMHgwMDgwKQorICAgI2RlZmluZSAJR1BJT19ESU5WMiAgICAgIAkoR1BJT19iYXNlKzB4MDA5MCkKKyAgICNkZWZpbmUgCUdQSU9fRElOVjMgICAgICAJKEdQSU9fYmFzZSsweDAwYTApCisgICAjZGVmaW5lIAlHUElPX0RJTlY0ICAgICAgCShHUElPX2Jhc2UrMHgwMGIwKQorICAgI2RlZmluZSAJR1BJT19ET1VUMSAgICAgIAkoR1BJT19iYXNlKzB4MDBjMCkKKyAgICNkZWZpbmUgCUdQSU9fRE9VVDIgICAgICAJKEdQSU9fYmFzZSsweDAwZDApCisgICAjZGVmaW5lIAlHUElPX0RPVVQzICAgICAgCShHUElPX2Jhc2UrMHgwMGUwKQorICAgI2RlZmluZSAJR1BJT19ET1VUNCAgICAgIAkoR1BJT19iYXNlKzB4MDBmMCkKKyAgICNkZWZpbmUgCUdQSU9fRElOMSAgICAgICAJKEdQSU9fYmFzZSsweDAxMDApCisgICAjZGVmaW5lIAlHUElPX0RJTjIgICAgICAgCShHUElPX2Jhc2UrMHgwMTEwKQorICAgI2RlZmluZSAJR1BJT19ESU4zICAgICAgIAkoR1BJT19iYXNlKzB4MDEyMCkKKyAgICNkZWZpbmUgCUdQSU9fRElONCAgICAgICAJKEdQSU9fYmFzZSsweDAxMzApCisgICAjZGVmaW5lIAlHUE9fRE9VVCAgICAgICAJKEdQSU9fYmFzZSsweDAxNDApCisgICAjZGVmaW5lIAlHUElPX01PREUxICAgICAgIAkoR1BJT19iYXNlKzB4MDE1MCkKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTIgICAgICAgCShHUElPX2Jhc2UrMHgwMTYwKQorICAgI2RlZmluZSAJR1BJT19NT0RFMyAgICAgICAJKEdQSU9fYmFzZSsweDAxNzApICAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX01PREU0ICAgICAgIAkoR1BJT19iYXNlKzB4MDE4MCkgICAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTUgICAgICAgCShHUElPX2Jhc2UrMHgwMTkwKSAgICAgICAgIAorICAgI2RlZmluZSAJR1BJT19NT0RFNiAgICAgICAJKEdQSU9fYmFzZSsweDAxYTApICAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX01PREU3ICAgICAgIAkoR1BJT19iYXNlKzB4MDFiMCkgICAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTggICAgICAgCShHUElPX2Jhc2UrMHgwMWQwKSAgICAgICAgIAorICAgI2RlZmluZSAJR1BPX01PREUgICAgICAgCShHUElPX2Jhc2UrMHgwMWMwKSAgICAgICAgIAorICAgI2RlZmluZSAgR1BJT19ESU5WX0FEUlMobikJKEdQSU9fRElOVjErMHgxMCoobikpICAKKyAgIAorICAgI2RlZmluZSAJR1BJT19ESVIxX1NFVCAgICAgICAoR1BJT19iYXNlKzB4MDAwMCsweDA0KSAgCisgICAjZGVmaW5lIAlHUElPX0RJUjJfU0VUICAgIAkgIChHUElPX2Jhc2UrMHgwMDEwKzB4MDQpICAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fRElSM19TRVQgICAgICAgKEdQSU9fYmFzZSsweDAwMjArMHgwNCkgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fRElSNF9TRVQgICAgICAgKEdQSU9fYmFzZSsweDAwMzArMHgwNCkgIAorICAgI2RlZmluZSAJR1BJT19QVUxMRU4xX1NFVCAgICAoR1BJT19iYXNlKzB4MDA0MCsweDA0KSAgICAgIAorICAgI2RlZmluZSAJR1BJT19QVUxMRU4yX1NFVCAgICAoR1BJT19iYXNlKzB4MDA1MCsweDA0KSAgICAgIAorICAgI2RlZmluZSAJR1BJT19QVUxMRU4zX1NFVCAgICAoR1BJT19iYXNlKzB4MDA2MCsweDA0KSAgICAgCisgICAjZGVmaW5lIAlHUElPX1BVTExFTjRfU0VUICAgIChHUElPX2Jhc2UrMHgwMDcwKzB4MDQpICAKKyAgICNkZWZpbmUgCUdQSU9fRE9VVDFfU0VUICAgICAgKEdQSU9fYmFzZSsweDAwYzArMHgwNCkgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fRE9VVDJfU0VUICAgICAgKEdQSU9fYmFzZSsweDAwZDArMHgwNCkgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fRE9VVDNfU0VUICAgICAgKEdQSU9fYmFzZSsweDAwZTArMHgwNCkgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fRE9VVDRfU0VUICAgICAgKEdQSU9fYmFzZSsweDAwZjArMHgwNCkgIAorICAgI2RlZmluZSAJR1BPX0RPVVRfU0VUICAgICAgICAoR1BJT19iYXNlKzB4MDE0MCsweDA0KSAgICAgCisgICAjZGVmaW5lIAlHUElPX01PREUxX1NFVCAgICAgIChHUElPX2Jhc2UrMHgwMTUwKzB4MDQpICAgICAgCisgICAjZGVmaW5lIAlHUElPX01PREUyX1NFVCAgICAgIChHUElPX2Jhc2UrMHgwMTYwKzB4MDQpICAgICAgCisgICAjZGVmaW5lIAlHUElPX01PREUzX1NFVCAgICAgIChHUElPX2Jhc2UrMHgwMTcwKzB4MDQpICAgICAgCisgICAjZGVmaW5lIAlHUElPX01PREU0X1NFVCAgICAgIChHUElPX2Jhc2UrMHgwMTgwKzB4MDQpICAgICAgCisgICAjZGVmaW5lIAlHUElPX01PREU1X1NFVCAgICAgIChHUElPX2Jhc2UrMHgwMTkwKzB4MDQpICAgICAgCisgICAjZGVmaW5lIAlHUElPX01PREU2X1NFVCAgICAgIChHUElPX2Jhc2UrMHgwMWEwKzB4MDQpICAgICAgCisgICAjZGVmaW5lIAlHUElPX01PREU3X1NFVCAgICAgIChHUElPX2Jhc2UrMHgwMWIwKzB4MDQpICAKKyAgICNkZWZpbmUgCUdQSU9fTU9ERThfU0VUICAgICAgKEdQSU9fYmFzZSsweDAxZDArMHgwNCkKKyAgICNkZWZpbmUgCUdQT19NT0RFX1NFVCAgICAgICAgKEdQSU9fYmFzZSsweDAxYzArMHgwNCkgICAgICAgCisgICAjZGVmaW5lICBHUElPX01PREVfU0VUKF9ubykgIChHUElPX01PREUxX1NFVCsoMHgxMCooX25vKSkpICAKKyAgICNkZWZpbmUgIEdQSU9fRElSX1NFVChfbm8pICAgKEdQSU9fRElSMV9TRVQrKDB4MTAqKF9ubykpKSAgIAorICAgI2RlZmluZSAgR1BJT19ET1VUX1NFVChfbm8pICAoR1BJT19ET1VUMV9TRVQrKDB4MTAqKF9ubykpKSAgCisgICAjZGVmaW5lICBHUElPX1BVTExFTl9TRVQoX25vKSAgKEdQSU9fUFVMTEVOMV9TRVQrKDB4MTAqKF9ubykpKSAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fRElSMV9DTFIgICAgICAgKEdQSU9fYmFzZSsweDAwMDArMHgwOCkgICAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fRElSMl9DTFIgICAJICAoR1BJT19iYXNlKzB4MDAxMCsweDA4KSAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX0RJUjNfQ0xSICAgICAgIChHUElPX2Jhc2UrMHgwMDIwKzB4MDgpICAgICAgIAorICAgI2RlZmluZSAJR1BJT19ESVI0X0NMUiAgICAgICAoR1BJT19iYXNlKzB4MDAzMCsweDA4KSAgCisgICAjZGVmaW5lIAlHUElPX1BVTExFTjFfQ0xSICAgIChHUElPX2Jhc2UrMHgwMDQwKzB4MDgpICAgICAgIAorICAgI2RlZmluZSAJR1BJT19QVUxMRU4yX0NMUiAgICAoR1BJT19iYXNlKzB4MDA1MCsweDA4KSAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fUFVMTEVOM19DTFIgICAgKEdQSU9fYmFzZSsweDAwNjArMHgwOCkgICAKKyAgICNkZWZpbmUgCUdQSU9fUFVMTEVONF9DTFIgICAgKEdQSU9fYmFzZSsweDAwNzArMHgwOCkKKyAgICNkZWZpbmUgCUdQSU9fRE9VVDFfQ0xSICAgICAgKEdQSU9fYmFzZSsweDAwYzArMHgwOCkgICAgICAgCisgICAjZGVmaW5lIAlHUElPX0RPVVQyX0NMUiAgICAgIChHUElPX2Jhc2UrMHgwMGQwKzB4MDgpICAgICAgIAorICAgI2RlZmluZSAJR1BJT19ET1VUM19DTFIgICAgICAoR1BJT19iYXNlKzB4MDBlMCsweDA4KSAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fRE9VVDRfQ0xSICAgICAgKEdQSU9fYmFzZSsweDAwZjArMHgwOCkKKyAgICNkZWZpbmUgCUdQT19ET1VUX0NMUiAgICAgICAgKEdQSU9fYmFzZSsweDAxNDArMHgwOCkgICAKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTFfQ0xSICAgICAgKEdQSU9fYmFzZSsweDAxNTArMHgwOCkgICAgICAgCisgICAjZGVmaW5lIAlHUElPX01PREUyX0NMUiAgICAgIChHUElPX2Jhc2UrMHgwMTYwKzB4MDgpICAgICAgIAorICAgI2RlZmluZSAJR1BJT19NT0RFM19DTFIgICAgICAoR1BJT19iYXNlKzB4MDE3MCsweDA4KSAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTRfQ0xSICAgICAgKEdQSU9fYmFzZSsweDAxODArMHgwOCkgICAgICAgCisgICAjZGVmaW5lIAlHUElPX01PREU1X0NMUiAgICAgIChHUElPX2Jhc2UrMHgwMTkwKzB4MDgpICAgICAgIAorICAgI2RlZmluZSAJR1BJT19NT0RFNl9DTFIgICAgICAoR1BJT19iYXNlKzB4MDFhMCsweDA4KSAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTdfQ0xSICAgICAgKEdQSU9fYmFzZSsweDAxYjArMHgwOCkKKyAgICNkZWZpbmUgCUdQSU9fTU9ERThfQ0xSICAgICAgKEdQSU9fYmFzZSsweDAxZDArMHgwOCkKKyAgICNkZWZpbmUgCUdQT19NT0RFX0NMUiAgICAgICAgKEdQSU9fYmFzZSsweDAxYzArMHgwOCkgICAKKyAgICNkZWZpbmUgIEdQSU9fTU9ERV9DTFIoX25vKSAgKEdQSU9fTU9ERTFfQ0xSKygweDEwKihfbm8pKSkKKyAgICNkZWZpbmUgIEdQSU9fRElSX0NMUihfbm8pICAgKEdQSU9fRElSMV9DTFIrKDB4MTAqKF9ubykpKQorICAgI2RlZmluZSAgR1BJT19ET1VUX0NMUihfbm8pICAoR1BJT19ET1VUMV9DTFIrKDB4MTAqKF9ubykpKQorICAgI2RlZmluZSAgR1BJT19QVUxMRU5fQ0xSKF9ubykgIChHUElPX1BVTExFTjFfQ0xSKygweDEwKihfbm8pKSkgIAorICAgCisgICAjZGVmaW5lICBHUElPX01PREUoX25vKSAgICAgIChHUElPX01PREUxKygweDEwKihfbm8pKSkgCisgICAjZGVmaW5lICBHUElPX0RPVVQoX25vKSAgICAgIChHUElPX0RPVVQxKygweDEwKihfbm8pKSkKKyAgICNkZWZpbmUgIEdQSU9fRElSKF9ubykgICAgICAgKEdQSU9fRElSMSsoMHgxMCooX25vKSkpCisgICAjZGVmaW5lICBHUElPX0RJTihfbm8pICAgICAgIChHUElPX0RJTjErKDB4MTAqKF9ubykpKQorICAgCisjZW5kaWYgICAvKkRSVl9HUElPX1JFR19BU182MjI3Ki8KKworCisjaWYgZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjIyOCkKKyAgICNkZWZpbmUgCUdQSU9fRElSMSAgICAgICAJKEdQSU9fYmFzZSsweDAwMDApCisgICAjZGVmaW5lIAlHUElPX0RJUjIgICAJICAgKEdQSU9fYmFzZSsweDAwMTApCisgICAjZGVmaW5lIAlHUElPX0RJUjMgICAgICAgICAoR1BJT19iYXNlKzB4MDAyMCkKKyAgICNkZWZpbmUgCUdQSU9fRElSNCAgICAgICAgIChHUElPX2Jhc2UrMHgwMDMwKQorICAgI2RlZmluZSAJR1BJT19ESVI1ICAgICAgICAgKEdQSU9fYmFzZSsweDAwNDApICAgICAgCisgICAjZGVmaW5lIAlHUElPX1BVTExFTjEgICAgCShHUElPX2Jhc2UrMHgwMDUwKQorICAgI2RlZmluZSAJR1BJT19QVUxMRU4yICAgIAkoR1BJT19iYXNlKzB4MDA2MCkKKyAgICNkZWZpbmUgCUdQSU9fUFVMTEVOMyAgIAkoR1BJT19iYXNlKzB4MDA3MCkKKyAgICNkZWZpbmUgCUdQSU9fUFVMTEVONCAgICAgIChHUElPX2Jhc2UrMHgwMDgwKQorICAgI2RlZmluZSAJR1BJT19QVUxMRU41ICAgICAgKEdQSU9fYmFzZSsweDAwOTApICAgCisgICAjZGVmaW5lIAlHUElPX0RJTlYxICAgICAgCShHUElPX2Jhc2UrMHgwMGEwKQorICAgI2RlZmluZSAJR1BJT19ESU5WMiAgICAgIAkoR1BJT19iYXNlKzB4MDBiMCkKKyAgICNkZWZpbmUgCUdQSU9fRElOVjMgICAgICAJKEdQSU9fYmFzZSsweDAwYzApCisgICAjZGVmaW5lIAlHUElPX0RJTlY0ICAgICAgCShHUElPX2Jhc2UrMHgwMGQwKQorICAgI2RlZmluZSAJR1BJT19ESU5WNSAgICAgIAkoR1BJT19iYXNlKzB4MDBlMCkgICAKKyAgICNkZWZpbmUgCUdQSU9fRE9VVDEgICAgICAJKEdQSU9fYmFzZSsweDAwZjApCisgICAjZGVmaW5lIAlHUElPX0RPVVQyICAgICAgCShHUElPX2Jhc2UrMHgwMTAwKQorICAgI2RlZmluZSAJR1BJT19ET1VUMyAgICAgIAkoR1BJT19iYXNlKzB4MDExMCkKKyAgICNkZWZpbmUgCUdQSU9fRE9VVDQgICAgICAJKEdQSU9fYmFzZSsweDAxMjApCisgICAjZGVmaW5lIAlHUElPX0RPVVQ1ICAgICAgCShHUElPX2Jhc2UrMHgwMTMwKSAgIAorICAgI2RlZmluZSAJR1BJT19ESU4xICAgICAgIAkoR1BJT19iYXNlKzB4MDE0MCkKKyAgICNkZWZpbmUgCUdQSU9fRElOMiAgICAgICAJKEdQSU9fYmFzZSsweDAxNTApCisgICAjZGVmaW5lIAlHUElPX0RJTjMgICAgICAgCShHUElPX2Jhc2UrMHgwMTYwKQorICAgI2RlZmluZSAJR1BJT19ESU40ICAgICAgIAkoR1BJT19iYXNlKzB4MDE3MCkKKyAgICNkZWZpbmUgCUdQSU9fRElONSAgICAgICAJKEdQSU9fYmFzZSsweDAxODApICAgCisgICAjZGVmaW5lIAlHUE9fRE9VVCAgICAgICAJKEdQSU9fYmFzZSsweDAxOTApICAgCisgICAjZGVmaW5lIAlHUElPX01PREUxICAgICAgIAkoR1BJT19iYXNlKzB4MDFhMCkKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTIgICAgICAgCShHUElPX2Jhc2UrMHgwMWIwKQorICAgI2RlZmluZSAJR1BJT19NT0RFMyAgICAgICAJKEdQSU9fYmFzZSsweDAxYzApICAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX01PREU0ICAgICAgIAkoR1BJT19iYXNlKzB4MDFkMCkgICAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTUgICAgICAgCShHUElPX2Jhc2UrMHgwMWUwKSAgICAgICAgIAorICAgI2RlZmluZSAJR1BJT19NT0RFNiAgICAgICAJKEdQSU9fYmFzZSsweDAxZjApICAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX01PREU3ICAgICAgIAkoR1BJT19iYXNlKzB4MDIwMCkKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTggICAgICAgCShHUElPX2Jhc2UrMHgwMjEwKQorICAgI2RlZmluZSAJR1BJT19NT0RFOSAgICAgICAJKEdQSU9fYmFzZSsweDAyMjApCisgICAjZGVmaW5lIAlHUElPX01PREUxMCAgICAgICAoR1BJT19iYXNlKzB4MDIzMCkgICAKKyAgICNkZWZpbmUgCUdQT19NT0RFICAgICAgIAkoR1BJT19iYXNlKzB4MDI0MCkgICAgICAgICAKKyAgICNkZWZpbmUgIEdQSU9fRElOVl9BRFJTKG4pCShHUElPX0RJTlYxKzB4MTAqKG4pKSAgCisgICAKKyAgICNkZWZpbmUgCUdQSU9fRElSMV9TRVQgICAgICAgKEdQSU9fYmFzZSsweDAwMDArMHgwNCkgICAgCisgICAjZGVmaW5lIAlHUElPX0RJUjJfU0VUICAgIAkgIChHUElPX2Jhc2UrMHgwMDEwKzB4MDQpICAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fRElSM19TRVQgICAgICAgKEdQSU9fYmFzZSsweDAwMjArMHgwNCkgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fRElSNF9TRVQgICAgICAgKEdQSU9fYmFzZSsweDAwMzArMHgwNCkgICAgCisgICAjZGVmaW5lIAlHUElPX0RJUjVfU0VUICAgICAgIChHUElPX2Jhc2UrMHgwMDQwKzB4MDQpICAgIAorICAgI2RlZmluZSAJR1BJT19QVUxMRU4xX1NFVCAgICAoR1BJT19iYXNlKzB4MDA1MCsweDA0KSAgICAgIAorICAgI2RlZmluZSAJR1BJT19QVUxMRU4yX1NFVCAgICAoR1BJT19iYXNlKzB4MDA2MCsweDA0KSAgICAgIAorICAgI2RlZmluZSAJR1BJT19QVUxMRU4zX1NFVCAgICAoR1BJT19iYXNlKzB4MDA3MCsweDA0KSAgICAgCisgICAjZGVmaW5lIAlHUElPX1BVTExFTjRfU0VUICAgIChHUElPX2Jhc2UrMHgwMDgwKzB4MDQpICAgIAorICAgI2RlZmluZSAJR1BJT19QVUxMRU41X1NFVCAgICAoR1BJT19iYXNlKzB4MDA5MCsweDA0KSAgICAKKyAgICNkZWZpbmUgCUdQSU9fRE9VVDFfU0VUICAgICAgKEdQSU9fYmFzZSsweDAwZjArMHgwNCkgICAgCisgICAjZGVmaW5lIAlHUElPX0RPVVQyX1NFVCAgICAgIChHUElPX2Jhc2UrMHgwMTAwKzB4MDQpICAgIAorICAgI2RlZmluZSAJR1BJT19ET1VUM19TRVQgICAgICAoR1BJT19iYXNlKzB4MDExMCsweDA0KSAgICAKKyAgICNkZWZpbmUgCUdQSU9fRE9VVDRfU0VUICAgICAgKEdQSU9fYmFzZSsweDAxMjArMHgwNCkgICAgCisgICAjZGVmaW5lIAlHUElPX0RPVVQ1X1NFVCAgICAgIChHUElPX2Jhc2UrMHgwMTMwKzB4MDQpICAgIAorICAgI2RlZmluZSAJR1BPX0RPVVRfU0VUICAgICAgICAoR1BJT19iYXNlKzB4MDE5MCsweDA0KSAgICAgCisgICAjZGVmaW5lIAlHUElPX01PREUxX1NFVCAgICAgIChHUElPX2Jhc2UrMHgwMWEwKzB4MDQpICAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTJfU0VUICAgICAgKEdQSU9fYmFzZSsweDAxYjArMHgwNCkgICAgCisgICAjZGVmaW5lIAlHUElPX01PREUzX1NFVCAgICAgIChHUElPX2Jhc2UrMHgwMWMwKzB4MDQpICAgICAgIAorICAgI2RlZmluZSAJR1BJT19NT0RFNF9TRVQgICAgICAoR1BJT19iYXNlKzB4MDFkMCsweDA0KSAgICAKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTVfU0VUICAgICAgKEdQSU9fYmFzZSsweDAxZTArMHgwNCkgICAgICAgIAorICAgI2RlZmluZSAJR1BJT19NT0RFNl9TRVQgICAgICAoR1BJT19iYXNlKzB4MDFmMCsweDA0KSAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX01PREU3X1NFVCAgICAgIChHUElPX2Jhc2UrMHgwMjAwKzB4MDQpICAgICAgCisgICAjZGVmaW5lIAlHUElPX01PREU4X1NFVCAgICAgIChHUElPX2Jhc2UrMHgwMjEwKzB4MDQpICAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTlfU0VUICAgICAgKEdQSU9fYmFzZSsweDAyMjArMHgwNCkgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTEwX1NFVCAgICAgKEdQSU9fYmFzZSsweDAyMzArMHgwNCkgICAgIAorICAgI2RlZmluZSAJR1BPX01PREVfU0VUICAgICAgICAoR1BJT19iYXNlKzB4MDI0MCsweDA0KSAgICAgICAKKyAgICNkZWZpbmUgIEdQSU9fTU9ERV9TRVQoX25vKSAgKEdQSU9fTU9ERTFfU0VUKygweDEwKihfbm8pKSkKKyAgICNkZWZpbmUgIEdQSU9fRElSX1NFVChfbm8pICAgKEdQSU9fRElSMV9TRVQrKDB4MTAqKF9ubykpKSAgCisgICAjZGVmaW5lICBHUElPX0RPVVRfU0VUKF9ubykgIChHUElPX0RPVVQxX1NFVCsoMHgxMCooX25vKSkpICAKKyAgICNkZWZpbmUgIEdQSU9fUFVMTEVOX1NFVChfbm8pICAoR1BJT19QVUxMRU4xX1NFVCsoMHgxMCooX25vKSkpICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fRElSMV9DTFIgICAgICAgKEdQSU9fYmFzZSsweDAwMDArMHgwOCkgICAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fRElSMl9DTFIgICAJICAoR1BJT19iYXNlKzB4MDAxMCsweDA4KSAgICAgICAgIAorICAgI2RlZmluZSAJR1BJT19ESVIzX0NMUiAgICAgICAoR1BJT19iYXNlKzB4MDAyMCsweDA4KSAgICAgICAgIAorICAgI2RlZmluZSAJR1BJT19ESVI0X0NMUiAgICAgICAoR1BJT19iYXNlKzB4MDAzMCsweDA4KSAgICAgICAgIAorICAgI2RlZmluZSAJR1BJT19ESVI1X0NMUiAgICAgICAoR1BJT19iYXNlKzB4MDA0MCsweDA4KSAgICAgICAgIAorICAgI2RlZmluZSAJR1BJT19QVUxMRU4xX0NMUiAgICAoR1BJT19iYXNlKzB4MDA1MCsweDA4KSAgICAgICAgIAorICAgI2RlZmluZSAJR1BJT19QVUxMRU4yX0NMUiAgICAoR1BJT19iYXNlKzB4MDA2MCsweDA4KSAgICAgICAgIAorICAgI2RlZmluZSAJR1BJT19QVUxMRU4zX0NMUiAgICAoR1BJT19iYXNlKzB4MDA3MCsweDA4KSAgICAgICAgIAorICAgI2RlZmluZSAJR1BJT19QVUxMRU40X0NMUiAgICAoR1BJT19iYXNlKzB4MDA4MCsweDA4KSAgICAgICAgIAorICAgI2RlZmluZSAJR1BJT19QVUxMRU41X0NMUiAgICAoR1BJT19iYXNlKzB4MDA5MCsweDA4KSAgICAgICAgIAorICAgI2RlZmluZSAJR1BJT19ET1VUMV9DTFIgICAgICAoR1BJT19iYXNlKzB4MDBmMCsweDA4KSAgICAgICAgIAorICAgI2RlZmluZSAJR1BJT19ET1VUMl9DTFIgICAgICAoR1BJT19iYXNlKzB4MDEwMCsweDA4KSAgICAgICAgIAorICAgI2RlZmluZSAJR1BJT19ET1VUM19DTFIgICAgICAoR1BJT19iYXNlKzB4MDExMCsweDA4KSAgICAgICAgIAorICAgI2RlZmluZSAJR1BJT19ET1VUNF9DTFIgICAgICAoR1BJT19iYXNlKzB4MDEyMCsweDA4KSAgICAgICAgIAorICAgI2RlZmluZSAJR1BJT19ET1VUNV9DTFIgICAgICAoR1BJT19iYXNlKzB4MDEzMCsweDA4KSAgICAgICAgIAorICAgI2RlZmluZSAJR1BPX0RPVVRfQ0xSICAgICAgICAoR1BJT19iYXNlKzB4MDE5MCsweDA4KSAgICAgICAgIAorICAgI2RlZmluZSAJR1BJT19NT0RFMV9DTFIgICAgICAoR1BJT19iYXNlKzB4MDFhMCsweDA4KSAgICAgICAgIAorICAgI2RlZmluZSAJR1BJT19NT0RFMl9DTFIgICAgICAoR1BJT19iYXNlKzB4MDFiMCsweDA4KSAgICAgICAgIAorICAgI2RlZmluZSAJR1BJT19NT0RFM19DTFIgICAgICAoR1BJT19iYXNlKzB4MDFjMCsweDA4KSAgICAgICAgIAorICAgI2RlZmluZSAJR1BJT19NT0RFNF9DTFIgICAgICAoR1BJT19iYXNlKzB4MDFkMCsweDA4KSAgICAgICAgIAorICAgI2RlZmluZSAJR1BJT19NT0RFNV9DTFIgICAgICAoR1BJT19iYXNlKzB4MDFlMCsweDA4KSAgICAgICAgIAorICAgI2RlZmluZSAJR1BJT19NT0RFNl9DTFIgICAgICAoR1BJT19iYXNlKzB4MDFmMCsweDA4KSAgICAgICAgIAorICAgI2RlZmluZSAJR1BJT19NT0RFN19DTFIgICAgICAoR1BJT19iYXNlKzB4MDIwMCsweDA4KSAgICAgICAgIAorICAgI2RlZmluZSAJR1BJT19NT0RFOF9DTFIgICAgICAoR1BJT19iYXNlKzB4MDIxMCsweDA4KSAgICAgICAgIAorICAgI2RlZmluZSAJR1BJT19NT0RFOV9DTFIgICAgICAoR1BJT19iYXNlKzB4MDIyMCsweDA4KSAgICAgICAgIAorICAgI2RlZmluZSAJR1BJT19NT0RFMTBfQ0xSICAgICAoR1BJT19iYXNlKzB4MDIzMCsweDA4KSAgICAgICAgICAKKyAgICNkZWZpbmUgCUdQT19NT0RFX0NMUiAgICAgICAgKEdQSU9fYmFzZSsweDAyNDArMHgwOCkgICAgICAgICAKKyAgICNkZWZpbmUgIEdQSU9fTU9ERV9DTFIoX25vKSAgKEdQSU9fTU9ERTFfQ0xSKygweDEwKihfbm8pKSkKKyAgICNkZWZpbmUgIEdQSU9fRElSX0NMUihfbm8pICAgKEdQSU9fRElSMV9DTFIrKDB4MTAqKF9ubykpKQorICAgI2RlZmluZSAgR1BJT19ET1VUX0NMUihfbm8pICAoR1BJT19ET1VUMV9DTFIrKDB4MTAqKF9ubykpKQorICAgI2RlZmluZSAgR1BJT19QVUxMRU5fQ0xSKF9ubykgIChHUElPX1BVTExFTjFfQ0xSKygweDEwKihfbm8pKSkgIAorICAgCisgICAjZGVmaW5lICBHUElPX01PREUoX25vKSAgICAgIChHUElPX01PREUxKygweDEwKihfbm8pKSkgCisgICAjZGVmaW5lICBHUElPX0RPVVQoX25vKSAgICAgIChHUElPX0RPVVQxKygweDEwKihfbm8pKSkKKyAgICNkZWZpbmUgIEdQSU9fRElSKF9ubykgICAgICAgKEdQSU9fRElSMSsoMHgxMCooX25vKSkpCisgICAjZGVmaW5lICBHUElPX0RJTihfbm8pICAgICAgIChHUElPX0RJTjErKDB4MTAqKF9ubykpKQorI2VuZGlmICAgLypEUlZfR1BJT19SRUdfQVNfNjIyOCovCisKKyNpZiBkZWZpbmVkKERSVl9HUElPX1JFR19BU182MjY4VCkgCisgICAjZGVmaW5lIAlHUElPX0RJUjEgICAgICAgCShHUElPX2Jhc2UrMHgwMDAwKQorICAgI2RlZmluZSAJR1BJT19ESVIyICAgCSAgIChHUElPX2Jhc2UrMHgwMDEwKQorICAgI2RlZmluZSAJR1BJT19QVUxMRU4xICAgIAkoR1BJT19iYXNlKzB4MDA1MCkKKyAgICNkZWZpbmUgCUdQSU9fUFVMTEVOMiAgICAJKEdQSU9fYmFzZSsweDAwNjApCisgICAjZGVmaW5lIAlHUElPX0RJTlYxICAgICAgCShHUElPX2Jhc2UrMHgwMGEwKQorICAgI2RlZmluZSAJR1BJT19ESU5WMiAgICAgIAkoR1BJT19iYXNlKzB4MDBiMCkKKyAgICNkZWZpbmUgCUdQSU9fRE9VVDEgICAgICAJKEdQSU9fYmFzZSsweDAwZjApCisgICAjZGVmaW5lIAlHUElPX0RPVVQyICAgICAgCShHUElPX2Jhc2UrMHgwMTAwKQorICAgI2RlZmluZSAJR1BJT19ESU4xICAgICAgIAkoR1BJT19iYXNlKzB4MDE0MCkKKyAgICNkZWZpbmUgCUdQSU9fRElOMiAgICAgICAJKEdQSU9fYmFzZSsweDAxNTApCisgICAjZGVmaW5lIAlHUElPX01PREUxICAgICAgIAkoR1BJT19iYXNlKzB4MDFhMCkKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTIgICAgICAgCShHUElPX2Jhc2UrMHgwMWIwKQorICAgI2RlZmluZSAJR1BJT19NT0RFMyAgICAgICAJKEdQSU9fYmFzZSsweDAxYzApICAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX01PREU0ICAgICAgIAkoR1BJT19iYXNlKzB4MDFkMCkgICAgICAgICAKKyAgICNkZWZpbmUgIEdQSU9fRElOVl9BRFJTKG4pCShHUElPX0RJTlYxKzB4MTAqKG4pKSAgCisgICAKKyAgICNkZWZpbmUgCUdQSU9fRElSMV9TRVQgICAgICAgKEdQSU9fYmFzZSsweDAwMDArMHgwNCkgICAgCisgICAjZGVmaW5lIAlHUElPX0RJUjJfU0VUICAgIAkgIChHUElPX2Jhc2UrMHgwMDEwKzB4MDQpICAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fUFVMTEVOMV9TRVQgICAgKEdQSU9fYmFzZSsweDAwNTArMHgwNCkgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fUFVMTEVOMl9TRVQgICAgKEdQSU9fYmFzZSsweDAwNjArMHgwNCkgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fRE9VVDFfU0VUICAgICAgKEdQSU9fYmFzZSsweDAwZjArMHgwNCkgICAgCisgICAjZGVmaW5lIAlHUElPX0RPVVQyX1NFVCAgICAgIChHUElPX2Jhc2UrMHgwMTAwKzB4MDQpICAgIAorICAgI2RlZmluZSAJR1BJT19NT0RFMV9TRVQgICAgICAoR1BJT19iYXNlKzB4MDFhMCsweDA0KSAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX01PREUyX1NFVCAgICAgIChHUElPX2Jhc2UrMHgwMWIwKzB4MDQpICAgIAorICAgI2RlZmluZSAJR1BJT19NT0RFM19TRVQgICAgICAoR1BJT19iYXNlKzB4MDFjMCsweDA0KSAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTRfU0VUICAgICAgKEdQSU9fYmFzZSsweDAxZDArMHgwNCkgICAgCisgICAjZGVmaW5lICBHUElPX01PREVfU0VUKF9ubykgIChHUElPX01PREUxX1NFVCsoMHgxMCooX25vKSkpCisgICAjZGVmaW5lICBHUElPX0RJUl9TRVQoX25vKSAgIChHUElPX0RJUjFfU0VUKygweDEwKihfbm8pKSkgIAorICAgI2RlZmluZSAgR1BJT19ET1VUX1NFVChfbm8pICAoR1BJT19ET1VUMV9TRVQrKDB4MTAqKF9ubykpKSAgCisgICAjZGVmaW5lICBHUElPX1BVTExFTl9TRVQoX25vKSAgKEdQSU9fUFVMTEVOMV9TRVQrKDB4MTAqKF9ubykpKSAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX0RJUjFfQ0xSICAgICAgIChHUElPX2Jhc2UrMHgwMDAwKzB4MDgpICAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX0RJUjJfQ0xSICAgCSAgKEdQSU9fYmFzZSsweDAwMTArMHgwOCkgICAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fUFVMTEVOMV9DTFIgICAgKEdQSU9fYmFzZSsweDAwNTArMHgwOCkgICAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fUFVMTEVOMl9DTFIgICAgKEdQSU9fYmFzZSsweDAwNjArMHgwOCkgICAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fRE9VVDFfQ0xSICAgICAgKEdQSU9fYmFzZSsweDAwZjArMHgwOCkgICAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fRE9VVDJfQ0xSICAgICAgKEdQSU9fYmFzZSsweDAxMDArMHgwOCkgICAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTFfQ0xSICAgICAgKEdQSU9fYmFzZSsweDAxYTArMHgwOCkgICAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTJfQ0xSICAgICAgKEdQSU9fYmFzZSsweDAxYjArMHgwOCkgICAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTNfQ0xSICAgICAgKEdQSU9fYmFzZSsweDAxYzArMHgwOCkgICAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTRfQ0xSICAgICAgKEdQSU9fYmFzZSsweDAxZDArMHgwOCkgICAgICAgICAKKyAgICNkZWZpbmUgIEdQSU9fTU9ERV9DTFIoX25vKSAgKEdQSU9fTU9ERTFfQ0xSKygweDEwKihfbm8pKSkKKyAgICNkZWZpbmUgIEdQSU9fRElSX0NMUihfbm8pICAgKEdQSU9fRElSMV9DTFIrKDB4MTAqKF9ubykpKQorICAgI2RlZmluZSAgR1BJT19ET1VUX0NMUihfbm8pICAoR1BJT19ET1VUMV9DTFIrKDB4MTAqKF9ubykpKQorICAgI2RlZmluZSAgR1BJT19QVUxMRU5fQ0xSKF9ubykgIChHUElPX1BVTExFTjFfQ0xSKygweDEwKihfbm8pKSkgIAorICAgCisgICAjZGVmaW5lICBHUElPX01PREUoX25vKSAgICAgIChHUElPX01PREUxKygweDEwKihfbm8pKSkgCisgICAjZGVmaW5lICBHUElPX0RPVVQoX25vKSAgICAgIChHUElPX0RPVVQxKygweDEwKihfbm8pKSkKKyAgICNkZWZpbmUgIEdQSU9fRElSKF9ubykgICAgICAgKEdQSU9fRElSMSsoMHgxMCooX25vKSkpCisgICAjZGVmaW5lICBHUElPX0RJTihfbm8pICAgICAgIChHUElPX0RJTjErKDB4MTAqKF9ubykpKQorI2VuZGlmICAgLypEUlZfR1BJT19SRUdfQVNfNjI2OFQqLworCisjaWYgZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjIzOCkgfHwgZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjIzNSkgfHwgZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjI2OEEpIHx8IGRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyNjgpIHx8IGRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyNzBBKSB8fCBkZWZpbmVkKERSVl9HUElPX1JFR19BU182Mjc2KQorICAgI2RlZmluZSAJR1BJT19ESVIxICAgICAgIAkoR1BJT19iYXNlKzB4MDAwMCkKKyAgICNkZWZpbmUgCUdQSU9fRElSMiAgIAkgICAoR1BJT19iYXNlKzB4MDA0MCkKKyAgICNpZiAhZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjI3MEEpCisgICAjZGVmaW5lIAlHUElPX0RJUjMgICAgICAgICAoR1BJT19iYXNlKzB4MDA4MCkKKyAgICNkZWZpbmUgCUdQSU9fRElSNCAgICAgICAgIChHUElPX2Jhc2UrMHgwMGMwKQorICAgI2RlZmluZSAJR1BJT19ESVI1ICAgICAgICAgKEdQSU9fYmFzZSsweDAxMDApICAgICAgCisgICAjaWYgZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjIzOCkgfHwgZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjI2OEEpIHx8IGRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyNjgpIHx8IGRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyNzYpCisgICAjZGVmaW5lIAlHUElPX0RJUjYgICAgICAgICAoR1BJT19iYXNlKzB4MDE0MCkgICAgICAKKyAgICNlbmRpZiAvKiBEUlZfR1BJT19SRUdfQVNfNjIzOCAqLworICAgI2lmIGRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyNjhBKSB8fCBkZWZpbmVkKERSVl9HUElPX1JFR19BU182MjY4KSB8fCBkZWZpbmVkKERSVl9HUElPX1JFR19BU182Mjc2KQorICAgI2RlZmluZSAJR1BJT19ESVI3ICAgICAgICAgKEdQSU9fYmFzZSsweDAxODApICAgICAgCisgICAjZW5kaWYgLyogRFJWX0dQSU9fUkVHX0FTXzYyNjhBICovCisgICAjZW5kaWYgLy8hZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjI3MEEpCisgICAjZGVmaW5lIAlHUElPX1BVTExFTjEgICAgCShHUElPX2Jhc2UrMHgwMjAwKQorICAgI2RlZmluZSAJR1BJT19QVUxMRU4yICAgIAkoR1BJT19iYXNlKzB4MDI0MCkKKyAgICNpZiAhZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjI3MEEpCisgICAjZGVmaW5lIAlHUElPX1BVTExFTjMgICAJKEdQSU9fYmFzZSsweDAyODApCisgICAjZGVmaW5lIAlHUElPX1BVTExFTjQgICAgICAoR1BJT19iYXNlKzB4MDJjMCkKKyAgICNkZWZpbmUgCUdQSU9fUFVMTEVONSAgICAgIChHUElPX2Jhc2UrMHgwMzAwKSAgIAorICAgI2lmIGRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyMzgpIHx8IGRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyNjhBKSB8fCBkZWZpbmVkKERSVl9HUElPX1JFR19BU182MjY4KSB8fCBkZWZpbmVkKERSVl9HUElPX1JFR19BU182Mjc2KQorICAgI2RlZmluZSAJR1BJT19QVUxMRU42ICAgICAgKEdQSU9fYmFzZSsweDAzNDApICAgCisgICAjZW5kaWYgLyogRFJWX0dQSU9fUkVHX0FTXzYyMzggKi8KKyAgICNpZiBkZWZpbmVkKERSVl9HUElPX1JFR19BU182MjY4QSkgfHwgZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjI2OCkgfHwgZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjI3NikKKyAgICNkZWZpbmUgCUdQSU9fUFVMTEVONyAgICAgIChHUElPX2Jhc2UrMHgwMzgwKQorICAgI2VuZGlmIC8qIERSVl9HUElPX1JFR19BU182MjY4QSAqLworICAgI2VuZGlmIC8vIWRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyNzBBKQorICAgI2RlZmluZSAJR1BJT19QVUxMU0VMMSAgICAJKEdQSU9fYmFzZSsweDA0MDApCisgICAjZGVmaW5lIAlHUElPX1BVTExTRUwyICAgIAkoR1BJT19iYXNlKzB4MDQ0MCkKKyAgICNpZiAhZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjI3MEEpCisgICAjZGVmaW5lIAlHUElPX1BVTExTRUwzICAgCShHUElPX2Jhc2UrMHgwNDgwKQorICAgI2RlZmluZSAJR1BJT19QVUxMU0VMNCAgICAgKEdQSU9fYmFzZSsweDA0YzApCisgICAjZGVmaW5lIAlHUElPX1BVTExTRUw1ICAgICAoR1BJT19iYXNlKzB4MDUwMCkgICAKKyAgICNpZiBkZWZpbmVkKERSVl9HUElPX1JFR19BU182MjM4KSB8fCBkZWZpbmVkKERSVl9HUElPX1JFR19BU182MjY4QSkgfHwgZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjI2OCkgfHwgZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjI3NikKKyAgICNkZWZpbmUgCUdQSU9fUFVMTFNFTDYgICAgIChHUElPX2Jhc2UrMHgwNTQwKSAgIAorICAgI2VuZGlmIC8qIERSVl9HUElPX1JFR19BU182MjM4ICovCisgICAjaWYgZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjI2OEEpIHx8IGRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyNjgpIHx8IGRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyNzYpCisgICAjZGVmaW5lIAlHUElPX1BVTExTRUw3ICAgICAoR1BJT19iYXNlKzB4MDU4MCkKKyAgICNlbmRpZiAvKiBEUlZfR1BJT19SRUdfQVNfNjI2OEEgKi8KKyAgICNlbmRpZiAvLyFkZWZpbmVkKERSVl9HUElPX1JFR19BU182MjcwQSkKKyAgICNkZWZpbmUgCUdQSU9fRElOVjEgICAgICAJKEdQSU9fYmFzZSsweDA2MDApCisgICAjZGVmaW5lIAlHUElPX0RJTlYyICAgICAgCShHUElPX2Jhc2UrMHgwNjQwKQorICAgI2lmICFkZWZpbmVkKERSVl9HUElPX1JFR19BU182MjcwQSkKKyAgICNkZWZpbmUgCUdQSU9fRElOVjMgICAgICAJKEdQSU9fYmFzZSsweDA2ODApCisgICAjZGVmaW5lIAlHUElPX0RJTlY0ICAgICAgCShHUElPX2Jhc2UrMHgwNmMwKQorICAgI2RlZmluZSAJR1BJT19ESU5WNSAgICAgIAkoR1BJT19iYXNlKzB4MDcwMCkgICAKKyAgICNpZiBkZWZpbmVkKERSVl9HUElPX1JFR19BU182MjM4KSB8fCBkZWZpbmVkKERSVl9HUElPX1JFR19BU182MjY4QSkgfHwgZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjI2OCkgfHwgZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjI3NikKKyAgICNkZWZpbmUgCUdQSU9fRElOVjYgICAgICAJKEdQSU9fYmFzZSsweDA3NDApICAgCisgICAjZW5kaWYgLyogRFJWX0dQSU9fUkVHX0FTXzYyMzggKi8KKyAgICNpZiBkZWZpbmVkKERSVl9HUElPX1JFR19BU182MjY4QSkgfHwgZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjI2OCkgfHwgZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjI3NikKKyAgICNkZWZpbmUgCUdQSU9fRElOVjcgICAgICAJKEdQSU9fYmFzZSsweDA3ODApICAgCisgICAjZW5kaWYgLyogRFJWX0dQSU9fUkVHX0FTXzYyNjhBICovCisgICAjZW5kaWYgLy8hZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjI3MEEpCisgICAjZGVmaW5lIAlHUElPX0RPVVQxICAgICAgCShHUElPX2Jhc2UrMHgwODAwKQorICAgI2RlZmluZSAJR1BJT19ET1VUMiAgICAgIAkoR1BJT19iYXNlKzB4MDg0MCkKKyAgICNpZiAhZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjI3MEEpCisgICAjZGVmaW5lIAlHUElPX0RPVVQzICAgICAgCShHUElPX2Jhc2UrMHgwODgwKQorICAgI2RlZmluZSAJR1BJT19ET1VUNCAgICAgIAkoR1BJT19iYXNlKzB4MDhjMCkKKyAgICNkZWZpbmUgCUdQSU9fRE9VVDUgICAgICAJKEdQSU9fYmFzZSsweDA5MDApICAgCisgICAjaWYgZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjIzOCkgfHwgZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjI2OEEpIHx8IGRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyNjgpIHx8IGRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyNzYpCisgICAjZGVmaW5lIAlHUElPX0RPVVQ2ICAgICAgCShHUElPX2Jhc2UrMHgwOTQwKSAgIAorICAgI2VuZGlmIC8qIERSVl9HUElPX1JFR19BU182MjM4ICovCisgICAjaWYgZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjI2OEEpIHx8IGRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyNjgpIHx8IGRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyNzYpCisgICAjZGVmaW5lIAlHUElPX0RPVVQ3ICAgICAgCShHUElPX2Jhc2UrMHgwOTgwKSAgIAorICAgI2VuZGlmIC8qIERSVl9HUElPX1JFR19BU182MjY4QSAqLworICAgI2VuZGlmIC8vIWRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyNzBBKQorICAgI2RlZmluZSAJR1BJT19ESU4xICAgICAgIAkoR1BJT19iYXNlKzB4MGEwMCkKKyAgICNkZWZpbmUgCUdQSU9fRElOMiAgICAgICAJKEdQSU9fYmFzZSsweDBhNDApCisgICAjaWYgIWRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyNzBBKQorICAgI2RlZmluZSAJR1BJT19ESU4zICAgICAgIAkoR1BJT19iYXNlKzB4MGE4MCkKKyAgICNkZWZpbmUgCUdQSU9fRElONCAgICAgICAJKEdQSU9fYmFzZSsweDBhYzApCisgICAjZGVmaW5lIAlHUElPX0RJTjUgICAgICAgCShHUElPX2Jhc2UrMHgwYjAwKSAgIAorICAgI2lmIGRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyMzgpIHx8IGRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyNjhBKSB8fCBkZWZpbmVkKERSVl9HUElPX1JFR19BU182MjY4KSB8fCBkZWZpbmVkKERSVl9HUElPX1JFR19BU182Mjc2KQorICAgI2RlZmluZSAJR1BJT19ESU42ICAgICAgIAkoR1BJT19iYXNlKzB4MGI0MCkgICAKKyAgICNlbmRpZiAvKiBEUlZfR1BJT19SRUdfQVNfNjIzOCAqLworICAgI2lmIGRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyNjhBKSB8fCBkZWZpbmVkKERSVl9HUElPX1JFR19BU182MjY4KSB8fCBkZWZpbmVkKERSVl9HUElPX1JFR19BU182Mjc2KQorICAgI2RlZmluZSAJR1BJT19ESU43ICAgICAgIAkoR1BJT19iYXNlKzB4MGI4MCkgICAKKyAgICNlbmRpZiAvKiBEUlZfR1BJT19SRUdfQVNfNjI2OEEgKi8KKyAgICNlbmRpZiAvLyFkZWZpbmVkKERSVl9HUElPX1JFR19BU182MjcwQSkKKyAgICNpZiBkZWZpbmVkKE1UNjI3Nl9TMDEpCisgICAjZGVmaW5lIEdQSU9fTU9ERTAJCQkoR1BJT19iYXNlKzB4MTAwMCkKKyAgICNkZWZpbmUgR1BJT19NT0RFMQkJCShHUElPX2Jhc2UrMHgxMTAwKQorICAgI2RlZmluZSBHUElPX01PREUyCQkJKEdQSU9fYmFzZSsweDEyMDApCisgICAjZGVmaW5lIEdQSU9fTU9ERTMJCQkoR1BJT19iYXNlKzB4MTMwMCkKKyAgICNkZWZpbmUgR1BJT19NT0RFNAkJCShHUElPX2Jhc2UrMHgxNDAwKQorICAgI2RlZmluZSBHUElPX01PREU1CQkJKEdQSU9fYmFzZSsweDE1MDApCisgICAjZGVmaW5lIEdQSU9fTU9ERTYJCQkoR1BJT19iYXNlKzB4MTYwMCkKKyAgICNkZWZpbmUgR1BJT19NT0RFNwkJCShHUElPX2Jhc2UrMHgxNzAwKQorICAgI2RlZmluZSBHUElPX01PREU4CQkJKEdQSU9fYmFzZSsweDE4MDApCisgICAjZGVmaW5lIEdQSU9fTU9ERTkJCQkoR1BJT19iYXNlKzB4MTkwMCkKKyAgICNkZWZpbmUgR1BJT19NT0RFQQkJCShHUElPX2Jhc2UrMHgxQTAwKQorICAgI2RlZmluZSBHUElPX01PREVCCQkJKEdQSU9fYmFzZSsweDFCMDApCisgICAjZGVmaW5lIEdQSU9fTU9ERUMJCQkoR1BJT19iYXNlKzB4MUMwMCkKKyAgICNkZWZpbmUgR1BJT19NT0RFRAkJCShHUElPX2Jhc2UrMHgxRDAwKQorICAgI2RlZmluZSBHUElPX01PREVFCQkJKEdQSU9fYmFzZSsweDFFMDApCisgICAjZGVmaW5lIEdQSU9fTU9ERUYJCQkoR1BJT19iYXNlKzB4MUYwMCkKKyAgICNkZWZpbmUgR1BJT19NT0RFMTAJCQkoR1BJT19iYXNlKzB4MjAwMCkKKyAgICNkZWZpbmUgR1BJT19NT0RFMTEJCQkoR1BJT19iYXNlKzB4MjEwMCkKKyAgICNkZWZpbmUgR1BJT19NT0RFMTIJCQkoR1BJT19iYXNlKzB4MjIwMCkKKyAgICNkZWZpbmUgR1BJT19NT0RFMTMJCQkoR1BJT19iYXNlKzB4MjMwMCkKKyAgICNkZWZpbmUgR1BJT19NT0RFMTQJCQkoR1BJT19iYXNlKzB4MjQwMCkKKyAgICNkZWZpbmUgR1BJT19NT0RFMTUJCQkoR1BJT19iYXNlKzB4MjUwMCkKKyAgICNkZWZpbmUgR1BJT19NT0RFMTYJCQkoR1BJT19iYXNlKzB4MjYwMCkKKyAgICNlbHNlCS8vZGVmaW5lKE1UNjI3Nl9TMDEpCisgICAjZGVmaW5lIAlHUElPX01PREUxICAgICAgIAkoR1BJT19iYXNlKzB4MTAwMCkKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTIgICAgICAgCShHUElPX2Jhc2UrMHgxMTAwKQorICAgI2RlZmluZSAJR1BJT19NT0RFMyAgICAgICAJKEdQSU9fYmFzZSsweDEyMDApICAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX01PREU0ICAgICAgIAkoR1BJT19iYXNlKzB4MTMwMCkgICAgICAgICAKKyAgICNpZiAhZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjI3MEEpCisgICAjZGVmaW5lIAlHUElPX01PREU1ICAgICAgIAkoR1BJT19iYXNlKzB4MTQwMCkgICAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTYgICAgICAgCShHUElPX2Jhc2UrMHgxNTAwKSAgICAgICAgIAorICAgI2RlZmluZSAJR1BJT19NT0RFNyAgICAgICAJKEdQSU9fYmFzZSsweDE2MDApCisgICAjZGVmaW5lIAlHUElPX01PREU4ICAgICAgIAkoR1BJT19iYXNlKzB4MTcwMCkKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTkgICAgICAgCShHUElPX2Jhc2UrMHgxODAwKQorICAgI2RlZmluZSAJR1BJT19NT0RFQSAgICAgICAgKEdQSU9fYmFzZSsweDE5MDApICAgCisgICAjaWYgZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjIzOCkgfHwgZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjI2OEEpIHx8IGRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyNjgpIHx8IGRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyNzYpCisgICAjZGVmaW5lIAlHUElPX01PREVCICAgICAgICAoR1BJT19iYXNlKzB4MWEwMCkgICAKKyAgICNlbmRpZiAvKiBEUlZfR1BJT19SRUdfQVNfNjIzOCAqLworICAgI2lmIGRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyNjhBKSB8fCBkZWZpbmVkKERSVl9HUElPX1JFR19BU182MjY4KSB8fCBkZWZpbmVkKERSVl9HUElPX1JFR19BU182Mjc2KQorICAgI2RlZmluZSAJR1BJT19NT0RFQyAgICAgICAgKEdQSU9fYmFzZSsweDFiMDApICAgCisgICAjZGVmaW5lIAlHUElPX01PREVEICAgICAgICAoR1BJT19iYXNlKzB4MWMwMCkgICAKKyAgICNpZiBkZWZpbmVkKERSVl9HUElPX1JFR19BU182Mjc2KQorICAgI2RlZmluZSAJR1BJT19NT0RFRSAgICAgICAgKEdQSU9fYmFzZSsweDFkMDApICAgCisgICAjZW5kaWYgLy9kZWZpbmVkKERSVl9HUElPX1JFR19BU182Mjc2KQorICAgI2VuZGlmIC8qIERSVl9HUElPX1JFR19BU182MjY4QSAqLworICAgI2VuZGlmIC8vIWRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyNzBBKQorICAgI2VuZGlmIC8vZGVmaW5lKE1UNjI3Nl9TMDEpCSAgIAorICAgI2RlZmluZSAgQ0xLT19NT0RFMSAgICAgIAkoR1BJT19iYXNlKzB4MzAwMCkKKyAgICNkZWZpbmUgIENMS09fTU9ERTIgICAgICAJKEdQSU9fYmFzZSsweDMxMDApICAgCisgICAjZGVmaW5lICBDTEtPX01PREUzICAgICAgCShHUElPX2Jhc2UrMHgzMjAwKSAgIAorICAgI2RlZmluZSAgQ0xLT19NT0RFNCAgICAgIAkoR1BJT19iYXNlKzB4MzMwMCkgICAKKyAgICNkZWZpbmUgIENMS09fTU9ERTUgICAgICAJKEdQSU9fYmFzZSsweDM0MDApICAgCisjaWYgIWRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyNzBBKQorICAgI2RlZmluZSAgQ0xLT19NT0RFNiAgICAgIAkoR1BJT19iYXNlKzB4MzUwMCkgICAKKyNpZiAhZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjI2OEEpICYmICFkZWZpbmVkKERSVl9HUElPX1JFR19BU182MjY4KSAmJiAhZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjI3NikKKyAgICNkZWZpbmUgIENMS09fTU9ERTcgICAgICAJKEdQSU9fYmFzZSsweDM2MDApICAgCisgICAjZGVmaW5lICBDTEtPX01PREU4ICAgICAgCShHUElPX2Jhc2UrMHgzNzAwKSAgIAorICAgI2lmIGRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyMzUpCisgICAjZGVmaW5lICBDTEtPX01PREU5ICAgICAgCShHUElPX2Jhc2UrMHgzODAwKQorICAgI2RlZmluZSAgQ0xLT19NT0RFQSAgICAgIAkoR1BJT19iYXNlKzB4MzkwMCkgICAKKyAgICNlbmRpZiAvKiBEUlZfR1BJT19SRUdfQVNfNjIzNSAqLworICAgI2lmIGRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyMzgpCisgICAjZGVmaW5lICBHUElPX1RNICAgICAgICAJKEdQSU9fYmFzZSsweDQwMDApICAgCisgICAjZW5kaWYgLyogRFJWX0dQSU9fUkVHX0FTXzYyMzggKi8KKyNlbmRpZiAvKiAhZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjI2OEEpICovCisjZW5kaWYgLy8hZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjI3MEEpCisgICAjZGVmaW5lICBHUElPX0RJTlZfQURSUyhuKQkoR1BJT19ESU5WMSsweDQwKihuKSkgIAorICAgCisgICAjZGVmaW5lIAlHUElPX0RJUjFfU0VUICAgICAgIChHUElPX2Jhc2UrMHgwMDAwKzB4MDQpICAgIAorICAgI2RlZmluZSAJR1BJT19ESVIyX1NFVCAgICAJICAoR1BJT19iYXNlKzB4MDA0MCsweDA0KSAgICAgICAgCisgICAjaWYgIWRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyNzBBKQorICAgI2RlZmluZSAJR1BJT19ESVIzX1NFVCAgICAgICAoR1BJT19iYXNlKzB4MDA4MCsweDA0KSAgICAgIAorICAgI2RlZmluZSAJR1BJT19ESVI0X1NFVCAgICAgICAoR1BJT19iYXNlKzB4MDBjMCsweDA0KSAgICAKKyAgICNkZWZpbmUgCUdQSU9fRElSNV9TRVQgICAgICAgKEdQSU9fYmFzZSsweDAxMDArMHgwNCkgICAgCisgICAjaWYgZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjIzOCkgfHwgZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjI2OEEpIHx8IGRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyNjgpIHx8IGRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyNzYpCisgICAjZGVmaW5lIAlHUElPX0RJUjZfU0VUICAgICAgIChHUElPX2Jhc2UrMHgwMTQwKzB4MDQpICAgIAorICAgI2VuZGlmIC8qIERSVl9HUElPX1JFR19BU182MjM4ICovCisgICAjaWYgZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjI2OEEpIHx8IGRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyNjgpIHx8IGRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyNzYpCisgICAjZGVmaW5lIAlHUElPX0RJUjdfU0VUICAgICAgIChHUElPX2Jhc2UrMHgwMTgwKzB4MDQpICAgIAorICAgI2VuZGlmIC8qIERSVl9HUElPX1JFR19BU182MjY4QSAqLworICAgI2VuZGlmIC8vIWRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyNzBBKQorICAgI2RlZmluZSAJR1BJT19QVUxMRU4xX1NFVCAgICAoR1BJT19iYXNlKzB4MDIwMCsweDA0KSAgICAgIAorICAgI2RlZmluZSAJR1BJT19QVUxMRU4yX1NFVCAgICAoR1BJT19iYXNlKzB4MDI0MCsweDA0KSAgICAgIAorICAgI2lmICFkZWZpbmVkKERSVl9HUElPX1JFR19BU182MjcwQSkKKyAgICNkZWZpbmUgCUdQSU9fUFVMTEVOM19TRVQgICAgKEdQSU9fYmFzZSsweDAyODArMHgwNCkgICAgIAorICAgI2RlZmluZSAJR1BJT19QVUxMRU40X1NFVCAgICAoR1BJT19iYXNlKzB4MDJjMCsweDA0KSAgICAKKyAgICNkZWZpbmUgCUdQSU9fUFVMTEVONV9TRVQgICAgKEdQSU9fYmFzZSsweDAzMDArMHgwNCkgICAgCisgICAjaWYgZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjIzOCkgfHwgZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjI2OEEpIHx8IGRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyNjgpIHx8IGRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyNzYpCisgICAjZGVmaW5lIAlHUElPX1BVTExFTjZfU0VUICAgIChHUElPX2Jhc2UrMHgwMzQwKzB4MDQpICAgIAorICAgI2VuZGlmIC8qIERSVl9HUElPX1JFR19BU182MjM4ICovCisgICAjaWYgZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjI2OEEpIHx8IGRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyNjgpIHx8IGRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyNzYpCisgICAjZGVmaW5lIAlHUElPX1BVTExFTjdfU0VUICAgIChHUElPX2Jhc2UrMHgwMzgwKzB4MDQpICAgIAorICAgI2VuZGlmIC8qIERSVl9HUElPX1JFR19BU182MjY4QSAqLworICAgI2VuZGlmIC8vIWRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyNzBBKQorICAgI2RlZmluZSAJR1BJT19QVUxMU0VMMV9TRVQgICAoR1BJT19iYXNlKzB4MDQwMCsweDA0KSAgICAgIAorICAgI2RlZmluZSAJR1BJT19QVUxMU0VMMl9TRVQgICAoR1BJT19iYXNlKzB4MDQ0MCsweDA0KSAgICAgIAorICAgI2lmICFkZWZpbmVkKERSVl9HUElPX1JFR19BU182MjcwQSkKKyAgICNkZWZpbmUgCUdQSU9fUFVMTFNFTDNfU0VUICAgKEdQSU9fYmFzZSsweDA0ODArMHgwNCkgICAgIAorICAgI2RlZmluZSAJR1BJT19QVUxMU0VMNF9TRVQgICAoR1BJT19iYXNlKzB4MDRjMCsweDA0KSAgICAKKyAgICNkZWZpbmUgCUdQSU9fUFVMTFNFTDVfU0VUICAgKEdQSU9fYmFzZSsweDA1MDArMHgwNCkgICAgCisgICAjaWYgZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjIzOCkgfHwgZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjI2OEEpIHx8IGRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyNjgpIHx8IGRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyNzYpCisgICAjZGVmaW5lIAlHUElPX1BVTExTRUw2X1NFVCAgIChHUElPX2Jhc2UrMHgwNTQwKzB4MDQpICAgIAorICAgI2VuZGlmIC8qIERSVl9HUElPX1JFR19BU182MjM4ICovCisgICAjaWYgZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjI2OEEpIHx8IGRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyNjgpIHx8IGRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyNzYpCisgICAjZGVmaW5lIAlHUElPX1BVTExTRUw3X1NFVCAgIChHUElPX2Jhc2UrMHgwNTgwKzB4MDQpICAgIAorICAgI2VuZGlmIC8qIERSVl9HUElPX1JFR19BU182MjY4QSAqLworICAgI2VuZGlmIC8vIWRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyNzBBKQorICAgI2RlZmluZSAJR1BJT19ET1VUMV9TRVQgICAgICAoR1BJT19iYXNlKzB4MDgwMCsweDA0KSAgICAKKyAgICNkZWZpbmUgCUdQSU9fRE9VVDJfU0VUICAgICAgKEdQSU9fYmFzZSsweDA4NDArMHgwNCkgICAgCisgICAjaWYgIWRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyNzBBKQorICAgI2RlZmluZSAJR1BJT19ET1VUM19TRVQgICAgICAoR1BJT19iYXNlKzB4MDg4MCsweDA0KSAgICAKKyAgICNkZWZpbmUgCUdQSU9fRE9VVDRfU0VUICAgICAgKEdQSU9fYmFzZSsweDA4YzArMHgwNCkgICAgCisgICAjZGVmaW5lIAlHUElPX0RPVVQ1X1NFVCAgICAgIChHUElPX2Jhc2UrMHgwOTAwKzB4MDQpICAgIAorICAgI2lmIGRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyMzgpIHx8IGRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyNjhBKSB8fCBkZWZpbmVkKERSVl9HUElPX1JFR19BU182MjY4KSB8fCBkZWZpbmVkKERSVl9HUElPX1JFR19BU182Mjc2KQorICAgI2RlZmluZSAJR1BJT19ET1VUNl9TRVQgICAgICAoR1BJT19iYXNlKzB4MDk0MCsweDA0KSAgICAKKyAgICNlbmRpZiAvKiBEUlZfR1BJT19SRUdfQVNfNjIzOCAqLworICAgI2lmIGRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyNjhBKSB8fCBkZWZpbmVkKERSVl9HUElPX1JFR19BU182MjY4KSB8fCBkZWZpbmVkKERSVl9HUElPX1JFR19BU182Mjc2KQorICAgI2RlZmluZSAJR1BJT19ET1VUN19TRVQgICAgICAoR1BJT19iYXNlKzB4MDk4MCsweDA0KSAgICAKKyAgICNlbmRpZiAvKiBEUlZfR1BJT19SRUdfQVNfNjI2OEEgKi8KKyAgICNlbmRpZiAvLyFkZWZpbmVkKERSVl9HUElPX1JFR19BU182MjcwQSkKKyAgICNpZiBkZWZpbmVkKE1UNjI3Nl9TMDEpCisgICAgICNkZWZpbmUgR1BJT19NT0RFMF9TRVQJCShHUElPX2Jhc2UrMHgxMDAwKzB4MDQpCisgICAgICNkZWZpbmUgR1BJT19NT0RFMV9TRVQJCShHUElPX2Jhc2UrMHgxMTAwKzB4MDQpCisgICAgICNkZWZpbmUgR1BJT19NT0RFMl9TRVQJCShHUElPX2Jhc2UrMHgxMjAwKzB4MDQpCisgICAgICNkZWZpbmUgR1BJT19NT0RFM19TRVQJCShHUElPX2Jhc2UrMHgxMzAwKzB4MDQpCisgICAgICNkZWZpbmUgR1BJT19NT0RFNF9TRVQJCShHUElPX2Jhc2UrMHgxNDAwKzB4MDQpCisgICAgICNkZWZpbmUgR1BJT19NT0RFNV9TRVQJCShHUElPX2Jhc2UrMHgxNTAwKzB4MDQpCisgICAgICNkZWZpbmUgR1BJT19NT0RFNl9TRVQJCShHUElPX2Jhc2UrMHgxNjAwKzB4MDQpCisgICAgICNkZWZpbmUgR1BJT19NT0RFN19TRVQJCShHUElPX2Jhc2UrMHgxNzAwKzB4MDQpCisgICAgICNkZWZpbmUgR1BJT19NT0RFOF9TRVQJCShHUElPX2Jhc2UrMHgxODAwKzB4MDQpCisgICAgICNkZWZpbmUgR1BJT19NT0RFOV9TRVQJCShHUElPX2Jhc2UrMHgxOTAwKzB4MDQpCisgICAgICNkZWZpbmUgR1BJT19NT0RFQV9TRVQJCShHUElPX2Jhc2UrMHgxQTAwKzB4MDQpCisgICAgICNkZWZpbmUgR1BJT19NT0RFQl9TRVQJCShHUElPX2Jhc2UrMHgxQjAwKzB4MDQpCisgICAgICNkZWZpbmUgR1BJT19NT0RFQ19TRVQJCShHUElPX2Jhc2UrMHgxQzAwKzB4MDQpCisgICAgICNkZWZpbmUgR1BJT19NT0RFRF9TRVQJCShHUElPX2Jhc2UrMHgxRDAwKzB4MDQpCisgICAgICNkZWZpbmUgR1BJT19NT0RFRV9TRVQJCShHUElPX2Jhc2UrMHgxRTAwKzB4MDQpCisgICAgICNkZWZpbmUgR1BJT19NT0RFRl9TRVQJCShHUElPX2Jhc2UrMHgxRjAwKzB4MDQpCisgICAgICNkZWZpbmUgR1BJT19NT0RFMTBfU0VUIAkJKEdQSU9fYmFzZSsweDIwMDArMHgwNCkKKyAgICAgI2RlZmluZSBHUElPX01PREUxMV9TRVQgCQkoR1BJT19iYXNlKzB4MjEwMCsweDA0KQorICAgICAjZGVmaW5lIEdQSU9fTU9ERTEyX1NFVCAJCShHUElPX2Jhc2UrMHgyMjAwKzB4MDQpCisgICAgICNkZWZpbmUgR1BJT19NT0RFMTNfU0VUIAkJKEdQSU9fYmFzZSsweDIzMDArMHgwNCkKKyAgICAgI2RlZmluZSBHUElPX01PREUxNF9TRVQgCQkoR1BJT19iYXNlKzB4MjQwMCsweDA0KQorICAgICAjZGVmaW5lIEdQSU9fTU9ERTE1X1NFVCAJCShHUElPX2Jhc2UrMHgyNTAwKzB4MDQpCisgICAgICNkZWZpbmUgR1BJT19NT0RFMTZfU0VUIAkJKEdQSU9fYmFzZSsweDI2MDArMHgwNCkKKyAgICNlbHNlCisgICAjZGVmaW5lIAlHUElPX01PREUxX1NFVCAgICAgIChHUElPX2Jhc2UrMHgxMDAwKzB4MDQpICAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTJfU0VUICAgICAgKEdQSU9fYmFzZSsweDExMDArMHgwNCkgICAgCisgICAjZGVmaW5lIAlHUElPX01PREUzX1NFVCAgICAgIChHUElPX2Jhc2UrMHgxMjAwKzB4MDQpICAgICAgIAorICAgI2RlZmluZSAJR1BJT19NT0RFNF9TRVQgICAgICAoR1BJT19iYXNlKzB4MTMwMCsweDA0KSAgICAKKyAgICNpZiAhZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjI3MEEpCisgICAjZGVmaW5lIAlHUElPX01PREU1X1NFVCAgICAgIChHUElPX2Jhc2UrMHgxNDAwKzB4MDQpICAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTZfU0VUICAgICAgKEdQSU9fYmFzZSsweDE1MDArMHgwNCkgICAgICAgIAorICAgI2RlZmluZSAJR1BJT19NT0RFN19TRVQgICAgICAoR1BJT19iYXNlKzB4MTYwMCsweDA0KSAgICAgIAorICAgI2RlZmluZSAJR1BJT19NT0RFOF9TRVQgICAgICAoR1BJT19iYXNlKzB4MTcwMCsweDA0KSAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX01PREU5X1NFVCAgICAgIChHUElPX2Jhc2UrMHgxODAwKzB4MDQpICAgICAgCisgICAjZGVmaW5lIAlHUElPX01PREVBX1NFVCAgICAgIChHUElPX2Jhc2UrMHgxOTAwKzB4MDQpICAgICAKKyAgICNpZiBkZWZpbmVkKERSVl9HUElPX1JFR19BU182MjM4KSB8fCBkZWZpbmVkKERSVl9HUElPX1JFR19BU182MjY4QSkgfHwgZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjI2OCkgfHwgZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjI3NikKKyAgICNkZWZpbmUgCUdQSU9fTU9ERUJfU0VUICAgICAgKEdQSU9fYmFzZSsweDFhMDArMHgwNCkgICAgIAorICAgI2VuZGlmIC8qIERSVl9HUElPX1JFR19BU182MjM4ICovCisgICAjaWYgZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjI2OEEpIHx8IGRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyNjgpIHx8IGRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyNzYpCisgICAjZGVmaW5lIAlHUElPX01PREVDX1NFVCAgICAgIChHUElPX2Jhc2UrMHgxYjAwKzB4MDQpICAgICAKKyAgICNkZWZpbmUgCUdQSU9fTU9ERURfU0VUICAgICAgKEdQSU9fYmFzZSsweDFjMDArMHgwNCkgICAgIAorICAgI2lmICBkZWZpbmVkKERSVl9HUElPX1JFR19BU182Mjc2KQorICAgI2RlZmluZSAJR1BJT19NT0RFRV9TRVQgICAgICAoR1BJT19iYXNlKzB4MWQwMCsweDA0KSAgICAgCisgICAjZW5kaWYKKyAgICNlbmRpZiAvKiBEUlZfR1BJT19SRUdfQVNfNjI2OEEgKi8KKyAgICNlbmRpZiAvLyFkZWZpbmVkKERSVl9HUElPX1JFR19BU182MjcwQSkKKyAgICNlbmRpZiAvL2RlZmluZShNVDYyNzZfUzAxKQorICAgCisgICAjaWYgZGVmaW5lZChNVDYyNzZfUzAxKSAKKyAgICNkZWZpbmUgIEdQSU9fTU9ERV9TRVQoX25vKSAgKEdQSU9fTU9ERTBfU0VUKygweDEwMCooX25vKSkpCisgICAjZWxzZQorICAgI2RlZmluZSAgR1BJT19NT0RFX1NFVChfbm8pICAoR1BJT19NT0RFMV9TRVQrKDB4MTAwKihfbm8pKSkKKyAgICNlbmRpZgorICAgI2RlZmluZSAgR1BJT19ESVJfU0VUKF9ubykgICAoR1BJT19ESVIxX1NFVCsoMHg0MCooX25vKSkpICAKKyAgICNkZWZpbmUgIEdQSU9fRE9VVF9TRVQoX25vKSAgKEdQSU9fRE9VVDFfU0VUKygweDQwKihfbm8pKSkgIAorICAgI2RlZmluZSAgR1BJT19QVUxMRU5fU0VUKF9ubykgIChHUElPX1BVTExFTjFfU0VUKygweDQwKihfbm8pKSkgIAorICAgI2RlZmluZSAgR1BJT19QVUxMU0VMX1NFVChfbm8pICAoR1BJT19QVUxMU0VMMV9TRVQrKDB4NDAqKF9ubykpKSAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX0RJUjFfQ0xSICAgICAgIChHUElPX2Jhc2UrMHgwMDAwKzB4MDgpICAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX0RJUjJfQ0xSICAgCSAgKEdQSU9fYmFzZSsweDAwNDArMHgwOCkgICAgICAgICAKKyAgICNpZiAhZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjI3MEEpCisgICAjZGVmaW5lIAlHUElPX0RJUjNfQ0xSICAgICAgIChHUElPX2Jhc2UrMHgwMDgwKzB4MDgpICAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX0RJUjRfQ0xSICAgICAgIChHUElPX2Jhc2UrMHgwMGMwKzB4MDgpICAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX0RJUjVfQ0xSICAgICAgIChHUElPX2Jhc2UrMHgwMTAwKzB4MDgpICAgICAgICAgCisgICAjaWYgZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjIzOCkgfHwgZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjI2OEEpIHx8IGRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyNjgpIHx8IGRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyNzYpCisgICAjZGVmaW5lIAlHUElPX0RJUjZfQ0xSICAgICAgIChHUElPX2Jhc2UrMHgwMTQwKzB4MDgpICAgICAgICAgCisgICAjZW5kaWYgLyogRFJWX0dQSU9fUkVHX0FTXzYyMzggKi8KKyAgICNpZiBkZWZpbmVkKERSVl9HUElPX1JFR19BU182MjY4QSkgfHwgZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjI2OCkgfHwgZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjI3NikKKyAgICNkZWZpbmUgCUdQSU9fRElSN19DTFIgICAgICAgKEdQSU9fYmFzZSsweDAxODArMHgwOCkgICAgICAgICAKKyAgICNlbmRpZiAvKiBEUlZfR1BJT19SRUdfQVNfNjI2OEEgKi8KKyAgICNlbmRpZiAvLyFkZWZpbmVkKERSVl9HUElPX1JFR19BU182MjcwQSkKKyAgICNkZWZpbmUgCUdQSU9fUFVMTEVOMV9DTFIgICAgKEdQSU9fYmFzZSsweDAyMDArMHgwOCkgICAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fUFVMTEVOMl9DTFIgICAgKEdQSU9fYmFzZSsweDAyNDArMHgwOCkgICAgICAgICAKKyAgICNpZiAhZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjI3MEEpCisgICAjZGVmaW5lIAlHUElPX1BVTExFTjNfQ0xSICAgIChHUElPX2Jhc2UrMHgwMjgwKzB4MDgpICAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX1BVTExFTjRfQ0xSICAgIChHUElPX2Jhc2UrMHgwMmMwKzB4MDgpICAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX1BVTExFTjVfQ0xSICAgIChHUElPX2Jhc2UrMHgwMzAwKzB4MDgpICAgICAgICAgCisgICAjaWYgZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjIzOCkgfHwgZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjI2OEEpIHx8IGRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyNjgpIHx8IGRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyNzYpCisgICAjZGVmaW5lIAlHUElPX1BVTExFTjZfQ0xSICAgIChHUElPX2Jhc2UrMHgwMzQwKzB4MDgpICAgICAgICAgCisgICAjZW5kaWYgLyogRFJWX0dQSU9fUkVHX0FTXzYyMzggKi8KKyAgICNpZiBkZWZpbmVkKERSVl9HUElPX1JFR19BU182MjY4QSkgfHwgZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjI2OCkgfHwgZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjI3NikKKyAgICNkZWZpbmUgCUdQSU9fUFVMTEVON19DTFIgICAgKEdQSU9fYmFzZSsweDAzODArMHgwOCkgICAgICAgICAKKyAgICNlbmRpZiAvKiBEUlZfR1BJT19SRUdfQVNfNjI2OEEgKi8KKyAgICNlbmRpZiAvLyFkZWZpbmVkKERSVl9HUElPX1JFR19BU182MjcwQSkKKyAgICNkZWZpbmUgCUdQSU9fUFVMTFNFTDFfQ0xSICAgKEdQSU9fYmFzZSsweDA0MDArMHgwOCkgICAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fUFVMTFNFTDJfQ0xSICAgKEdQSU9fYmFzZSsweDA0NDArMHgwOCkgICAgICAgICAKKyAgICNpZiAhZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjI3MEEpCisgICAjZGVmaW5lIAlHUElPX1BVTExTRUwzX0NMUiAgIChHUElPX2Jhc2UrMHgwNDgwKzB4MDgpICAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX1BVTExTRUw0X0NMUiAgIChHUElPX2Jhc2UrMHgwNGMwKzB4MDgpICAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX1BVTExTRUw1X0NMUiAgIChHUElPX2Jhc2UrMHgwNTAwKzB4MDgpICAgICAgICAgCisgICAjaWYgZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjIzOCkgfHwgZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjI2OEEpIHx8IGRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyNjgpIHx8IGRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyNzYpCisgICAjZGVmaW5lIAlHUElPX1BVTExTRUw2X0NMUiAgIChHUElPX2Jhc2UrMHgwNTQwKzB4MDgpICAgICAgICAgCisgICAjZW5kaWYgLyogRFJWX0dQSU9fUkVHX0FTXzYyMzggKi8KKyAgICNpZiBkZWZpbmVkKERSVl9HUElPX1JFR19BU182MjY4QSkgfHwgZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjI2OCkgfHwgZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjI3NikKKyAgICNkZWZpbmUgCUdQSU9fUFVMTFNFTDdfQ0xSICAgKEdQSU9fYmFzZSsweDA1ODArMHgwOCkgICAgICAgICAKKyAgICNlbmRpZiAvKiBEUlZfR1BJT19SRUdfQVNfNjI2OEEgKi8KKyAgICNlbmRpZiAvLyFkZWZpbmVkKERSVl9HUElPX1JFR19BU182MjcwQSkKKyAgICNkZWZpbmUgCUdQSU9fRE9VVDFfQ0xSICAgICAgKEdQSU9fYmFzZSsweDA4MDArMHgwOCkgICAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fRE9VVDJfQ0xSICAgICAgKEdQSU9fYmFzZSsweDA4NDArMHgwOCkgICAgICAgICAKKyAgICNpZiAhZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjI3MEEpCisgICAjZGVmaW5lIAlHUElPX0RPVVQzX0NMUiAgICAgIChHUElPX2Jhc2UrMHgwODgwKzB4MDgpICAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX0RPVVQ0X0NMUiAgICAgIChHUElPX2Jhc2UrMHgwOGMwKzB4MDgpICAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX0RPVVQ1X0NMUiAgICAgIChHUElPX2Jhc2UrMHgwOTAwKzB4MDgpICAgICAgICAgCisgICAjaWYgZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjIzOCkgfHwgZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjI2OEEpIHx8IGRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyNjgpIHx8IGRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyNzYpCisgICAjZGVmaW5lIAlHUElPX0RPVVQ2X0NMUiAgICAgIChHUElPX2Jhc2UrMHgwOTQwKzB4MDgpICAgICAgICAgCisgICAjZW5kaWYgLyogRFJWX0dQSU9fUkVHX0FTXzYyMzggKi8KKyAgICNpZiBkZWZpbmVkKERSVl9HUElPX1JFR19BU182MjY4QSkgfHwgZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjI2OCkgfHwgZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjI3NikKKyAgICNkZWZpbmUgCUdQSU9fRE9VVDdfQ0xSICAgICAgKEdQSU9fYmFzZSsweDA5ODArMHgwOCkgICAgICAgICAKKyAgICNlbmRpZiAvKiBEUlZfR1BJT19SRUdfQVNfNjI2OEEgKi8KKyAgICNlbmRpZiAvLyFkZWZpbmVkKERSVl9HUElPX1JFR19BU182MjcwQSkKKyAgICNpZiBkZWZpbmVkKE1UNjI3Nl9TMDEpICAKKyAgICAgI2RlZmluZSBHUElPX01PREUwX0NMUgkJIChHUElPX2Jhc2UrMHgxMDAwKzB4MDgpCisgICAgICNkZWZpbmUgR1BJT19NT0RFMV9DTFIJCSAoR1BJT19iYXNlKzB4MTEwMCsweDA4KQorICAgICAjZGVmaW5lIEdQSU9fTU9ERTJfQ0xSCQkgKEdQSU9fYmFzZSsweDEyMDArMHgwOCkKKyAgICAgI2RlZmluZSBHUElPX01PREUzX0NMUgkJIChHUElPX2Jhc2UrMHgxMzAwKzB4MDgpCisgICAgICNkZWZpbmUgR1BJT19NT0RFNF9DTFIJCSAoR1BJT19iYXNlKzB4MTQwMCsweDA4KQorICAgICAjZGVmaW5lIEdQSU9fTU9ERTVfQ0xSCQkgKEdQSU9fYmFzZSsweDE1MDArMHgwOCkKKyAgICAgI2RlZmluZSBHUElPX01PREU2X0NMUgkJIChHUElPX2Jhc2UrMHgxNjAwKzB4MDgpCisgICAgICNkZWZpbmUgR1BJT19NT0RFN19DTFIJCSAoR1BJT19iYXNlKzB4MTcwMCsweDA4KQorICAgICAjZGVmaW5lIEdQSU9fTU9ERThfQ0xSCQkgKEdQSU9fYmFzZSsweDE4MDArMHgwOCkKKyAgICAgI2RlZmluZSBHUElPX01PREU5X0NMUgkJIChHUElPX2Jhc2UrMHgxOTAwKzB4MDgpCisgICAgICNkZWZpbmUgR1BJT19NT0RFQV9DTFIJCSAoR1BJT19iYXNlKzB4MUEwMCsweDA4KQorICAgICAjZGVmaW5lIEdQSU9fTU9ERUJfQ0xSCQkgKEdQSU9fYmFzZSsweDFCMDArMHgwOCkKKyAgICAgI2RlZmluZSBHUElPX01PREVDX0NMUgkJIChHUElPX2Jhc2UrMHgxQzAwKzB4MDgpCisgICAgICNkZWZpbmUgR1BJT19NT0RFRF9DTFIJCSAoR1BJT19iYXNlKzB4MUQwMCsweDA4KQorICAgICAjZGVmaW5lIEdQSU9fTU9ERUVfQ0xSCQkgKEdQSU9fYmFzZSsweDFFMDArMHgwOCkKKyAgICAgI2RlZmluZSBHUElPX01PREVGX0NMUgkJIChHUElPX2Jhc2UrMHgxRjAwKzB4MDgpCisgICAgICNkZWZpbmUgR1BJT19NT0RFMTBfQ0xSIAkJIChHUElPX2Jhc2UrMHgyMDAwKzB4MDgpCisgICAgICNkZWZpbmUgR1BJT19NT0RFMTFfQ0xSIAkJIChHUElPX2Jhc2UrMHgyMTAwKzB4MDgpCisgICAgICNkZWZpbmUgR1BJT19NT0RFMTJfQ0xSIAkJIChHUElPX2Jhc2UrMHgyMjAwKzB4MDgpCisgICAgICNkZWZpbmUgR1BJT19NT0RFMTNfQ0xSIAkJIChHUElPX2Jhc2UrMHgyMzAwKzB4MDgpCisgICAgICNkZWZpbmUgR1BJT19NT0RFMTRfQ0xSIAkJIChHUElPX2Jhc2UrMHgyNDAwKzB4MDgpCisgICAgICNkZWZpbmUgR1BJT19NT0RFMTVfQ0xSIAkJIChHUElPX2Jhc2UrMHgyNTAwKzB4MDgpCisgICAgICNkZWZpbmUgR1BJT19NT0RFMTZfQ0xSIAkJIChHUElPX2Jhc2UrMHgyNjAwKzB4MDgpICAgCisgICAjZWxzZQkKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTFfQ0xSICAgICAgKEdQSU9fYmFzZSsweDEwMDArMHgwOCkgICAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTJfQ0xSICAgICAgKEdQSU9fYmFzZSsweDExMDArMHgwOCkgICAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTNfQ0xSICAgICAgKEdQSU9fYmFzZSsweDEyMDArMHgwOCkgICAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTRfQ0xSICAgICAgKEdQSU9fYmFzZSsweDEzMDArMHgwOCkgICAgICAgICAKKyAgICNpZiAhZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjI3MEEpCisgICAjZGVmaW5lIAlHUElPX01PREU1X0NMUiAgICAgIChHUElPX2Jhc2UrMHgxNDAwKzB4MDgpICAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX01PREU2X0NMUiAgICAgIChHUElPX2Jhc2UrMHgxNTAwKzB4MDgpICAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX01PREU3X0NMUiAgICAgIChHUElPX2Jhc2UrMHgxNjAwKzB4MDgpICAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX01PREU4X0NMUiAgICAgIChHUElPX2Jhc2UrMHgxNzAwKzB4MDgpICAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX01PREU5X0NMUiAgICAgIChHUElPX2Jhc2UrMHgxODAwKzB4MDgpICAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX01PREVBX0NMUiAgICAgIChHUElPX2Jhc2UrMHgxOTAwKzB4MDgpICAgICAgICAgIAorICAgI2lmIGRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyMzgpIHx8IGRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyNjhBKSB8fCBkZWZpbmVkKERSVl9HUElPX1JFR19BU182MjY4KSB8fCBkZWZpbmVkKERSVl9HUElPX1JFR19BU182Mjc2KQorICAgI2RlZmluZSAJR1BJT19NT0RFQl9DTFIgICAgICAoR1BJT19iYXNlKzB4MWEwMCsweDA4KSAgICAgICAgICAKKyAgICNlbmRpZiAvKiBEUlZfR1BJT19SRUdfQVNfNjIzOCAqLworICAgI2lmIGRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyNjhBKSB8fCBkZWZpbmVkKERSVl9HUElPX1JFR19BU182MjY4KSB8fCBkZWZpbmVkKERSVl9HUElPX1JFR19BU182Mjc2KQorICAgI2RlZmluZSAJR1BJT19NT0RFQ19DTFIgICAgICAoR1BJT19iYXNlKzB4MWIwMCsweDA4KSAgICAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fTU9ERURfQ0xSICAgICAgKEdQSU9fYmFzZSsweDFjMDArMHgwOCkgICAgICAgICAgCisgICAjaWYgIGRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyNzYpCisgICAjZGVmaW5lIAlHUElPX01PREVFX0NMUiAgICAgIChHUElPX2Jhc2UrMHgxZDAwKzB4MDgpICAgICAgICAgIAorICAgI2VuZGlmCisgICAjZW5kaWYgLyogRFJWX0dQSU9fUkVHX0FTXzYyNjhBICovCisgICAjZW5kaWYgLy8hZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjI3MEEpCisgICAjZW5kaWYgLy9kZWZpbmUoTVQ2Mjc2X1MwMSkgCisKKyAgICNpZiBkZWZpbmVkKE1UNjI3Nl9TMDEpIAorICAgI2RlZmluZSAgR1BJT19NT0RFX0NMUihfbm8pICAoR1BJT19NT0RFMF9DTFIrKDB4MTAwKihfbm8pKSkKKyAgICNkZWZpbmUgIEdQSU9fTU9ERShfbm8pIAkgKEdQSU9fTU9ERTArKDB4MTAwKihfbm8pKSkJCisgICAjZWxzZQorICAgI2RlZmluZSAgR1BJT19NT0RFX0NMUihfbm8pICAoR1BJT19NT0RFMV9DTFIrKDB4MTAwKihfbm8pKSkKKyAgICNkZWZpbmUgIEdQSU9fTU9ERShfbm8pICAgICAgKEdQSU9fTU9ERTErKDB4MTAwKihfbm8pKSkKKyAgICNlbmRpZgorICAgI2RlZmluZSAgR1BJT19ESVJfQ0xSKF9ubykgICAoR1BJT19ESVIxX0NMUisoMHg0MCooX25vKSkpCisgICAjZGVmaW5lICBHUElPX0RPVVRfQ0xSKF9ubykgIChHUElPX0RPVVQxX0NMUisoMHg0MCooX25vKSkpCisgICAjZGVmaW5lICBHUElPX1BVTExFTl9DTFIoX25vKSAgKEdQSU9fUFVMTEVOMV9DTFIrKDB4NDAqKF9ubykpKSAgCisgICAjZGVmaW5lICBHUElPX1BVTExTRUxfQ0xSKF9ubykgIChHUElPX1BVTExTRUwxX0NMUisoMHg0MCooX25vKSkpICAKKyAgIAorICAgCisgICAjZGVmaW5lICBHUElPX0RPVVQoX25vKSAgICAgIChHUElPX0RPVVQxKygweDQwKihfbm8pKSkKKyAgICNkZWZpbmUgIEdQSU9fRElSKF9ubykgICAgICAgKEdQSU9fRElSMSsoMHg0MCooX25vKSkpCisgICAjZGVmaW5lICBHUElPX0RJTihfbm8pICAgICAgIChHUElPX0RJTjErKDB4NDAqKF9ubykpKQorICAgI2RlZmluZSAgR1BJT19QVUxMRU4oX25vKSAgICAoR1BJT19QVUxMRU4xKygweDQwKihfbm8pKSkKKyAgICNkZWZpbmUgIEdQSU9fUFVMTFNFTChfbm8pICAgKEdQSU9fUFVMTFNFTDErKDB4NDAqKF9ubykpKQorICAgI2RlZmluZSAgQ0xLT19NT0RFKF9ubykgICAgICAoQ0xLT19NT0RFMSsoMHgxMDAqKF9ubykpKSAgCisgICAjaWYgZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjIzOCkKKyAgICNkZWZpbmUgIENMS09fTlVNICAgICAgICAgICAgOAorICAgI2VsaWYgZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjIzNSkKKyAgICNkZWZpbmUgIENMS09fTlVNICAgICAgICAgICAgMTAKKyAgICNlbGlmIGRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyNjhBKSB8fCBkZWZpbmVkKERSVl9HUElPX1JFR19BU182MjY4KSB8fCBkZWZpbmVkKERSVl9HUElPX1JFR19BU182MjcwQSkgfHwgZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjI3NikKKyAgICNkZWZpbmUgIENMS09fTlVNICAgICAgICAgICAgNgorICAgI2VuZGlmCisjZW5kaWYgICAvKmRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyMzgpIHx8IGRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyMzUpIHx8IGRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyNjhBKSB8fCBkZWZpbmVkKERSVl9HUElPX1JFR19BU182MjY4KSB8fCBkZWZpbmVkKERSVl9HUElPX1JFR19BU182MjcwQSkgfHwgZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjI3NikqLworCisjaWYgZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfVEs2NTE2KQorICAgI2RlZmluZSAJR1BJT19ESVIxICAgICAgIAkoR1BJT19iYXNlKzB4MDAwMCkKKyAgICNkZWZpbmUgCUdQSU9fUFVMTEVOMSAgICAJKEdQSU9fYmFzZSsweDAxMDApCisgICAjZGVmaW5lIAlHUElPX1BVTExTRUwxICAgIAkoR1BJT19iYXNlKzB4MDIwMCkKKyAgICNkZWZpbmUgCUdQSU9fRElOVjEgICAgICAJKEdQSU9fYmFzZSsweDAzMDApCisgICAjZGVmaW5lIAlHUElPX0RPVVQxICAgICAgCShHUElPX2Jhc2UrMHgwNDAwKQorICAgI2RlZmluZSAJR1BJT19ESU4xICAgICAgIAkoR1BJT19iYXNlKzB4MDUwMCkKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTEgICAgICAgCShHUElPX2Jhc2UrMHgwNjAwKQorICAgI2RlZmluZSAgR1BJT19ESU5WX0FEUlMobikJKEdQSU9fRElOVjErMHgxMCoobikpICAKKyAgIAorICAgI2RlZmluZSAJR1BJT19ESVIxX1NFVCAgICAgICAoR1BJT19iYXNlKzB4MDAwMCsweDA0KSAgICAKKyAgICNkZWZpbmUgCUdQSU9fUFVMTEVOMV9TRVQgICAgKEdQSU9fYmFzZSsweDAxMDArMHgwNCkgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fUFVMTFNFTDFfU0VUICAgIChHUElPX2Jhc2UrMHgwMjAwKzB4MDQpICAgICAgCisgICAjZGVmaW5lIAlHUElPX0RPVVQxX1NFVCAgICAgIChHUElPX2Jhc2UrMHgwNDAwKzB4MDQpICAgIAorICAgI2RlZmluZSAJR1BJT19NT0RFMV9TRVQgICAgICAoR1BJT19iYXNlKzB4MDYwMCsweDA0KSAgICAgICAgCisgICAjZGVmaW5lICBHUElPX01PREVfU0VUKF9ubykgIChHUElPX01PREUxX1NFVCsoMHgxMCooX25vKSkpCisgICAjZGVmaW5lICBHUElPX0RJUl9TRVQoX25vKSAgIChHUElPX0RJUjFfU0VUKygweDEwKihfbm8pKSkgIAorICAgI2RlZmluZSAgR1BJT19ET1VUX1NFVChfbm8pICAoR1BJT19ET1VUMV9TRVQrKDB4MTAqKF9ubykpKSAgCisgICAjZGVmaW5lICBHUElPX1BVTExFTl9TRVQoX25vKSAgKEdQSU9fUFVMTEVOMV9TRVQrKDB4MTAqKF9ubykpKSAgCisgICAjZGVmaW5lICBHUElPX1BVTExTRUxfU0VUKF9ubykgIChHUElPX1BVTExTRUwxX1NFVCsoMHg0MCooX25vKSkpICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fRElSMV9DTFIgICAgICAgKEdQSU9fYmFzZSsweDAwMDArMHgwOCkgICAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fUFVMTEVOMV9DTFIgICAgKEdQSU9fYmFzZSsweDAxMDArMHgwOCkgICAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fUFVMTFNFTDFfQ0xSICAgKEdQSU9fYmFzZSsweDAyMDArMHgwOCkgICAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fRE9VVDFfQ0xSICAgICAgKEdQSU9fYmFzZSsweDA0MDArMHgwOCkgICAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTFfQ0xSICAgICAgKEdQSU9fYmFzZSsweDA2MDArMHgwOCkgICAgICAgICAKKyAgICNkZWZpbmUgIEdQSU9fTU9ERV9DTFIoX25vKSAgKEdQSU9fTU9ERTFfQ0xSKygweDEwKihfbm8pKSkKKyAgICNkZWZpbmUgIEdQSU9fRElSX0NMUihfbm8pICAgKEdQSU9fRElSMV9DTFIrKDB4MTAqKF9ubykpKQorICAgI2RlZmluZSAgR1BJT19ET1VUX0NMUihfbm8pICAoR1BJT19ET1VUMV9DTFIrKDB4MTAqKF9ubykpKQorICAgI2RlZmluZSAgR1BJT19QVUxMRU5fQ0xSKF9ubykgIChHUElPX1BVTExFTjFfQ0xSKygweDEwKihfbm8pKSkgIAorICAgI2RlZmluZSAgR1BJT19QVUxMU0VMX0NMUihfbm8pICAoR1BJT19QVUxMU0VMMV9DTFIrKDB4NDAqKF9ubykpKSAgCisgICAKKyAgICNkZWZpbmUgIEdQSU9fTU9ERShfbm8pICAgICAgKEdQSU9fTU9ERTErKDB4MTAqKF9ubykpKSAKKyAgICNkZWZpbmUgIEdQSU9fRE9VVChfbm8pICAgICAgKEdQSU9fRE9VVDErKDB4MTAqKF9ubykpKQorICAgI2RlZmluZSAgR1BJT19ESVIoX25vKSAgICAgICAoR1BJT19ESVIxKygweDEwKihfbm8pKSkKKyAgICNkZWZpbmUgIEdQSU9fRElOKF9ubykgICAgICAgKEdQSU9fRElOMSsoMHgxMCooX25vKSkpCisgICAjZGVmaW5lICBHUElPX1BVTExFTihfbm8pICAgIChHUElPX1BVTExFTjErKDB4NDAqKF9ubykpKQorICAgI2RlZmluZSAgR1BJT19QVUxMU0VMKF9ubykgICAoR1BJT19QVUxMU0VMMSsoMHg0MCooX25vKSkpCisjZW5kaWYgICAvKkRSVl9HUElPX1JFR19BU19USzY1MTYqLworCisjaWYgZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjI1M1QpCisgICAjZGVmaW5lIAlHUElPX0RJUjEgICAgICAgCShHUElPX2Jhc2UrMHgwMDAwKQorICAgI2RlZmluZSAJR1BJT19ESVIyICAgCSAgIChHUElPX2Jhc2UrMHgwMDEwKQorICAgI2RlZmluZSAJR1BJT19ESVIzICAgICAgICAgKEdQSU9fYmFzZSsweDAwMjApCisgICAjZGVmaW5lIAlHUElPX0RJUjQgICAgICAgICAoR1BJT19iYXNlKzB4MDAzMCkKKyAgICNkZWZpbmUgCUdQSU9fRElSNSAgICAgICAgIChHUElPX2Jhc2UrMHgwMDQwKSAgICAgIAorICAgI2RlZmluZSAJR1BJT19ESVI2ICAgICAgICAgKEdQSU9fYmFzZSsweDAzODApICAgICAgCisgICAjZGVmaW5lIAlHUElPX1BVTExFTjEgICAgCShHUElPX2Jhc2UrMHgwMDUwKQorICAgI2RlZmluZSAJR1BJT19QVUxMRU4yICAgIAkoR1BJT19iYXNlKzB4MDA2MCkKKyAgICNkZWZpbmUgCUdQSU9fUFVMTEVOMyAgIAkoR1BJT19iYXNlKzB4MDA3MCkKKyAgICNkZWZpbmUgCUdQSU9fUFVMTEVONCAgICAgIChHUElPX2Jhc2UrMHgwMDgwKQorICAgI2RlZmluZSAJR1BJT19QVUxMRU41ICAgICAgKEdQSU9fYmFzZSsweDAwOTApICAgCisgICAjZGVmaW5lIAlHUElPX1BVTExFTjYgICAgICAoR1BJT19iYXNlKzB4MDM5MCkgICAKKyAgICNkZWZpbmUgCUdQSU9fRElOVjEgICAgICAJKEdQSU9fYmFzZSsweDAwYTApCisgICAjZGVmaW5lIAlHUElPX0RJTlYyICAgICAgCShHUElPX2Jhc2UrMHgwMGIwKQorICAgI2RlZmluZSAJR1BJT19ESU5WMyAgICAgIAkoR1BJT19iYXNlKzB4MDBjMCkKKyAgICNkZWZpbmUgCUdQSU9fRElOVjQgICAgICAJKEdQSU9fYmFzZSsweDAwZDApCisgICAjZGVmaW5lIAlHUElPX0RJTlY1ICAgICAgCShHUElPX2Jhc2UrMHgwMGUwKSAgIAorICAgI2RlZmluZSAJR1BJT19ESU5WNiAgICAgIAkoR1BJT19iYXNlKzB4MDNhMCkgICAKKyAgICNkZWZpbmUgCUdQSU9fRE9VVDEgICAgICAJKEdQSU9fYmFzZSsweDAwZjApCisgICAjZGVmaW5lIAlHUElPX0RPVVQyICAgICAgCShHUElPX2Jhc2UrMHgwMTAwKQorICAgI2RlZmluZSAJR1BJT19ET1VUMyAgICAgIAkoR1BJT19iYXNlKzB4MDExMCkKKyAgICNkZWZpbmUgCUdQSU9fRE9VVDQgICAgICAJKEdQSU9fYmFzZSsweDAxMjApCisgICAjZGVmaW5lIAlHUElPX0RPVVQ1ICAgICAgCShHUElPX2Jhc2UrMHgwMTMwKSAgIAorICAgI2RlZmluZSAJR1BJT19ET1VUNiAgICAgIAkoR1BJT19iYXNlKzB4MDNiMCkgICAKKyAgICNkZWZpbmUgCUdQSU9fRElOMSAgICAgICAJKEdQSU9fYmFzZSsweDAxNDApCisgICAjZGVmaW5lIAlHUElPX0RJTjIgICAgICAgCShHUElPX2Jhc2UrMHgwMTUwKQorICAgI2RlZmluZSAJR1BJT19ESU4zICAgICAgIAkoR1BJT19iYXNlKzB4MDE2MCkKKyAgICNkZWZpbmUgCUdQSU9fRElONCAgICAgICAJKEdQSU9fYmFzZSsweDAxNzApCisgICAjZGVmaW5lIAlHUElPX0RJTjUgICAgICAgCShHUElPX2Jhc2UrMHgwMTgwKSAgIAorICAgI2RlZmluZSAJR1BJT19ESU42ICAgICAgIAkoR1BJT19iYXNlKzB4MDNjMCkgICAKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTEgICAgICAgCShHUElPX2Jhc2UrMHgwMTkwKQorICAgI2RlZmluZSAJR1BJT19NT0RFMiAgICAgICAJKEdQSU9fYmFzZSsweDAxYTApCisgICAjZGVmaW5lIAlHUElPX01PREUzICAgICAgIAkoR1BJT19iYXNlKzB4MDFiMCkKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTQgICAgICAgCShHUElPX2Jhc2UrMHgwMWMwKSAgICAgICAgIAorICAgI2RlZmluZSAJR1BJT19NT0RFNSAgICAgICAJKEdQSU9fYmFzZSsweDAxZDApICAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX01PREU2ICAgICAgIAkoR1BJT19iYXNlKzB4MDFlMCkgICAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTcgICAgICAgCShHUElPX2Jhc2UrMHgwMWYwKSAgICAgICAgIAorICAgI2RlZmluZSAJR1BJT19NT0RFOCAgICAgICAJKEdQSU9fYmFzZSsweDAyMDApCisgICAjZGVmaW5lIAlHUElPX01PREU5ICAgICAgIAkoR1BJT19iYXNlKzB4MDIxMCkKKyAgICNkZWZpbmUgCUdQSU9fTU9ERUEgICAgICAJKEdQSU9fYmFzZSsweDAyMjApCisgICAjZGVmaW5lIAlHUElPX01PREVCICAgICAgIChHUElPX2Jhc2UrMHgwM2QwKSAgIAorICAgI2RlZmluZSAJR1BJT19CQU5LICAgICAgIAkoR1BJT19iYXNlKzB4MDIzMCkgICAKKyAgICNkZWZpbmUgIENMS09fTU9ERTEgICAgICAJKEdQSU9fYmFzZSsweDAzMDApICAgCisgICAjZGVmaW5lICBDTEtPX01PREUyICAgICAgCShHUElPX2Jhc2UrMHgwMzEwKSAgIAorICAgI2RlZmluZSAgQ0xLT19NT0RFMyAgICAgIAkoR1BJT19iYXNlKzB4MDMyMCkgICAKKyAgICNkZWZpbmUgIENMS09fTU9ERTQgICAgICAJKEdQSU9fYmFzZSsweDAzMzApICAgCisgICAjZGVmaW5lICBDTEtPX01PREU1ICAgICAgCShHUElPX2Jhc2UrMHgwMzQwKSAgIAorICAgI2RlZmluZSAgQ0xLT19NT0RFNiAgICAgIAkoR1BJT19iYXNlKzB4MDM1MCkgICAKKyAgICNkZWZpbmUgIENMS09fTU9ERTcgICAgICAJKEdQSU9fYmFzZSsweDAzNjApICAgCisgICAjZGVmaW5lICBHUElPX0RJTlZfQURSUyhuKQkoKChuKTw1KT8oR1BJT19ESU5WMSsweDEwKihuKSk6R1BJT19ESU5WNikgIAorICAgCisgICAjZGVmaW5lIAlHUElPX1BVTExTRUwxICAgIAkoR1BJT19iYXNlKzB4MDI0MCkKKyAgICNkZWZpbmUgCUdQSU9fUFVMTFNFTDIgICAgCShHUElPX2Jhc2UrMHgwMjUwKQorICAgI2RlZmluZSAJR1BJT19QVUxMU0VMMyAgIAkoR1BJT19iYXNlKzB4MDI2MCkKKyAgICNkZWZpbmUgCUdQSU9fUFVMTFNFTDQgICAgIChHUElPX2Jhc2UrMHgwMjcwKQorICAgI2RlZmluZSAJR1BJT19QVUxMU0VMNSAgICAgKEdQSU9fYmFzZSsweDAyODApICAgCisgICAjZGVmaW5lIAlHUElPX1BVTExTRUw2ICAgICAoR1BJT19iYXNlKzB4MDNlMCkgICAKKyAgICNkZWZpbmUgIEdQSU9fVE0gICAgICAgIAkoR1BJT19iYXNlKzB4MDM3MCkgICAKKworICAgI2RlZmluZSAJR1BJT19ESVIxX1NFVCAgICAgICAJKEdQSU9fYmFzZSsweDAwMDArMHgwNCkKKyAgICNkZWZpbmUgCUdQSU9fRElSMl9TRVQgICAJICAgKEdQSU9fYmFzZSsweDAwMTArMHgwNCkKKyAgICNkZWZpbmUgCUdQSU9fRElSM19TRVQgICAgICAgICAoR1BJT19iYXNlKzB4MDAyMCsweDA0KQorICAgI2RlZmluZSAJR1BJT19ESVI0X1NFVCAgICAgICAgIChHUElPX2Jhc2UrMHgwMDMwKzB4MDQpCisgICAjZGVmaW5lIAlHUElPX0RJUjVfU0VUICAgICAgICAgKEdQSU9fYmFzZSsweDAwNDArMHgwNCkgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fRElSNl9TRVQgICAgICAgICAoR1BJT19iYXNlKzB4MDM4MCsweDA0KSAgICAgIAorICAgI2RlZmluZSAJR1BJT19QVUxMRU4xX1NFVCAgICAJKEdQSU9fYmFzZSsweDAwNTArMHgwNCkKKyAgICNkZWZpbmUgCUdQSU9fUFVMTEVOMl9TRVQgICAgCShHUElPX2Jhc2UrMHgwMDYwKzB4MDQpCisgICAjZGVmaW5lIAlHUElPX1BVTExFTjNfU0VUICAgCShHUElPX2Jhc2UrMHgwMDcwKzB4MDQpCisgICAjZGVmaW5lIAlHUElPX1BVTExFTjRfU0VUICAgICAgKEdQSU9fYmFzZSsweDAwODArMHgwNCkKKyAgICNkZWZpbmUgCUdQSU9fUFVMTEVONV9TRVQgICAgICAoR1BJT19iYXNlKzB4MDA5MCsweDA0KSAgIAorICAgI2RlZmluZSAJR1BJT19QVUxMRU42X1NFVCAgICAgIChHUElPX2Jhc2UrMHgwMzkwKzB4MDQpICAgCisgICAjZGVmaW5lIAlHUElPX0RJTlYxX1NFVCAgICAgIAkoR1BJT19iYXNlKzB4MDBhMCsweDA0KQorICAgI2RlZmluZSAJR1BJT19ESU5WMl9TRVQgICAgICAJKEdQSU9fYmFzZSsweDAwYjArMHgwNCkKKyAgICNkZWZpbmUgCUdQSU9fRElOVjNfU0VUICAgICAgCShHUElPX2Jhc2UrMHgwMGMwKzB4MDQpCisgICAjZGVmaW5lIAlHUElPX0RJTlY0X1NFVCAgICAgIAkoR1BJT19iYXNlKzB4MDBkMCsweDA0KQorICAgI2RlZmluZSAJR1BJT19ESU5WNV9TRVQgICAgICAJKEdQSU9fYmFzZSsweDAwZTArMHgwNCkgICAKKyAgICNkZWZpbmUgCUdQSU9fRElOVjZfU0VUICAgICAgCShHUElPX2Jhc2UrMHgwM2EwKzB4MDQpICAgCisgICAjZGVmaW5lIAlHUElPX0RPVVQxX1NFVCAgICAgIAkoR1BJT19iYXNlKzB4MDBmMCsweDA0KQorICAgI2RlZmluZSAJR1BJT19ET1VUMl9TRVQgICAgICAJKEdQSU9fYmFzZSsweDAxMDArMHgwNCkKKyAgICNkZWZpbmUgCUdQSU9fRE9VVDNfU0VUICAgICAgCShHUElPX2Jhc2UrMHgwMTEwKzB4MDQpCisgICAjZGVmaW5lIAlHUElPX0RPVVQ0X1NFVCAgICAgIAkoR1BJT19iYXNlKzB4MDEyMCsweDA0KQorICAgI2RlZmluZSAJR1BJT19ET1VUNV9TRVQgICAgICAJKEdQSU9fYmFzZSsweDAxMzArMHgwNCkgICAKKyAgICNkZWZpbmUgCUdQSU9fRE9VVDZfU0VUICAgICAgCShHUElPX2Jhc2UrMHgwM2IwKzB4MDQpICAgCisgICAjZGVmaW5lIAlHUElPX0RJTjFfU0VUICAgICAgIAkoR1BJT19iYXNlKzB4MDE0MCsweDA0KQorICAgI2RlZmluZSAJR1BJT19ESU4yX1NFVCAgICAgICAJKEdQSU9fYmFzZSsweDAxNTArMHgwNCkKKyAgICNkZWZpbmUgCUdQSU9fRElOM19TRVQgICAgICAgCShHUElPX2Jhc2UrMHgwMTYwKzB4MDQpCisgICAjZGVmaW5lIAlHUElPX0RJTjRfU0VUICAgICAgIAkoR1BJT19iYXNlKzB4MDE3MCsweDA0KQorICAgI2RlZmluZSAJR1BJT19ESU41X1NFVCAgICAgICAJKEdQSU9fYmFzZSsweDAxODArMHgwNCkgICAKKyAgICNkZWZpbmUgCUdQSU9fRElONl9TRVQgICAgICAgCShHUElPX2Jhc2UrMHgwM2MwKzB4MDQpICAgCisgICAjZGVmaW5lIAlHUElPX01PREUxX1NFVCAgICAgICAJKEdQSU9fYmFzZSsweDAxOTArMHgwNCkKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTJfU0VUICAgICAgIAkoR1BJT19iYXNlKzB4MDFhMCsweDA0KQorICAgI2RlZmluZSAJR1BJT19NT0RFM19TRVQgICAgICAgCShHUElPX2Jhc2UrMHgwMWIwKzB4MDQpCisgICAjZGVmaW5lIAlHUElPX01PREU0X1NFVCAgICAgICAJKEdQSU9fYmFzZSsweDAxYzArMHgwNCkgICAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTVfU0VUICAgICAgIAkoR1BJT19iYXNlKzB4MDFkMCsweDA0KSAgICAgICAgIAorICAgI2RlZmluZSAJR1BJT19NT0RFNl9TRVQgICAgICAgCShHUElPX2Jhc2UrMHgwMWUwKzB4MDQpICAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX01PREU3X1NFVCAgICAgICAJKEdQSU9fYmFzZSsweDAxZjArMHgwNCkgICAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fTU9ERThfU0VUICAgICAgIAkoR1BJT19iYXNlKzB4MDIwMCsweDA0KQorICAgI2RlZmluZSAJR1BJT19NT0RFOV9TRVQgICAgICAgCShHUElPX2Jhc2UrMHgwMjEwKzB4MDQpCisgICAjZGVmaW5lIAlHUElPX01PREVBX1NFVCAgICAgIAkoR1BJT19iYXNlKzB4MDIyMCsweDA0KQorICAgI2RlZmluZSAJR1BJT19NT0RFQl9TRVQgICAgICAgKEdQSU9fYmFzZSsweDAzZDArMHgwNCkgICAKKyAgICNkZWZpbmUgCUdQSU9fQkFOS19TRVQgICAgICAgCShHUElPX2Jhc2UrMHgwMjMwKzB4MDQpICAgCisgICAjZGVmaW5lICBDTEtPX01PREUxX1NFVCAgICAgIAkoR1BJT19iYXNlKzB4MDMwMCsweDA0KSAgIAorICAgI2RlZmluZSAgQ0xLT19NT0RFMl9TRVQgICAgICAJKEdQSU9fYmFzZSsweDAzMTArMHgwNCkgICAKKyAgICNkZWZpbmUgIENMS09fTU9ERTNfU0VUICAgICAgCShHUElPX2Jhc2UrMHgwMzIwKzB4MDQpICAgCisgICAjZGVmaW5lICBDTEtPX01PREU0X1NFVCAgICAgIAkoR1BJT19iYXNlKzB4MDMzMCsweDA0KSAgIAorICAgI2RlZmluZSAgQ0xLT19NT0RFNV9TRVQgICAgICAJKEdQSU9fYmFzZSsweDAzNDArMHgwNCkgICAKKyAgICNkZWZpbmUgIENMS09fTU9ERTZfU0VUICAgICAgCShHUElPX2Jhc2UrMHgwMzUwKzB4MDQpICAgCisgICAjZGVmaW5lICBDTEtPX01PREU3X1NFVCAgICAgIAkoR1BJT19iYXNlKzB4MDM2MCsweDA0KSAgIAorICAgCisgICAjZGVmaW5lIAlHUElPX1BVTExTRUwxX1NFVCAgICAJKEdQSU9fYmFzZSsweDAyNDArMHgwNCkKKyAgICNkZWZpbmUgCUdQSU9fUFVMTFNFTDJfU0VUICAgIAkoR1BJT19iYXNlKzB4MDI1MCsweDA0KQorICAgI2RlZmluZSAJR1BJT19QVUxMU0VMM19TRVQgICAJKEdQSU9fYmFzZSsweDAyNjArMHgwNCkKKyAgICNkZWZpbmUgCUdQSU9fUFVMTFNFTDRfU0VUICAgICAoR1BJT19iYXNlKzB4MDI3MCsweDA0KQorICAgI2RlZmluZSAJR1BJT19QVUxMU0VMNV9TRVQgICAgIChHUElPX2Jhc2UrMHgwMjgwKzB4MDQpICAgCisgICAjZGVmaW5lIAlHUElPX1BVTExTRUw2X1NFVCAgICAgKEdQSU9fYmFzZSsweDAzZTArMHgwNCkgICAKKyAgICNkZWZpbmUgIEdQSU9fVE1fU0VUICAgICAgICAJKEdQSU9fYmFzZSsweDAzNzArMHgwNCkgICAKKworICAgI2RlZmluZSAgR1BJT19NT0RFX1NFVChfbm8pICAoKChfbm8pPDEwKT8oR1BJT19NT0RFMV9TRVQrKDB4MTAqKF9ubykpKTooR1BJT19NT0RFQl9TRVQpKQorICAgI2RlZmluZSAgR1BJT19ESVJfU0VUKF9ubykgICAoKChfbm8pPDUpPyhHUElPX0RJUjFfU0VUKygweDEwKihfbm8pKSk6KEdQSU9fRElSNl9TRVQpKSAgCisgICAjZGVmaW5lICBHUElPX0RPVVRfU0VUKF9ubykgICgoKF9ubyk8NSk/KEdQSU9fRE9VVDFfU0VUKygweDEwKihfbm8pKSk6KEdQSU9fRE9VVDZfU0VUKSkgIAorICAgI2RlZmluZSAgR1BJT19QVUxMRU5fU0VUKF9ubykgICgoKF9ubyk8NSk/KEdQSU9fUFVMTEVOMV9TRVQrKDB4MTAqKF9ubykpKTooR1BJT19QVUxMRU42X1NFVCkpCisgICAjZGVmaW5lICBHUElPX1BVTExTRUxfU0VUKF9ubykgICgoKF9ubyk8NSk/KEdQSU9fUFVMTFNFTDFfU0VUKygweDEwKihfbm8pKSk6KEdQSU9fUFVMTFNFTDZfU0VUKSkKKworICAgI2RlZmluZSAJR1BJT19ESVIxX0NMUiAgICAgICAJKEdQSU9fYmFzZSsweDAwMDArMHgwOCkKKyAgICNkZWZpbmUgCUdQSU9fRElSMl9DTFIgICAJICAgKEdQSU9fYmFzZSsweDAwMTArMHgwOCkKKyAgICNkZWZpbmUgCUdQSU9fRElSM19DTFIgICAgICAgICAoR1BJT19iYXNlKzB4MDAyMCsweDA4KQorICAgI2RlZmluZSAJR1BJT19ESVI0X0NMUiAgICAgICAgIChHUElPX2Jhc2UrMHgwMDMwKzB4MDgpCisgICAjZGVmaW5lIAlHUElPX0RJUjVfQ0xSICAgICAgICAgKEdQSU9fYmFzZSsweDAwNDArMHgwOCkgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fRElSNl9DTFIgICAgICAgICAoR1BJT19iYXNlKzB4MDM4MCsweDA4KSAgICAgIAorICAgI2RlZmluZSAJR1BJT19QVUxMRU4xX0NMUiAgICAJKEdQSU9fYmFzZSsweDAwNTArMHgwOCkKKyAgICNkZWZpbmUgCUdQSU9fUFVMTEVOMl9DTFIgICAgCShHUElPX2Jhc2UrMHgwMDYwKzB4MDgpCisgICAjZGVmaW5lIAlHUElPX1BVTExFTjNfQ0xSICAgCShHUElPX2Jhc2UrMHgwMDcwKzB4MDgpCisgICAjZGVmaW5lIAlHUElPX1BVTExFTjRfQ0xSICAgICAgKEdQSU9fYmFzZSsweDAwODArMHgwOCkKKyAgICNkZWZpbmUgCUdQSU9fUFVMTEVONV9DTFIgICAgICAoR1BJT19iYXNlKzB4MDA5MCsweDA4KSAgIAorICAgI2RlZmluZSAJR1BJT19QVUxMRU42X0NMUiAgICAgIChHUElPX2Jhc2UrMHgwMzkwKzB4MDgpICAgCisgICAjZGVmaW5lIAlHUElPX0RJTlYxX0NMUiAgICAgIAkoR1BJT19iYXNlKzB4MDBhMCsweDA4KQorICAgI2RlZmluZSAJR1BJT19ESU5WMl9DTFIgICAgICAJKEdQSU9fYmFzZSsweDAwYjArMHgwOCkKKyAgICNkZWZpbmUgCUdQSU9fRElOVjNfQ0xSICAgICAgCShHUElPX2Jhc2UrMHgwMGMwKzB4MDgpCisgICAjZGVmaW5lIAlHUElPX0RJTlY0X0NMUiAgICAgIAkoR1BJT19iYXNlKzB4MDBkMCsweDA4KQorICAgI2RlZmluZSAJR1BJT19ESU5WNV9DTFIgICAgICAJKEdQSU9fYmFzZSsweDAwZTArMHgwOCkgICAKKyAgICNkZWZpbmUgCUdQSU9fRElOVjZfQ0xSICAgICAgCShHUElPX2Jhc2UrMHgwM2EwKzB4MDgpICAgCisgICAjZGVmaW5lIAlHUElPX0RPVVQxX0NMUiAgICAgIAkoR1BJT19iYXNlKzB4MDBmMCsweDA4KQorICAgI2RlZmluZSAJR1BJT19ET1VUMl9DTFIgICAgICAJKEdQSU9fYmFzZSsweDAxMDArMHgwOCkKKyAgICNkZWZpbmUgCUdQSU9fRE9VVDNfQ0xSICAgICAgCShHUElPX2Jhc2UrMHgwMTEwKzB4MDgpCisgICAjZGVmaW5lIAlHUElPX0RPVVQ0X0NMUiAgICAgIAkoR1BJT19iYXNlKzB4MDEyMCsweDA4KQorICAgI2RlZmluZSAJR1BJT19ET1VUNV9DTFIgICAgICAJKEdQSU9fYmFzZSsweDAxMzArMHgwOCkgICAKKyAgICNkZWZpbmUgCUdQSU9fRE9VVDZfQ0xSICAgICAgCShHUElPX2Jhc2UrMHgwM2IwKzB4MDgpICAgCisgICAjZGVmaW5lIAlHUElPX0RJTjFfQ0xSICAgICAgIAkoR1BJT19iYXNlKzB4MDE0MCsweDA4KQorICAgI2RlZmluZSAJR1BJT19ESU4yX0NMUiAgICAgICAJKEdQSU9fYmFzZSsweDAxNTArMHgwOCkKKyAgICNkZWZpbmUgCUdQSU9fRElOM19DTFIgICAgICAgCShHUElPX2Jhc2UrMHgwMTYwKzB4MDgpCisgICAjZGVmaW5lIAlHUElPX0RJTjRfQ0xSICAgICAgIAkoR1BJT19iYXNlKzB4MDE3MCsweDA4KQorICAgI2RlZmluZSAJR1BJT19ESU41X0NMUiAgICAgICAJKEdQSU9fYmFzZSsweDAxODArMHgwOCkgICAKKyAgICNkZWZpbmUgCUdQSU9fRElONl9DTFIgICAgICAgCShHUElPX2Jhc2UrMHgwM2MwKzB4MDgpICAgCisgICAjZGVmaW5lIAlHUElPX01PREUxX0NMUiAgICAgICAJKEdQSU9fYmFzZSsweDAxOTArMHgwOCkKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTJfQ0xSICAgICAgIAkoR1BJT19iYXNlKzB4MDFhMCsweDA4KQorICAgI2RlZmluZSAJR1BJT19NT0RFM19DTFIgICAgICAgCShHUElPX2Jhc2UrMHgwMWIwKzB4MDgpCisgICAjZGVmaW5lIAlHUElPX01PREU0X0NMUiAgICAgICAJKEdQSU9fYmFzZSsweDAxYzArMHgwOCkgICAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTVfQ0xSICAgICAgIAkoR1BJT19iYXNlKzB4MDFkMCsweDA4KSAgICAgICAgIAorICAgI2RlZmluZSAJR1BJT19NT0RFNl9DTFIgICAgICAgCShHUElPX2Jhc2UrMHgwMWUwKzB4MDgpICAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX01PREU3X0NMUiAgICAgICAJKEdQSU9fYmFzZSsweDAxZjArMHgwOCkgICAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fTU9ERThfQ0xSICAgICAgIAkoR1BJT19iYXNlKzB4MDIwMCsweDA4KQorICAgI2RlZmluZSAJR1BJT19NT0RFOV9DTFIgICAgICAgCShHUElPX2Jhc2UrMHgwMjEwKzB4MDgpCisgICAjZGVmaW5lIAlHUElPX01PREVBX0NMUiAgICAgIAkoR1BJT19iYXNlKzB4MDIyMCsweDA4KQorICAgI2RlZmluZSAJR1BJT19NT0RFQl9DTFIgICAgICAgKEdQSU9fYmFzZSsweDAzZDArMHgwOCkgICAKKyAgICNkZWZpbmUgCUdQSU9fQkFOS19DTFIgICAgICAgCShHUElPX2Jhc2UrMHgwMjMwKzB4MDgpICAgCisgICAjZGVmaW5lICBDTEtPX01PREUxX0NMUiAgICAgIAkoR1BJT19iYXNlKzB4MDMwMCsweDA4KSAgIAorICAgI2RlZmluZSAgQ0xLT19NT0RFMl9DTFIgICAgICAJKEdQSU9fYmFzZSsweDAzMTArMHgwOCkgICAKKyAgICNkZWZpbmUgIENMS09fTU9ERTNfQ0xSICAgICAgCShHUElPX2Jhc2UrMHgwMzIwKzB4MDgpICAgCisgICAjZGVmaW5lICBDTEtPX01PREU0X0NMUiAgICAgIAkoR1BJT19iYXNlKzB4MDMzMCsweDA4KSAgIAorICAgI2RlZmluZSAgQ0xLT19NT0RFNV9DTFIgICAgICAJKEdQSU9fYmFzZSsweDAzNDArMHgwOCkgICAKKyAgICNkZWZpbmUgIENMS09fTU9ERTZfQ0xSICAgICAgCShHUElPX2Jhc2UrMHgwMzUwKzB4MDgpICAgCisgICAjZGVmaW5lICBDTEtPX01PREU3X0NMUiAgICAgIAkoR1BJT19iYXNlKzB4MDM2MCsweDA4KSAgIAorICAgCisgICAjZGVmaW5lIAlHUElPX1BVTExTRUwxX0NMUiAgICAJKEdQSU9fYmFzZSsweDAyNDArMHgwOCkKKyAgICNkZWZpbmUgCUdQSU9fUFVMTFNFTDJfQ0xSICAgIAkoR1BJT19iYXNlKzB4MDI1MCsweDA4KQorICAgI2RlZmluZSAJR1BJT19QVUxMU0VMM19DTFIgICAJKEdQSU9fYmFzZSsweDAyNjArMHgwOCkKKyAgICNkZWZpbmUgCUdQSU9fUFVMTFNFTDRfQ0xSICAgICAoR1BJT19iYXNlKzB4MDI3MCsweDA4KQorICAgI2RlZmluZSAJR1BJT19QVUxMU0VMNV9DTFIgICAgIChHUElPX2Jhc2UrMHgwMjgwKzB4MDgpICAgCisgICAjZGVmaW5lIAlHUElPX1BVTExTRUw2X0NMUiAgICAgKEdQSU9fYmFzZSsweDAzZTArMHgwOCkgICAKKyAgICNkZWZpbmUgIEdQSU9fVE1fQ0xSICAgICAgICAJKEdQSU9fYmFzZSsweDAzNzArMHgwOCkgICAKKworICAgI2RlZmluZSAgR1BJT19NT0RFX0NMUihfbm8pICAoKChfbm8pPDEwKT8oR1BJT19NT0RFMV9DTFIrKDB4MTAqKF9ubykpKTooR1BJT19NT0RFQl9DTFIpKQorICAgI2RlZmluZSAgR1BJT19ESVJfQ0xSKF9ubykgICAoKChfbm8pPDUpPyhHUElPX0RJUjFfQ0xSKygweDEwKihfbm8pKSk6KEdQSU9fRElSNl9DTFIpKSAgCisgICAjZGVmaW5lICBHUElPX0RPVVRfQ0xSKF9ubykgICgoKF9ubyk8NSk/KEdQSU9fRE9VVDFfQ0xSKygweDEwKihfbm8pKSk6KEdQSU9fRE9VVDZfQ0xSKSkgIAorICAgI2RlZmluZSAgR1BJT19QVUxMRU5fQ0xSKF9ubykgICgoKF9ubyk8NSk/KEdQSU9fUFVMTEVOMV9DTFIrKDB4MTAqKF9ubykpKTooR1BJT19QVUxMRU42X0NMUikpCisgICAjZGVmaW5lICBHUElPX1BVTExTRUxfQ0xSKF9ubykgICgoKF9ubyk8NSk/KEdQSU9fUFVMTFNFTDFfQ0xSKygweDEwKihfbm8pKSk6KEdQSU9fUFVMTFNFTDZfQ0xSKSkKKworICAgI2RlZmluZSAgR1BJT19NT0RFKF9ubykgICAgICAoKChfbm8pPDEwKT8oR1BJT19NT0RFMSsoMHgxMCooX25vKSkpOihHUElPX01PREVCKSkKKyAgICNkZWZpbmUgIEdQSU9fRE9VVChfbm8pICAgICAgKCgoX25vKTw1KT8oR1BJT19ET1VUMSsoMHgxMCooX25vKSkpOihHUElPX0RPVVQ2KSkKKyAgICNkZWZpbmUgIEdQSU9fRElSKF9ubykgICAgICAgKCgoX25vKTw1KT8oR1BJT19ESVIxKygweDEwKihfbm8pKSk6KEdQSU9fRElSNikpCisgICAjZGVmaW5lICBHUElPX0RJTihfbm8pICAgICAgICgoKF9ubyk8NSk/KEdQSU9fRElOMSsoMHgxMCooX25vKSkpOihHUElPX0RJTjYpKQorICAgI2RlZmluZSAgR1BJT19QVUxMRU4oX25vKSAgICAoKChfbm8pPDUpPyhHUElPX1BVTExFTjErKDB4MTAqKF9ubykpKTooR1BJT19QVUxMRU42KSkKKyAgICNkZWZpbmUgIEdQSU9fUFVMTFNFTChfbm8pICAgKCgoX25vKTw1KT8oR1BJT19QVUxMU0VMMSsoMHgxMCooX25vKSkpOihHUElPX1BVTExTRUw2KSkKKyAgICNkZWZpbmUgIENMS09fTU9ERShfbm8pICAgICAgKENMS09fTU9ERTErKDB4MTAqKF9ubykpKSAgCisKKyAgICNkZWZpbmUgIENMS09fTlVNICAgICAgICAgICAgNworI2VuZGlmICAgLypEUlZfR1BJT19SRUdfQVNfNjI1M1QqLworCisjaWYgZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjI1M0UpCisgICAjZGVmaW5lIAlHUElPX0RJUjEgICAgICAgCShHUElPX2Jhc2UrMHgwMDAwKQorICAgI2RlZmluZSAJR1BJT19ESVIyICAgCSAgIChHUElPX2Jhc2UrMHgwMDEwKQorICAgI2RlZmluZSAJR1BJT19ESVIzICAgICAgICAgKEdQSU9fYmFzZSsweDAwMjApCisgICAjZGVmaW5lIAlHUElPX0RJUjQgICAgICAgICAoR1BJT19iYXNlKzB4MDAzMCkKKyAgICNkZWZpbmUgCUdQSU9fUFVMTEVOMSAgICAJKEdQSU9fYmFzZSsweDAwNTApCisgICAjZGVmaW5lIAlHUElPX1BVTExFTjIgICAgCShHUElPX2Jhc2UrMHgwMDYwKQorICAgI2RlZmluZSAJR1BJT19QVUxMRU4zICAgCShHUElPX2Jhc2UrMHgwMDcwKQorICAgI2RlZmluZSAJR1BJT19QVUxMRU40ICAgICAgKEdQSU9fYmFzZSsweDAwODApCisgICAjZGVmaW5lIAlHUElPX0RJTlYxICAgICAgCShHUElPX2Jhc2UrMHgwMGEwKQorICAgI2RlZmluZSAJR1BJT19ESU5WMiAgICAgIAkoR1BJT19iYXNlKzB4MDBiMCkKKyAgICNkZWZpbmUgCUdQSU9fRElOVjMgICAgICAJKEdQSU9fYmFzZSsweDAwYzApCisgICAjZGVmaW5lIAlHUElPX0RJTlY0ICAgICAgCShHUElPX2Jhc2UrMHgwMGQwKQorICAgI2RlZmluZSAJR1BJT19ET1VUMSAgICAgIAkoR1BJT19iYXNlKzB4MDBmMCkKKyAgICNkZWZpbmUgCUdQSU9fRE9VVDIgICAgICAJKEdQSU9fYmFzZSsweDAxMDApCisgICAjZGVmaW5lIAlHUElPX0RPVVQzICAgICAgCShHUElPX2Jhc2UrMHgwMTEwKQorICAgI2RlZmluZSAJR1BJT19ET1VUNCAgICAgIAkoR1BJT19iYXNlKzB4MDEyMCkKKyAgICNkZWZpbmUgCUdQSU9fRElOMSAgICAgICAJKEdQSU9fYmFzZSsweDAxNDApCisgICAjZGVmaW5lIAlHUElPX0RJTjIgICAgICAgCShHUElPX2Jhc2UrMHgwMTUwKQorICAgI2RlZmluZSAJR1BJT19ESU4zICAgICAgIAkoR1BJT19iYXNlKzB4MDE2MCkKKyAgICNkZWZpbmUgCUdQSU9fRElONCAgICAgICAJKEdQSU9fYmFzZSsweDAxNzApCisKKyAgICNkZWZpbmUgCUdQSU9fU1BNT0RFICAgICAgCShHUElPX2Jhc2UrMHgwMjIwKQorCisgICAjZGVmaW5lIAlHUElPX01PREUxICAgICAgIAkoR1BJT19iYXNlKzB4MDE5MCkKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTIgICAgICAgCShHUElPX2Jhc2UrMHgwMWEwKQorICAgI2RlZmluZSAJR1BJT19NT0RFMyAgICAgICAJKEdQSU9fYmFzZSsweDAxYjApCisgICAjZGVmaW5lIAlHUElPX01PREU0ICAgICAgIAkoR1BJT19iYXNlKzB4MDFjMCkgICAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTUgICAgICAgCShHUElPX2Jhc2UrMHgwMWQwKSAgICAgICAgIAorICAgI2RlZmluZSAJR1BJT19NT0RFNiAgICAgICAJKEdQSU9fYmFzZSsweDAxZTApICAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX01PREU3ICAgICAgIAkoR1BJT19iYXNlKzB4MDFmMCkgICAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTggICAgICAgCShHUElPX2Jhc2UrMHgwMjAwKQorCisgICAjZGVmaW5lIAlHUElPX0JBTksgICAgICAgCShHUElPX2Jhc2UrMHgwMjMwKSAgIAorCisgICAjZGVmaW5lICBDTEtPX01PREUxICAgICAgCShHUElPX2Jhc2UrMHgwMzAwKSAgIAorICAgI2RlZmluZSAgQ0xLT19NT0RFMiAgICAgIAkoR1BJT19iYXNlKzB4MDMxMCkgICAKKyAgICNkZWZpbmUgIENMS09fTU9ERTMgICAgICAJKEdQSU9fYmFzZSsweDAzMjApICAgCisgICAjZGVmaW5lICBDTEtPX01PREU0ICAgICAgCShHUElPX2Jhc2UrMHgwMzMwKSAgIAorICAgI2RlZmluZSAgQ0xLT19NT0RFNSAgICAgIAkoR1BJT19iYXNlKzB4MDM0MCkgICAKKyAgICNkZWZpbmUgIENMS09fTU9ERTYgICAgICAJKEdQSU9fYmFzZSsweDAzNTApICAgCisgICAjZGVmaW5lICBDTEtPX01PREU3ICAgICAgCShHUElPX2Jhc2UrMHgwMzYwKSAgIAorICAgI2RlZmluZSAgR1BJT19ESU5WX0FEUlMobikJKEdQSU9fRElOVjErMHgxMCoobikpCisgICAKKyAgICNkZWZpbmUgCUdQSU9fUFVMTFNFTDEgICAgCShHUElPX2Jhc2UrMHgwMjQwKQorICAgI2RlZmluZSAJR1BJT19QVUxMU0VMMiAgICAJKEdQSU9fYmFzZSsweDAyNTApCisgICAjZGVmaW5lIAlHUElPX1BVTExTRUwzICAgCShHUElPX2Jhc2UrMHgwMjYwKQorICAgI2RlZmluZSAJR1BJT19QVUxMU0VMNCAgICAgKEdQSU9fYmFzZSsweDAyNzApCisKKyAgICNkZWZpbmUgIEdQSU9fVE0gICAgICAgIAkoR1BJT19iYXNlKzB4MDM3MCkgICAKKworICAgI2RlZmluZSAJR1BJT19ESVIxX1NFVCAgICAgICAJKEdQSU9fRElSMSsweDA0KQorICAgI2RlZmluZSAJR1BJT19QVUxMRU4xX1NFVCAgICAJKEdQSU9fUFVMTEVOMSsweDA0KQorICAgI2RlZmluZSAJR1BJT19ET1VUMV9TRVQgICAgICAJKEdQSU9fRE9VVDErMHgwNCkKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTFfU0VUICAgICAgIChHUElPX01PREUxKzB4MDQpCisgIAorICAgI2RlZmluZSAJR1BJT19QVUxMU0VMMV9TRVQgICAgCShHUElPX1BVTExTRUwxKzB4MDQpCisgICAjZGVmaW5lICBHUElPX01PREVfU0VUKF9ubykgIChHUElPX01PREUxX1NFVCsoMHgxMCooX25vKSkpCisgICAjZGVmaW5lICBHUElPX0RJUl9TRVQoX25vKSAgIChHUElPX0RJUjFfU0VUKygweDEwKihfbm8pKSkgIAorICAgI2RlZmluZSAgR1BJT19ET1VUX1NFVChfbm8pICAoR1BJT19ET1VUMV9TRVQrKDB4MTAqKF9ubykpKSAgCisgICAjZGVmaW5lICBHUElPX1BVTExFTl9TRVQoX25vKSAgKEdQSU9fUFVMTEVOMV9TRVQrKDB4MTAqKF9ubykpKSAgCisgICAjZGVmaW5lICBHUElPX1BVTExTRUxfU0VUKF9ubykgIChHUElPX1BVTExTRUwxX1NFVCsoMHgxMCooX25vKSkpICAKKworICAgI2RlZmluZSAJR1BJT19ESVIxX0NMUiAgICAgICAJKEdQSU9fRElSMSsweDA4KQorICAgI2RlZmluZSAJR1BJT19QVUxMRU4xX0NMUiAgICAJKEdQSU9fUFVMTEVOMSsweDA4KQorICAgI2RlZmluZSAJR1BJT19ET1VUMV9DTFIgICAgICAJKEdQSU9fRE9VVDErMHgwOCkKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTFfQ0xSICAgICAgIAkoR1BJT19NT0RFMSsweDA4KQorICAgI2RlZmluZSAJR1BJT19QVUxMU0VMMV9DTFIgICAgCShHUElPX1BVTExTRUwxKzB4MDgpCisgICAjZGVmaW5lICBHUElPX01PREVfQ0xSKF9ubykgIChHUElPX01PREUxX0NMUisoMHgxMCooX25vKSkpCisgICAjZGVmaW5lICBHUElPX0RJUl9DTFIoX25vKSAgIChHUElPX0RJUjFfQ0xSKygweDEwKihfbm8pKSkKKyAgICNkZWZpbmUgIEdQSU9fRE9VVF9DTFIoX25vKSAgKEdQSU9fRE9VVDFfQ0xSKygweDEwKihfbm8pKSkKKyAgICNkZWZpbmUgIEdQSU9fUFVMTEVOX0NMUihfbm8pICAoR1BJT19QVUxMRU4xX0NMUisoMHgxMCooX25vKSkpICAKKyAgICNkZWZpbmUgIEdQSU9fUFVMTFNFTF9DTFIoX25vKSAgKEdQSU9fUFVMTFNFTDFfQ0xSKygweDEwKihfbm8pKSkgIAorCisgICAjZGVmaW5lICBHUElPX01PREUoX25vKSAgICAgIChHUElPX01PREUxKygweDEwKihfbm8pKSkgCisgICAjZGVmaW5lICBHUElPX0RPVVQoX25vKSAgICAgIChHUElPX0RPVVQxKygweDEwKihfbm8pKSkKKyAgICNkZWZpbmUgIEdQSU9fRElSKF9ubykgICAgICAgKEdQSU9fRElSMSsoMHgxMCooX25vKSkpCisgICAjZGVmaW5lICBHUElPX0RJTihfbm8pICAgICAgIChHUElPX0RJTjErKDB4MTAqKF9ubykpKQorICAgI2RlZmluZSAgR1BJT19QVUxMRU4oX25vKSAgICAoR1BJT19QVUxMRU4xKygweDEwKihfbm8pKSkKKyAgICNkZWZpbmUgIEdQSU9fUFVMTFNFTChfbm8pICAgKEdQSU9fUFVMTFNFTDErKDB4MTAqKF9ubykpKQorICAgI2RlZmluZSAgQ0xLT19NT0RFKF9ubykgICAgICAoQ0xLT19NT0RFMSsoMHgxMCooX25vKSkpICAKKyAgICNkZWZpbmUgIENMS09fTlVNICAgICAgICAgICAgNworCisjZW5kaWYgICAvKkRSVl9HUElPX1JFR19BU182MjUzRSovCisKKyNpZiBkZWZpbmVkKERSVl9HUElPX1JFR19BU182MjUzRV8xKQorICAgI2RlZmluZSAJR1BJT19ESVIxICAgICAgIAkoR1BJT19iYXNlKzB4MDAwMCkKKyAgICNkZWZpbmUgCUdQSU9fRElSMiAgIAkJKEdQSU9fYmFzZSsweDAwMTApCisgICAjZGVmaW5lIAlHUElPX0RJUjMgICAgICAgICAJKEdQSU9fYmFzZSsweDAwMjApCisgICAjZGVmaW5lIAlHUElPX0RJUjQgICAgICAgICAJKEdQSU9fYmFzZSsweDAwMzApCisgICAjZGVmaW5lCUdQSU9fRElSNQkJKEdQSU9fYmFzZSsweDAwNDApCisKKyAgICNkZWZpbmUgCUdQSU9fUFVMTEVOMSAgICAJKEdQSU9fYmFzZSsweDAwNTApCisgICAjZGVmaW5lIAlHUElPX1BVTExFTjIgICAgCShHUElPX2Jhc2UrMHgwMDYwKQorICAgI2RlZmluZSAJR1BJT19QVUxMRU4zICAgCQkoR1BJT19iYXNlKzB4MDA3MCkKKyAgICNkZWZpbmUgCUdQSU9fUFVMTEVONCAgICAgIAkoR1BJT19iYXNlKzB4MDA4MCkKKyAgICNkZWZpbmUJR1BJT19QVUxMRU41CQkoR1BJT19iYXNlKzB4MDA5MCkKKworICAgI2RlZmluZSAJR1BJT19ESU5WMSAgICAgIAkoR1BJT19iYXNlKzB4MDBhMCkKKyAgICNkZWZpbmUgCUdQSU9fRElOVjIgICAgICAJKEdQSU9fYmFzZSsweDAwYjApCisgICAjZGVmaW5lIAlHUElPX0RJTlYzICAgICAgCShHUElPX2Jhc2UrMHgwMGMwKQorICAgI2RlZmluZSAJR1BJT19ESU5WNCAgICAgIAkoR1BJT19iYXNlKzB4MDBkMCkKKyAgICNkZWZpbmUgICAgICBHUElPX0RJTlY1CQkoR1BJT19iYXNlKzB4MDBlMCkKKworICAgI2RlZmluZSAJR1BJT19ET1VUMSAgICAgIAkoR1BJT19iYXNlKzB4MDBmMCkKKyAgICNkZWZpbmUgCUdQSU9fRE9VVDIgICAgICAJKEdQSU9fYmFzZSsweDAxMDApCisgICAjZGVmaW5lIAlHUElPX0RPVVQzICAgICAgCShHUElPX2Jhc2UrMHgwMTEwKQorICAgI2RlZmluZSAJR1BJT19ET1VUNCAgICAgIAkoR1BJT19iYXNlKzB4MDEyMCkKKyAgICNkZWZpbmUgICAgICBHUElPX0RPVVQ1CQkoR1BJT19iYXNlKzB4MDEzMCkKKworICAgI2RlZmluZSAJR1BJT19ESU4xICAgICAgIAkoR1BJT19iYXNlKzB4MDE0MCkKKyAgICNkZWZpbmUgCUdQSU9fRElOMiAgICAgICAJKEdQSU9fYmFzZSsweDAxNTApCisgICAjZGVmaW5lIAlHUElPX0RJTjMgICAgICAgCShHUElPX2Jhc2UrMHgwMTYwKQorICAgI2RlZmluZSAJR1BJT19ESU40ICAgICAgIAkoR1BJT19iYXNlKzB4MDE3MCkKKyAgICNkZWZpbmUJR1BJT19ESU41CQkoR1BJT19iYXNlKzB4MDE4MCkKKworICAgI2RlZmluZQlHUElPX1NQTU9ERTAJCShHUElPX2Jhc2UrMHgwMjEwKQorICAgI2RlZmluZSAJR1BJT19TUE1PREUxICAgICAJKEdQSU9fYmFzZSsweDAyMjApCisKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTEgICAgICAgCShHUElPX2Jhc2UrMHgwMTkwKQorICAgI2RlZmluZSAJR1BJT19NT0RFMiAgICAgICAJKEdQSU9fYmFzZSsweDAxYTApCisgICAjZGVmaW5lIAlHUElPX01PREUzICAgICAgIAkoR1BJT19iYXNlKzB4MDFiMCkKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTQgICAgICAgCShHUElPX2Jhc2UrMHgwMWMwKSAgICAgICAgIAorICAgI2RlZmluZSAJR1BJT19NT0RFNSAgICAgICAJKEdQSU9fYmFzZSsweDAxZDApICAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX01PREU2ICAgICAgIAkoR1BJT19iYXNlKzB4MDFlMCkgICAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTcgICAgICAgCShHUElPX2Jhc2UrMHgwMWYwKSAgICAgICAgIAorICAgI2RlZmluZSAJR1BJT19NT0RFOCAgICAgICAJKEdQSU9fYmFzZSsweDAyMDApCisgICAjZGVmaW5lIAlHUElPX01PREU5CQkoR1BJT19iYXNlKzB4MDIzMCkKKworIC8vICAjZGVmaW5lIAlHUElPX0JBTksgICAgICAgCShHUElPX2Jhc2UrMHgwMjMwKSAgIAorCisgICAjZGVmaW5lICAJQ0xLT19NT0RFMSAgICAgIAkoR1BJT19iYXNlKzB4MDMwMCkgICAKKyAgICNkZWZpbmUgIAlDTEtPX01PREUyICAgICAgCShHUElPX2Jhc2UrMHgwMzEwKSAgIAorICAgI2RlZmluZSAgCUNMS09fTU9ERTMgICAgICAJKEdQSU9fYmFzZSsweDAzMjApICAgCisgICAjZGVmaW5lICAJQ0xLT19NT0RFNCAgICAgIAkoR1BJT19iYXNlKzB4MDMzMCkgICAKKyAgICNkZWZpbmUgIAlDTEtPX01PREU1ICAgICAgCShHUElPX2Jhc2UrMHgwMzQwKSAgIAorICAgI2RlZmluZSAgCUNMS09fTU9ERTYgICAgICAJKEdQSU9fYmFzZSsweDAzNTApICAgCisgICAjZGVmaW5lICAJQ0xLT19NT0RFNyAgICAgIAkoR1BJT19iYXNlKzB4MDM2MCkgICAKKyAgIAorICAgI2RlZmluZSAgCUdQSU9fRElOVl9BRFJTKG4pCShHUElPX0RJTlYxKzB4MTAqKG4pKQorICAgCisgICAjZGVmaW5lIAlHUElPX1BVTExTRUwxICAgIAkoR1BJT19iYXNlKzB4MDI0MCkKKyAgICNkZWZpbmUgCUdQSU9fUFVMTFNFTDIgICAgCShHUElPX2Jhc2UrMHgwMjUwKQorICAgI2RlZmluZSAJR1BJT19QVUxMU0VMMyAgIAkoR1BJT19iYXNlKzB4MDI2MCkKKyAgICNkZWZpbmUgCUdQSU9fUFVMTFNFTDQgICAgIAkoR1BJT19iYXNlKzB4MDI3MCkKKyAgICNkZWZpbmUgCUdQSU9fUFVMTFNFTDUgICAgIAkoR1BJT19iYXNlKzB4MDI4MCkKKworICAgI2RlZmluZSAgCUdQSU9fVE0gICAgICAgIAkJKEdQSU9fYmFzZSsweDAzNzApICAgCisKKyAgICNkZWZpbmUgCUdQSU9fRElSMV9TRVQgICAgICAgCShHUElPX0RJUjErMHgwNCkKKyAgICNkZWZpbmUgCUdQSU9fUFVMTEVOMV9TRVQgICAgCShHUElPX1BVTExFTjErMHgwNCkKKyAgICNkZWZpbmUgCUdQSU9fRE9VVDFfU0VUICAgICAgCShHUElPX0RPVVQxKzB4MDQpCisgICAjZGVmaW5lIAlHUElPX01PREUxX1NFVCAgICAgICAJKEdQSU9fTU9ERTErMHgwNCkKKyAgICNkZWZpbmUgCUdQSU9fUFVMTFNFTDFfU0VUICAgIAkoR1BJT19QVUxMU0VMMSsweDA0KQorCisgICAjZGVmaW5lICAJR1BJT19NT0RFX1NFVChfbm8pICAJKCgoX25vKT09OCk/KEdQSU9fTU9ERTkrMHgwNCk6KEdQSU9fTU9ERTFfU0VUKygweDEwKihfbm8pKSkpCisgICAjZGVmaW5lICAJR1BJT19ESVJfU0VUKF9ubykgICAJKEdQSU9fRElSMV9TRVQrKDB4MTAqKF9ubykpKSAgCisgICAjZGVmaW5lICAJR1BJT19ET1VUX1NFVChfbm8pICAJKEdQSU9fRE9VVDFfU0VUKygweDEwKihfbm8pKSkgIAorICAgI2RlZmluZSAgCUdQSU9fUFVMTEVOX1NFVChfbm8pICAJKEdQSU9fUFVMTEVOMV9TRVQrKDB4MTAqKF9ubykpKSAgCisgICAjZGVmaW5lICAJR1BJT19QVUxMU0VMX1NFVChfbm8pICAJKEdQSU9fUFVMTFNFTDFfU0VUKygweDEwKihfbm8pKSkgIAorCisgICAjZGVmaW5lIAlHUElPX0RJUjFfQ0xSICAgICAgIAkoR1BJT19ESVIxKzB4MDgpCisgICAjZGVmaW5lIAlHUElPX1BVTExFTjFfQ0xSICAgIAkoR1BJT19QVUxMRU4xKzB4MDgpCisgICAjZGVmaW5lIAlHUElPX0RPVVQxX0NMUiAgICAgIAkoR1BJT19ET1VUMSsweDA4KQorICAgI2RlZmluZSAJR1BJT19NT0RFMV9DTFIgICAgICAgCShHUElPX01PREUxKzB4MDgpCisgICAjZGVmaW5lIAlHUElPX1BVTExTRUwxX0NMUiAgICAJKEdQSU9fUFVMTFNFTDErMHgwOCkKKworICAgI2RlZmluZSAJR1BJT19NT0RFX0NMUihfbm8pICAJKCgoX25vKT09OCk/KEdQSU9fTU9ERTkrMHgwOCk6KEdQSU9fTU9ERTFfQ0xSKygweDEwKihfbm8pKSkpCisgICAjZGVmaW5lICAJR1BJT19ESVJfQ0xSKF9ubykgICAJKEdQSU9fRElSMV9DTFIrKDB4MTAqKF9ubykpKQorICAgI2RlZmluZSAgCUdQSU9fRE9VVF9DTFIoX25vKSAgCShHUElPX0RPVVQxX0NMUisoMHgxMCooX25vKSkpCisgICAjZGVmaW5lICAJR1BJT19QVUxMRU5fQ0xSKF9ubykgIAkoR1BJT19QVUxMRU4xX0NMUisoMHgxMCooX25vKSkpICAKKyAgICNkZWZpbmUgIAlHUElPX1BVTExTRUxfQ0xSKF9ubykgIAkoR1BJT19QVUxMU0VMMV9DTFIrKDB4MTAqKF9ubykpKSAgCisKKyAgICNkZWZpbmUgIAlHUElPX01PREUoX25vKSAgICAgIAkoKChfbm8pPT04KT8oR1BJT19NT0RFOSk6KEdQSU9fTU9ERTErKDB4MTAqKF9ubykpKSkgCisgICAjZGVmaW5lICAJR1BJT19ET1VUKF9ubykgICAgICAJKEdQSU9fRE9VVDErKDB4MTAqKF9ubykpKQorICAgI2RlZmluZSAgCUdQSU9fRElSKF9ubykgICAgICAgCShHUElPX0RJUjErKDB4MTAqKF9ubykpKQorICAgI2RlZmluZSAgCUdQSU9fRElOKF9ubykgICAgICAgCShHUElPX0RJTjErKDB4MTAqKF9ubykpKQorICAgI2RlZmluZSAgCUdQSU9fUFVMTEVOKF9ubykgICAgCShHUElPX1BVTExFTjErKDB4MTAqKF9ubykpKQorICAgI2RlZmluZSAgCUdQSU9fUFVMTFNFTChfbm8pICAgCShHUElPX1BVTExTRUwxKygweDEwKihfbm8pKSkKKyAgICNkZWZpbmUgIAlDTEtPX01PREUoX25vKSAgICAgIAkoQ0xLT19NT0RFMSsoMHgxMCooX25vKSkpICAKKyAgICNkZWZpbmUgIAlDTEtPX05VTSAgICAgICAgICAgIAk3CisKKyNlbmRpZiAgIC8qRFJWX0dQSU9fUkVHX0FTXzYyNTNFXzEqLworCisjaWYgZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjIzNikKKyAgICNkZWZpbmUgCUdQSU9fRElSMSAgICAgICAJKEdQSU9fYmFzZSsweDAwMDApCisgICAjZGVmaW5lIAlHUElPX0RJUjIgICAJICAgKEdQSU9fYmFzZSsweDAwMTApCisgICAjZGVmaW5lIAlHUElPX0RJUjMgICAgICAgICAoR1BJT19iYXNlKzB4MDAyMCkKKyAgICNkZWZpbmUgCUdQSU9fRElSNCAgICAgICAgIChHUElPX2Jhc2UrMHgwMDMwKQorICAgI2RlZmluZSAJR1BJT19ESVI1ICAgICAgICAgKEdQSU9fYmFzZSsweDAwNDApICAgICAgCisgICAjZGVmaW5lIAlHUElPX1BVTExFTjEgICAgCShHUElPX2Jhc2UrMHgwMTAwKQorICAgI2RlZmluZSAJR1BJT19QVUxMRU4yICAgIAkoR1BJT19iYXNlKzB4MDExMCkKKyAgICNkZWZpbmUgCUdQSU9fUFVMTEVOMyAgIAkoR1BJT19iYXNlKzB4MDEyMCkKKyAgICNkZWZpbmUgCUdQSU9fUFVMTEVONCAgICAgIChHUElPX2Jhc2UrMHgwMTMwKQorICAgI2RlZmluZSAJR1BJT19QVUxMRU41ICAgICAgKEdQSU9fYmFzZSsweDAxNDApICAgCisgICAjZGVmaW5lIAlHUElPX1BVTExTRUwxICAgIAkoR1BJT19iYXNlKzB4MDIwMCkKKyAgICNkZWZpbmUgCUdQSU9fUFVMTFNFTDIgICAgCShHUElPX2Jhc2UrMHgwMjEwKQorICAgI2RlZmluZSAJR1BJT19QVUxMU0VMMyAgIAkoR1BJT19iYXNlKzB4MDIyMCkKKyAgICNkZWZpbmUgCUdQSU9fUFVMTFNFTDQgICAgIChHUElPX2Jhc2UrMHgwMjMwKQorICAgI2RlZmluZSAJR1BJT19QVUxMU0VMNSAgICAgKEdQSU9fYmFzZSsweDAyNDApICAgCisgICAjZGVmaW5lIAlHUElPX0RJTlYxICAgICAgCShHUElPX2Jhc2UrMHgwMzAwKQorICAgI2RlZmluZSAJR1BJT19ESU5WMiAgICAgIAkoR1BJT19iYXNlKzB4MDMxMCkKKyAgICNkZWZpbmUgCUdQSU9fRElOVjMgICAgICAJKEdQSU9fYmFzZSsweDAzMjApCisgICAjZGVmaW5lIAlHUElPX0RJTlY0ICAgICAgCShHUElPX2Jhc2UrMHgwMzMwKQorICAgI2RlZmluZSAJR1BJT19ESU5WNSAgICAgIAkoR1BJT19iYXNlKzB4MDM0MCkgICAKKyAgICNkZWZpbmUgCUdQSU9fRE9VVDEgICAgICAJKEdQSU9fYmFzZSsweDA0MDApCisgICAjZGVmaW5lIAlHUElPX0RPVVQyICAgICAgCShHUElPX2Jhc2UrMHgwNDEwKQorICAgI2RlZmluZSAJR1BJT19ET1VUMyAgICAgIAkoR1BJT19iYXNlKzB4MDQyMCkKKyAgICNkZWZpbmUgCUdQSU9fRE9VVDQgICAgICAJKEdQSU9fYmFzZSsweDA0MzApCisgICAjZGVmaW5lIAlHUElPX0RPVVQ1ICAgICAgCShHUElPX2Jhc2UrMHgwNDQwKSAgIAorICAgI2RlZmluZSAJR1BJT19ESU4xICAgICAgIAkoR1BJT19iYXNlKzB4MDUwMCkKKyAgICNkZWZpbmUgCUdQSU9fRElOMiAgICAgICAJKEdQSU9fYmFzZSsweDA1MTApCisgICAjZGVmaW5lIAlHUElPX0RJTjMgICAgICAgCShHUElPX2Jhc2UrMHgwNTIwKQorICAgI2RlZmluZSAJR1BJT19ESU40ICAgICAgIAkoR1BJT19iYXNlKzB4MDUzMCkKKyAgICNkZWZpbmUgCUdQSU9fRElONSAgICAgICAJKEdQSU9fYmFzZSsweDA1NDApICAgCisgICAjZGVmaW5lIAlHUElPX01PREUxICAgICAgIAkoR1BJT19iYXNlKzB4MDYwMCkKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTIgICAgICAgCShHUElPX2Jhc2UrMHgwNjEwKQorICAgI2RlZmluZSAJR1BJT19NT0RFMyAgICAgICAJKEdQSU9fYmFzZSsweDA2MjApICAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX01PREU0ICAgICAgIAkoR1BJT19iYXNlKzB4MDYzMCkgICAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTUgICAgICAgCShHUElPX2Jhc2UrMHgwNjQwKSAgICAgICAgIAorICAgI2RlZmluZSAJR1BJT19NT0RFNiAgICAgICAJKEdQSU9fYmFzZSsweDA2NTApICAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX01PREU3ICAgICAgIAkoR1BJT19iYXNlKzB4MDY2MCkKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTggICAgICAgCShHUElPX2Jhc2UrMHgwNjcwKQorICAgI2RlZmluZSAJR1BJT19NT0RFOSAgICAgICAJKEdQSU9fYmFzZSsweDA2ODApCisgICAjZGVmaW5lICBDTEtPX01PREUwICAgICAgCShHUElPX2Jhc2UrMHgwOTAwKQorICAgI2RlZmluZSAgQ0xLT19NT0RFMSAgICAgIAkoR1BJT19iYXNlKzB4MDkxMCkgICAKKyAgICNkZWZpbmUgIENMS09fTU9ERTIgICAgICAJKEdQSU9fYmFzZSsweDA5MjApICAgCisgICAjZGVmaW5lICBDTEtPX01PREUzICAgICAgCShHUElPX2Jhc2UrMHgwOTMwKSAgIAorICAgI2RlZmluZSAgQ0xLT19NT0RFNCAgICAgIAkoR1BJT19iYXNlKzB4MDk0MCkgICAKKyAgICNkZWZpbmUgIENMS09fTU9ERTUgICAgICAJKEdQSU9fYmFzZSsweDA5NTApICAgCisgICAjZGVmaW5lICBHUElPX0RJTlZfQURSUyhuKQkoR1BJT19ESU5WMSsweDEwKihuKSkgIAorICAgCisgICAjZGVmaW5lIAlHUElPX0RJUjFfU0VUICAgICAgIChHUElPX2Jhc2UrMHgwMDAwKzB4MDQpICAgIAorICAgI2RlZmluZSAJR1BJT19ESVIyX1NFVCAgICAJICAoR1BJT19iYXNlKzB4MDAxMCsweDA0KSAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX0RJUjNfU0VUICAgICAgIChHUElPX2Jhc2UrMHgwMDIwKzB4MDQpICAgICAgCisgICAjZGVmaW5lIAlHUElPX0RJUjRfU0VUICAgICAgIChHUElPX2Jhc2UrMHgwMDMwKzB4MDQpICAgIAorICAgI2RlZmluZSAJR1BJT19ESVI1X1NFVCAgICAgICAoR1BJT19iYXNlKzB4MDA0MCsweDA0KSAgICAKKyAgICNkZWZpbmUgCUdQSU9fUFVMTEVOMV9TRVQgICAgKEdQSU9fYmFzZSsweDAxMDArMHgwNCkgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fUFVMTEVOMl9TRVQgICAgKEdQSU9fYmFzZSsweDAxMTArMHgwNCkgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fUFVMTEVOM19TRVQgICAgKEdQSU9fYmFzZSsweDAxMjArMHgwNCkgICAgIAorICAgI2RlZmluZSAJR1BJT19QVUxMRU40X1NFVCAgICAoR1BJT19iYXNlKzB4MDEzMCsweDA0KSAgICAKKyAgICNkZWZpbmUgCUdQSU9fUFVMTEVONV9TRVQgICAgKEdQSU9fYmFzZSsweDAxNDArMHgwNCkgICAgCisgICAjZGVmaW5lIAlHUElPX1BVTExTRUwxX1NFVCAgIChHUElPX2Jhc2UrMHgwMjAwKzB4MDQpICAgICAgCisgICAjZGVmaW5lIAlHUElPX1BVTExTRUwyX1NFVCAgIChHUElPX2Jhc2UrMHgwMjEwKzB4MDQpICAgICAgCisgICAjZGVmaW5lIAlHUElPX1BVTExTRUwzX1NFVCAgIChHUElPX2Jhc2UrMHgwMjIwKzB4MDQpICAgICAKKyAgICNkZWZpbmUgCUdQSU9fUFVMTFNFTDRfU0VUICAgKEdQSU9fYmFzZSsweDAyMzArMHgwNCkgICAgCisgICAjZGVmaW5lIAlHUElPX1BVTExTRUw1X1NFVCAgIChHUElPX2Jhc2UrMHgwMjQwKzB4MDQpICAgIAorICAgI2RlZmluZSAJR1BJT19ET1VUMV9TRVQgICAgICAoR1BJT19iYXNlKzB4MDQwMCsweDA0KSAgICAKKyAgICNkZWZpbmUgCUdQSU9fRE9VVDJfU0VUICAgICAgKEdQSU9fYmFzZSsweDA0MTArMHgwNCkgICAgCisgICAjZGVmaW5lIAlHUElPX0RPVVQzX1NFVCAgICAgIChHUElPX2Jhc2UrMHgwNDIwKzB4MDQpICAgIAorICAgI2RlZmluZSAJR1BJT19ET1VUNF9TRVQgICAgICAoR1BJT19iYXNlKzB4MDQzMCsweDA0KSAgICAKKyAgICNkZWZpbmUgCUdQSU9fRE9VVDVfU0VUICAgICAgKEdQSU9fYmFzZSsweDA0NDArMHgwNCkgICAgCisgICAjZGVmaW5lIAlHUElPX01PREUxX1NFVCAgICAgIChHUElPX2Jhc2UrMHgwNjAwKzB4MDQpICAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTJfU0VUICAgICAgKEdQSU9fYmFzZSsweDA2MTArMHgwNCkgICAgCisgICAjZGVmaW5lIAlHUElPX01PREUzX1NFVCAgICAgIChHUElPX2Jhc2UrMHgwNjIwKzB4MDQpICAgICAgIAorICAgI2RlZmluZSAJR1BJT19NT0RFNF9TRVQgICAgICAoR1BJT19iYXNlKzB4MDYzMCsweDA0KSAgICAKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTVfU0VUICAgICAgKEdQSU9fYmFzZSsweDA2NDArMHgwNCkgICAgICAgIAorICAgI2RlZmluZSAJR1BJT19NT0RFNl9TRVQgICAgICAoR1BJT19iYXNlKzB4MDY1MCsweDA0KSAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX01PREU3X1NFVCAgICAgIChHUElPX2Jhc2UrMHgwNjYwKzB4MDQpICAgICAgCisgICAjZGVmaW5lIAlHUElPX01PREU4X1NFVCAgICAgIChHUElPX2Jhc2UrMHgwNjcwKzB4MDQpICAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTlfU0VUICAgICAgKEdQSU9fYmFzZSsweDA2ODArMHgwNCkgICAgICAKKyAgICNkZWZpbmUgIEdQSU9fTU9ERV9TRVQoX25vKSAgKEdQSU9fTU9ERTFfU0VUKygweDEwKihfbm8pKSkKKyAgICNkZWZpbmUgIEdQSU9fRElSX1NFVChfbm8pICAgKEdQSU9fRElSMV9TRVQrKDB4MTAqKF9ubykpKSAgCisgICAjZGVmaW5lICBHUElPX0RPVVRfU0VUKF9ubykgIChHUElPX0RPVVQxX1NFVCsoMHgxMCooX25vKSkpICAKKyAgICNkZWZpbmUgIEdQSU9fUFVMTEVOX1NFVChfbm8pICAoR1BJT19QVUxMRU4xX1NFVCsoMHgxMCooX25vKSkpICAKKyAgICNkZWZpbmUgIEdQSU9fUFVMTFNFTF9TRVQoX25vKSAgKEdQSU9fUFVMTFNFTDFfU0VUKygweDEwKihfbm8pKSkgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgI2RlZmluZSAJR1BJT19ESVIxX0NMUiAgICAgICAoR1BJT19iYXNlKzB4MDAwMCsweDA4KSAgICAgICAgIAorICAgI2RlZmluZSAJR1BJT19ESVIyX0NMUiAgIAkgIChHUElPX2Jhc2UrMHgwMDEwKzB4MDgpICAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX0RJUjNfQ0xSICAgICAgIChHUElPX2Jhc2UrMHgwMDIwKzB4MDgpICAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX0RJUjRfQ0xSICAgICAgIChHUElPX2Jhc2UrMHgwMDMwKzB4MDgpICAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX0RJUjVfQ0xSICAgICAgIChHUElPX2Jhc2UrMHgwMDQwKzB4MDgpICAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX1BVTExFTjFfQ0xSICAgIChHUElPX2Jhc2UrMHgwMTAwKzB4MDgpICAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX1BVTExFTjJfQ0xSICAgIChHUElPX2Jhc2UrMHgwMTEwKzB4MDgpICAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX1BVTExFTjNfQ0xSICAgIChHUElPX2Jhc2UrMHgwMTIwKzB4MDgpICAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX1BVTExFTjRfQ0xSICAgIChHUElPX2Jhc2UrMHgwMTMwKzB4MDgpICAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX1BVTExFTjVfQ0xSICAgIChHUElPX2Jhc2UrMHgwMTQwKzB4MDgpICAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX1BVTExTRUwxX0NMUiAgIChHUElPX2Jhc2UrMHgwMjAwKzB4MDgpICAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX1BVTExTRUwyX0NMUiAgIChHUElPX2Jhc2UrMHgwMjEwKzB4MDgpICAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX1BVTExTRUwzX0NMUiAgIChHUElPX2Jhc2UrMHgwMjIwKzB4MDgpICAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX1BVTExTRUw0X0NMUiAgIChHUElPX2Jhc2UrMHgwMjMwKzB4MDgpICAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX1BVTExTRUw1X0NMUiAgIChHUElPX2Jhc2UrMHgwMjQwKzB4MDgpICAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX0RPVVQxX0NMUiAgICAgIChHUElPX2Jhc2UrMHgwNDAwKzB4MDgpICAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX0RPVVQyX0NMUiAgICAgIChHUElPX2Jhc2UrMHgwNDEwKzB4MDgpICAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX0RPVVQzX0NMUiAgICAgIChHUElPX2Jhc2UrMHgwNDIwKzB4MDgpICAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX0RPVVQ0X0NMUiAgICAgIChHUElPX2Jhc2UrMHgwNDMwKzB4MDgpICAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX0RPVVQ1X0NMUiAgICAgIChHUElPX2Jhc2UrMHgwNDQwKzB4MDgpICAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX01PREUxX0NMUiAgICAgIChHUElPX2Jhc2UrMHgwNjAwKzB4MDgpICAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX01PREUyX0NMUiAgICAgIChHUElPX2Jhc2UrMHgwNjEwKzB4MDgpICAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX01PREUzX0NMUiAgICAgIChHUElPX2Jhc2UrMHgwNjIwKzB4MDgpICAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX01PREU0X0NMUiAgICAgIChHUElPX2Jhc2UrMHgwNjMwKzB4MDgpICAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX01PREU1X0NMUiAgICAgIChHUElPX2Jhc2UrMHgwNjQwKzB4MDgpICAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX01PREU2X0NMUiAgICAgIChHUElPX2Jhc2UrMHgwNjUwKzB4MDgpICAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX01PREU3X0NMUiAgICAgIChHUElPX2Jhc2UrMHgwNjYwKzB4MDgpICAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX01PREU4X0NMUiAgICAgIChHUElPX2Jhc2UrMHgwNjcwKzB4MDgpICAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX01PREU5X0NMUiAgICAgIChHUElPX2Jhc2UrMHgwNjgwKzB4MDgpICAgICAgICAgCisgICAjZGVmaW5lICBHUElPX01PREVfQ0xSKF9ubykgIChHUElPX01PREUxX0NMUisoMHgxMCooX25vKSkpCisgICAjZGVmaW5lICBHUElPX0RJUl9DTFIoX25vKSAgIChHUElPX0RJUjFfQ0xSKygweDEwKihfbm8pKSkKKyAgICNkZWZpbmUgIEdQSU9fRE9VVF9DTFIoX25vKSAgKEdQSU9fRE9VVDFfQ0xSKygweDEwKihfbm8pKSkKKyAgICNkZWZpbmUgIEdQSU9fUFVMTEVOX0NMUihfbm8pICAoR1BJT19QVUxMRU4xX0NMUisoMHgxMCooX25vKSkpICAKKyAgICNkZWZpbmUgIEdQSU9fUFVMTFNFTF9DTFIoX25vKSAgKEdQSU9fUFVMTFNFTDFfQ0xSKygweDEwKihfbm8pKSkgIAorICAgCisgICAjZGVmaW5lICBHUElPX01PREUoX25vKSAgICAgIChHUElPX01PREUxKygweDEwKihfbm8pKSkgCisgICAjZGVmaW5lICBHUElPX0RPVVQoX25vKSAgICAgIChHUElPX0RPVVQxKygweDEwKihfbm8pKSkKKyAgICNkZWZpbmUgIEdQSU9fRElSKF9ubykgICAgICAgKEdQSU9fRElSMSsoMHgxMCooX25vKSkpCisgICAjZGVmaW5lICBHUElPX0RJTihfbm8pICAgICAgIChHUElPX0RJTjErKDB4MTAqKF9ubykpKQorICAgI2RlZmluZSAgR1BJT19QVUxMRU4oX25vKSAgICAoR1BJT19QVUxMRU4xKygweDEwKihfbm8pKSkKKyAgICNkZWZpbmUgIEdQSU9fUFVMTFNFTChfbm8pICAgKEdQSU9fUFVMTFNFTDErKDB4MTAqKF9ubykpKQorICAgI2RlZmluZSAgQ0xLT19NT0RFKF9ubykgICAgICAoQ0xLT19NT0RFMCsoMHgxMCooX25vKSkpICAKKyAgICNkZWZpbmUgIENMS09fTlVNICAgICAgICAgICAgNgorI2VuZGlmICAgLypkZWZpbmVkKERSVl9HUElPX1JFR19BU182MjM2KSovCisKKyNpZiBkZWZpbmVkKERSVl9HUElPX1JFR19BU182MjU1KQorICAgI2RlZmluZSAJR1BJT19ESVIxICAgICAgIAkoR1BJT19iYXNlKzB4MDAwMCkKKyAgICNkZWZpbmUgCUdQSU9fRElSMiAgIAkgICAoR1BJT19iYXNlKzB4MDAxMCkKKyAgICNkZWZpbmUgCUdQSU9fRElSMyAgICAgICAgIChHUElPX2Jhc2UrMHgwMDIwKQorICAgI2RlZmluZSAJR1BJT19ESVI0ICAgICAgICAgKEdQSU9fYmFzZSsweDAwMzApCisgICAjZGVmaW5lIAlHUElPX0RJUjUgICAgICAgICAoR1BJT19iYXNlKzB4MDA0MCkgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fRElSNiAgICAgICAgIChHUElPX2Jhc2UrMHgwMDUwKSAgICAgIAorICAgI2RlZmluZSAJR1BJT19ESVI3ICAgICAgICAoR1BJT19iYXNlKzB4MDA2MCkgICAgCisgICAjZGVmaW5lIAlHUElPX1BVTExFTjEgICAgCShHUElPX2Jhc2UrMHgwMTAwKQorICAgI2RlZmluZSAJR1BJT19QVUxMRU4yICAgIAkoR1BJT19iYXNlKzB4MDExMCkKKyAgICNkZWZpbmUgCUdQSU9fUFVMTEVOMyAgIAkoR1BJT19iYXNlKzB4MDEyMCkKKyAgICNkZWZpbmUgCUdQSU9fUFVMTEVONCAgICAgIChHUElPX2Jhc2UrMHgwMTMwKQorICAgI2RlZmluZSAJR1BJT19QVUxMRU41ICAgICAgKEdQSU9fYmFzZSsweDAxNDApICAgCisgICAjZGVmaW5lIAlHUElPX1BVTExFTjYgICAgICAoR1BJT19iYXNlKzB4MDE1MCkgICAKKyAgICNkZWZpbmUgCUdQSU9fUFVMTEVONyAgICAgIChHUElPX2Jhc2UrMHgwMTYwKQorICAgI2RlZmluZSAJR1BJT19QVUxMU0VMMSAgICAJKEdQSU9fYmFzZSsweDAyMDApCisgICAjZGVmaW5lIAlHUElPX1BVTExTRUwyICAgIAkoR1BJT19iYXNlKzB4MDIxMCkKKyAgICNkZWZpbmUgCUdQSU9fUFVMTFNFTDMgICAJKEdQSU9fYmFzZSsweDAyMjApCisgICAjZGVmaW5lIAlHUElPX1BVTExTRUw0ICAgICAoR1BJT19iYXNlKzB4MDIzMCkKKyAgICNkZWZpbmUgCUdQSU9fUFVMTFNFTDUgICAgIChHUElPX2Jhc2UrMHgwMjQwKSAgIAorICAgI2RlZmluZSAJR1BJT19QVUxMU0VMNiAgICAgKEdQSU9fYmFzZSsweDAyNTApICAgCisgICAjZGVmaW5lIAlHUElPX1BVTExTRUw3ICAgIChHUElPX2Jhc2UrMHgwMjYwKSAKKyAgICNkZWZpbmUgCUdQSU9fRElOVjEgICAgICAJKEdQSU9fYmFzZSsweDAzMDApCisgICAjZGVmaW5lIAlHUElPX0RJTlYyICAgICAgCShHUElPX2Jhc2UrMHgwMzEwKQorICAgI2RlZmluZSAJR1BJT19ESU5WMyAgICAgIAkoR1BJT19iYXNlKzB4MDMyMCkKKyAgICNkZWZpbmUgCUdQSU9fRElOVjQgICAgICAJKEdQSU9fYmFzZSsweDAzMzApCisgICAjZGVmaW5lIAlHUElPX0RJTlY1ICAgICAgCShHUElPX2Jhc2UrMHgwMzQwKSAgIAorICAgI2RlZmluZSAJR1BJT19ESU5WNiAgICAgIAkoR1BJT19iYXNlKzB4MDM1MCkgICAKKyAgICNkZWZpbmUgCUdQSU9fRElOVjcgICAgIAkoR1BJT19iYXNlKzB4MDM2MCkKKyAgICNkZWZpbmUgCUdQSU9fRE9VVDEgICAgICAJKEdQSU9fYmFzZSsweDA0MDApCisgICAjZGVmaW5lIAlHUElPX0RPVVQyICAgICAgCShHUElPX2Jhc2UrMHgwNDEwKQorICAgI2RlZmluZSAJR1BJT19ET1VUMyAgICAgIAkoR1BJT19iYXNlKzB4MDQyMCkKKyAgICNkZWZpbmUgCUdQSU9fRE9VVDQgICAgICAJKEdQSU9fYmFzZSsweDA0MzApCisgICAjZGVmaW5lIAlHUElPX0RPVVQ1ICAgICAgCShHUElPX2Jhc2UrMHgwNDQwKSAgIAorICAgI2RlZmluZSAJR1BJT19ET1VUNiAgICAgIAkoR1BJT19iYXNlKzB4MDQ1MCkgICAKKyAgICNkZWZpbmUgCUdQSU9fRE9VVDcgICAgICAJKEdQSU9fYmFzZSsweDA0NjApCisgICAjZGVmaW5lIAlHUElPX0RJTjEgICAgICAgCShHUElPX2Jhc2UrMHgwNTAwKQorICAgI2RlZmluZSAJR1BJT19ESU4yICAgICAgIAkoR1BJT19iYXNlKzB4MDUxMCkKKyAgICNkZWZpbmUgCUdQSU9fRElOMyAgICAgICAJKEdQSU9fYmFzZSsweDA1MjApCisgICAjZGVmaW5lIAlHUElPX0RJTjQgICAgICAgCShHUElPX2Jhc2UrMHgwNTMwKQorICAgI2RlZmluZSAJR1BJT19ESU41ICAgICAgIAkoR1BJT19iYXNlKzB4MDU0MCkgICAKKyAgICNkZWZpbmUgCUdQSU9fRElONiAgICAgICAJKEdQSU9fYmFzZSsweDA1NTApICAgCisgICAjZGVmaW5lIAlHUElPX0RJTjcgICAgICAJICAgIChHUElPX2Jhc2UrMHgwNTYwKSAKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTEgICAgICAgCShHUElPX2Jhc2UrMHgwNjAwKQorICAgI2RlZmluZSAJR1BJT19NT0RFMiAgICAgICAJKEdQSU9fYmFzZSsweDA2MTApCisgICAjZGVmaW5lIAlHUElPX01PREUzICAgICAgIAkoR1BJT19iYXNlKzB4MDYyMCkgICAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTQgICAgICAgCShHUElPX2Jhc2UrMHgwNjMwKSAgICAgICAgIAorICAgI2RlZmluZSAJR1BJT19NT0RFNSAgICAgICAJKEdQSU9fYmFzZSsweDA2NDApICAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX01PREU2ICAgICAgIAkoR1BJT19iYXNlKzB4MDY1MCkgICAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTcgICAgICAgCShHUElPX2Jhc2UrMHgwNjYwKQorICAgI2RlZmluZSAJR1BJT19NT0RFOCAgICAgICAJKEdQSU9fYmFzZSsweDA2NzApCisgICAjZGVmaW5lIAlHUElPX01PREU5ICAgICAgIAkoR1BJT19iYXNlKzB4MDY4MCkKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTEwICAgICAgCShHUElPX2Jhc2UrMHgwNjkwKQorICAgI2RlZmluZSAJR1BJT19NT0RFMTEgICAgICAJKEdQSU9fYmFzZSsweDA2QTApCisgICAjZGVmaW5lIAlHUElPX01PREUxMiAgICAgIAkoR1BJT19iYXNlKzB4MDZCMCkKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTEzICAgICAgCShHUElPX2Jhc2UrMHgwNkMwKQorICAgI2RlZmluZSAJR1BJT19NT0RFMTQgICAgICAJKEdQSU9fYmFzZSsweDA2RDApCisgICAjZGVmaW5lIAlHUElPX01PREUxNSAgICAgIAkoR1BJT19iYXNlKzB4MDZFMCkKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTE2ICAgICAgCShHUElPX2Jhc2UrMHgwNkYwKQorICAgI2RlZmluZSAJR1BJT19NT0RFMTcgICAgICAJKEdQSU9fYmFzZSsweDA3MDApCisgICAjZGVmaW5lIAlHUElPX01PREUxOCAgICAgIAkoR1BJT19iYXNlKzB4MDcxMCkKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTE5ICAgICAgCShHUElPX2Jhc2UrMHgwNzIwKQorICAgI2RlZmluZSAJR1BJT19NT0RFMjAgICAgICAJKEdQSU9fYmFzZSsweDA3MzApCisgICAjZGVmaW5lIAlHUElPX01PREUyMSAgICAgIAkoR1BJT19iYXNlKzB4MDc0MCkKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTIyICAgICAgCShHUElPX2Jhc2UrMHgwNzUwKQorICAgI2RlZmluZSAJR1BJT19NT0RFMjMgICAgICAJKEdQSU9fYmFzZSsweDA3NjApCisgICAjZGVmaW5lIAlHUElPX01PREUyNCAgICAgIAkoR1BJT19iYXNlKzB4MDc3MCkKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTI1ICAgICAgCShHUElPX2Jhc2UrMHgwNzgwKQorI2RlZmluZSAJR1BJT19NT0RFMjYgICAgICAJKEdQSU9fYmFzZSsweDA3OTApCisjZGVmaW5lIAlHUElPX01PREUyNyAgICAgCShHUElPX2Jhc2UrMHgwN0EwKQorICAgI2RlZmluZSAgQ0xLT19NT0RFMCAgICAgIAkoR1BJT19iYXNlKzB4MDkwMCkKKyAgICNkZWZpbmUgIENMS09fTU9ERTEgICAgICAJKEdQSU9fYmFzZSsweDA5MTApICAgCisgICAjZGVmaW5lICBDTEtPX01PREUyICAgICAgCShHUElPX2Jhc2UrMHgwOTIwKSAgIAorICAgI2RlZmluZSAgQ0xLT19NT0RFMyAgICAgIAkoR1BJT19iYXNlKzB4MDkzMCkgICAKKyAgICNkZWZpbmUgIENMS09fTU9ERTQgICAgICAJKEdQSU9fYmFzZSsweDA5NDApICAgCisgICAjZGVmaW5lICBDTEtPX01PREU1ICAgICAgCShHUElPX2Jhc2UrMHgwOTUwKSAgIAorICAgI2RlZmluZSAgQ0xLT19NT0RFNiAgICAgIAkoR1BJT19iYXNlKzB4MDk2MCkgICAKKyAgICNkZWZpbmUgIENMS09fTU9ERTcgICAgICAJKEdQSU9fYmFzZSsweDA5NzApICAgCisgICAjZGVmaW5lICBDTEtPX01PREU4ICAgICAgCShHUElPX2Jhc2UrMHgwOTgwKSAgIAorICAgCisgICAjZGVmaW5lICBHUElPX0RJTlZfQURSUyhuKQkoR1BJT19ESU5WMSsweDEwKihuKSkgIAorICAgCisgICAjZGVmaW5lIAlHUElPX0RJUjFfU0VUICAgICAgIChHUElPX0RJUjErMHgwNCkgICAgCisgICAjZGVmaW5lIAlHUElPX1BVTExFTjFfU0VUICAgIChHUElPX1BVTExFTjErMHgwNCkgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fUFVMTFNFTDFfU0VUICAgKEdQSU9fUFVMTFNFTDErMHgwNCkgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fRE9VVDFfU0VUICAgICAgKEdQSU9fRE9VVDErMHgwNCkgICAgCisgICAjZGVmaW5lIAlHUElPX01PREUxX1NFVCAgICAgIChHUElPX01PREUxKzB4MDQpICAgICAgICAKKyAgICNkZWZpbmUgIEdQSU9fTU9ERV9TRVQoX25vKSAgKEdQSU9fTU9ERTFfU0VUKygweDEwKihfbm8pKSkKKyAgICNkZWZpbmUgIEdQSU9fRElSX1NFVChfbm8pICAgKEdQSU9fRElSMV9TRVQrKDB4MTAqKF9ubykpKSAgCisgICAjZGVmaW5lICBHUElPX0RPVVRfU0VUKF9ubykgIChHUElPX0RPVVQxX1NFVCsoMHgxMCooX25vKSkpICAKKyAgICNkZWZpbmUgIEdQSU9fUFVMTEVOX1NFVChfbm8pICAoR1BJT19QVUxMRU4xX1NFVCsoMHgxMCooX25vKSkpICAKKyAgICNkZWZpbmUgIEdQSU9fUFVMTFNFTF9TRVQoX25vKSAgKEdQSU9fUFVMTFNFTDFfU0VUKygweDEwKihfbm8pKSkgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgI2RlZmluZSAJR1BJT19ESVIxX0NMUiAgICAgICAoR1BJT19ESVIxKzB4MDgpICAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX1BVTExFTjFfQ0xSICAgIChHUElPX1BVTExFTjErMHgwOCkgICAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fUFVMTFNFTDFfQ0xSICAgKEdQSU9fUFVMTFNFTDErMHgwOCkgICAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fRE9VVDFfQ0xSICAgICAgKEdQSU9fRE9VVDErMHgwOCkgICAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTFfQ0xSICAgICAgKEdQSU9fTU9ERTErMHgwOCkgICAgICAgICAKKyAgICNkZWZpbmUgIEdQSU9fTU9ERV9DTFIoX25vKSAgKEdQSU9fTU9ERTFfQ0xSKygweDEwKihfbm8pKSkKKyAgICNkZWZpbmUgIEdQSU9fRElSX0NMUihfbm8pICAgKEdQSU9fRElSMV9DTFIrKDB4MTAqKF9ubykpKQorICAgI2RlZmluZSAgR1BJT19ET1VUX0NMUihfbm8pICAoR1BJT19ET1VUMV9DTFIrKDB4MTAqKF9ubykpKQorICAgI2RlZmluZSAgR1BJT19QVUxMRU5fQ0xSKF9ubykgIChHUElPX1BVTExFTjFfQ0xSKygweDEwKihfbm8pKSkgIAorICAgI2RlZmluZSAgR1BJT19QVUxMU0VMX0NMUihfbm8pICAoR1BJT19QVUxMU0VMMV9DTFIrKDB4MTAqKF9ubykpKSAgCisgICAKKyAgICNkZWZpbmUgIEdQSU9fTU9ERShfbm8pICAgICAgKEdQSU9fTU9ERTErKDB4MTAqKF9ubykpKSAKKyAgICNkZWZpbmUgIEdQSU9fRE9VVChfbm8pICAgICAgKEdQSU9fRE9VVDErKDB4MTAqKF9ubykpKQorICAgI2RlZmluZSAgR1BJT19ESVIoX25vKSAgICAgICAoR1BJT19ESVIxKygweDEwKihfbm8pKSkKKyAgICNkZWZpbmUgIEdQSU9fRElOKF9ubykgICAgICAgKEdQSU9fRElOMSsoMHgxMCooX25vKSkpCisgICAjZGVmaW5lICBHUElPX1BVTExFTihfbm8pICAgIChHUElPX1BVTExFTjErKDB4MTAqKF9ubykpKQorICAgI2RlZmluZSAgR1BJT19QVUxMU0VMKF9ubykgICAoR1BJT19QVUxMU0VMMSsoMHgxMCooX25vKSkpCisgICAjZGVmaW5lICBDTEtPX01PREUoX25vKSAgICAgIChDTEtPX01PREUwKygweDEwKihfbm8pKSkgIAorICAgI2RlZmluZSAgQ0xLT19OVU0gICAgICAgICAgICA5CisjZW5kaWYgICAvKmRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyNTUpKi8KKworI2lmIGRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyNTEpCisgICAjZGVmaW5lIAlHUElPX0RJUjEgICAgICAgCShHUElPX2Jhc2UrMHgwMDAwKQorICAgI2RlZmluZSAJR1BJT19ESVIyICAgCSAgIChHUElPX2Jhc2UrMHgwMDEwKQorICAgI2RlZmluZSAJR1BJT19ESVIzICAgICAgICAgKEdQSU9fYmFzZSsweDAwMjApCisgICAjZGVmaW5lIAlHUElPX1BVTExFTjEgICAgCShHUElPX2Jhc2UrMHgwMDUwKQorICAgI2RlZmluZSAJR1BJT19QVUxMRU4yICAgIAkoR1BJT19iYXNlKzB4MDA2MCkKKyAgICNkZWZpbmUgCUdQSU9fUFVMTEVOMyAgIAkoR1BJT19iYXNlKzB4MDA3MCkKKyAgICNkZWZpbmUgCUdQSU9fUFVMTFNFTDEgICAgCShHUElPX2Jhc2UrMHgwMjQwKQorICAgI2RlZmluZSAJR1BJT19QVUxMU0VMMiAgICAJKEdQSU9fYmFzZSsweDAyNTApCisgICAjZGVmaW5lIAlHUElPX1BVTExTRUwzICAgCShHUElPX2Jhc2UrMHgwMjYwKQorICAgI2RlZmluZSAJR1BJT19ESU5WMSAgICAgIAkoR1BJT19iYXNlKzB4MDBBMCkKKyAgICNkZWZpbmUgCUdQSU9fRElOVjIgICAgICAJKEdQSU9fYmFzZSsweDAwQjApCisgICAvLyNkZWZpbmUgCUdQSU9fRElOVjMgICAgICAJKEdQSU9fYmFzZSsweDAwQzApCisgICAjZGVmaW5lIAlHUElPX0RPVVQxICAgICAgCShHUElPX2Jhc2UrMHgwMEYwKQorICAgI2RlZmluZSAJR1BJT19ET1VUMiAgICAgIAkoR1BJT19iYXNlKzB4MDEwMCkKKyAgICNkZWZpbmUgCUdQSU9fRE9VVDMgICAgICAJKEdQSU9fYmFzZSsweDAxMTApCisgICAjZGVmaW5lIAlHUElPX0RJTjEgICAgICAgCShHUElPX2Jhc2UrMHgwMTQwKQorICAgI2RlZmluZSAJR1BJT19ESU4yICAgICAgIAkoR1BJT19iYXNlKzB4MDE1MCkKKyAgIC8vI2RlZmluZSAJR1BJT19ESU4zICAgICAgIAkoR1BJT19iYXNlKzB4MDE2MCkKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTEgICAgICAgCShHUElPX2Jhc2UrMHgwMTkwKQorICAgI2RlZmluZSAJR1BJT19NT0RFMiAgICAgICAJKEdQSU9fYmFzZSsweDAxQTApCisgICAjZGVmaW5lIAlHUElPX01PREUzICAgICAgIAkoR1BJT19iYXNlKzB4MDFCMCkgICAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTQgICAgICAgCShHUElPX2Jhc2UrMHgwMUMwKSAgICAgICAgIAorICAgI2RlZmluZSAJR1BJT19NT0RFNSAgICAgICAJKEdQSU9fYmFzZSsweDAxRDApICAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX01PREU2ICAgICAgIAkoR1BJT19iYXNlKzB4MDFFMCkgICAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTcgICAgICAgCShHUElPX2Jhc2UrMHgwMUYwKQorICAgI2RlZmluZSAJR1BJT19NT0RFOCAgICAgICAJKEdQSU9fYmFzZSsweDAyMDApCisgICAjZGVmaW5lICBDTEtPX01PREUwICAgICAgCShHUElPX2Jhc2UrMHgwMzAwKQorICAgI2RlZmluZSAgQ0xLT19NT0RFMSAgICAgIAkoR1BJT19iYXNlKzB4MDMxMCkgICAKKyAgICNkZWZpbmUgIENMS09fTU9ERTIgICAgICAJKEdQSU9fYmFzZSsweDAzMjApICAgCisgICAjZGVmaW5lICBDTEtPX01PREUzICAgICAgCShHUElPX2Jhc2UrMHgwMzMwKSAgIAorICAgI2RlZmluZSAgR1BJT19ESU5WX0FEUlMobikJKEdQSU9fRElOVjErMHgxMCoobikpICAKKyAgIAorICAgI2RlZmluZSAJR1BJT19ESVIxX1NFVCAgICAgICAoR1BJT19ESVIxKzB4MDQpICAgIAorICAgI2RlZmluZSAJR1BJT19QVUxMRU4xX1NFVCAgICAoR1BJT19QVUxMRU4xKzB4MDQpICAgICAgCisgICAjZGVmaW5lIAlHUElPX1BVTExTRUwxX1NFVCAgIChHUElPX1BVTExTRUwxKzB4MDQpICAgICAgCisgICAjZGVmaW5lIAlHUElPX0RPVVQxX1NFVCAgICAgIChHUElPX0RPVVQxKzB4MDQpICAgIAorICAgI2RlZmluZSAJR1BJT19NT0RFMV9TRVQgICAgICAoR1BJT19NT0RFMSsweDA0KSAgICAgICAgCisgICAjZGVmaW5lICBHUElPX01PREVfU0VUKF9ubykgIChHUElPX01PREUxX1NFVCsoMHgxMCooX25vKSkpCisgICAjZGVmaW5lICBHUElPX0RJUl9TRVQoX25vKSAgIChHUElPX0RJUjFfU0VUKygweDEwKihfbm8pKSkgIAorICAgI2RlZmluZSAgR1BJT19ET1VUX1NFVChfbm8pICAoR1BJT19ET1VUMV9TRVQrKDB4MTAqKF9ubykpKSAgCisgICAjZGVmaW5lICBHUElPX1BVTExFTl9TRVQoX25vKSAgKEdQSU9fUFVMTEVOMV9TRVQrKDB4MTAqKF9ubykpKSAgCisgICAjZGVmaW5lICBHUElPX1BVTExTRUxfU0VUKF9ubykgIChHUElPX1BVTExTRUwxX1NFVCsoMHgxMCooX25vKSkpICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fRElSMV9DTFIgICAgICAgKEdQSU9fRElSMSsweDA4KSAgICAgICAgIAorICAgI2RlZmluZSAJR1BJT19QVUxMRU4xX0NMUiAgICAoR1BJT19QVUxMRU4xKzB4MDgpICAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX1BVTExTRUwxX0NMUiAgIChHUElPX1BVTExTRUwxKzB4MDgpICAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX0RPVVQxX0NMUiAgICAgIChHUElPX0RPVVQxKzB4MDgpICAgICAgICAgCisgICAjZGVmaW5lIAlHUElPX01PREUxX0NMUiAgICAgIChHUElPX01PREUxKzB4MDgpICAgICAgICAgCisgICAjZGVmaW5lICBHUElPX01PREVfQ0xSKF9ubykgIChHUElPX01PREUxX0NMUisoMHgxMCooX25vKSkpCisgICAjZGVmaW5lICBHUElPX0RJUl9DTFIoX25vKSAgIChHUElPX0RJUjFfQ0xSKygweDEwKihfbm8pKSkKKyAgICNkZWZpbmUgIEdQSU9fRE9VVF9DTFIoX25vKSAgKEdQSU9fRE9VVDFfQ0xSKygweDEwKihfbm8pKSkKKyAgICNkZWZpbmUgIEdQSU9fUFVMTEVOX0NMUihfbm8pICAoR1BJT19QVUxMRU4xX0NMUisoMHgxMCooX25vKSkpICAKKyAgICNkZWZpbmUgIEdQSU9fUFVMTFNFTF9DTFIoX25vKSAgKEdQSU9fUFVMTFNFTDFfQ0xSKygweDEwKihfbm8pKSkgIAorICAgCisgICAjZGVmaW5lICBHUElPX01PREUoX25vKSAgICAgIChHUElPX01PREUxKygweDEwKihfbm8pKSkgCisgICAjZGVmaW5lICBHUElPX0RPVVQoX25vKSAgICAgIChHUElPX0RPVVQxKygweDEwKihfbm8pKSkKKyAgICNkZWZpbmUgIEdQSU9fRElSKF9ubykgICAgICAgKEdQSU9fRElSMSsoMHgxMCooX25vKSkpCisgICAjZGVmaW5lICBHUElPX0RJTihfbm8pICAgICAgIChHUElPX0RJTjErKDB4MTAqKF9ubykpKQorICAgI2RlZmluZSAgR1BJT19QVUxMRU4oX25vKSAgICAoR1BJT19QVUxMRU4xKygweDEwKihfbm8pKSkKKyAgICNkZWZpbmUgIEdQSU9fUFVMTFNFTChfbm8pICAgKEdQSU9fUFVMTFNFTDErKDB4MTAqKF9ubykpKQorICAgI2RlZmluZSAgQ0xLT19NT0RFKF9ubykgICAgICAoQ0xLT19NT0RFMCsoMHgxMCooX25vKSkpICAKKyAgICNkZWZpbmUgIENMS09fTlVNICAgICAgICAgICA0CisjZW5kaWYgICAvKmRlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyNTEpKi8KKworICNpZiBkZWZpbmVkKE1UNjI3Nl9TMDEpCisgI2RlZmluZSBDTEtfTVVYX1NFTDAgKENPTkZJR19iYXNlKzB4MDUzOCkKKyAjZGVmaW5lIENMS19NVVhfU0VMMSAoQ09ORklHX2Jhc2UrMHgwNTNDKQorICNlbmRpZgorCisjaWYgZGVmaW5lZChEUlZfR1BJT19SRUdfQVNfNjI1NikKKyAgICNkZWZpbmUgCUdQSU9fRElSMSAgICAgICAJKEdQSU9fYmFzZSsweDAwMDApCisgICAjZGVmaW5lIAlHUElPX0RJUjIgICAJICAgKEdQSU9fYmFzZSsweDAwMTApCisgICAjZGVmaW5lIAlHUElPX0RJUjMgICAgICAgICAoR1BJT19iYXNlKzB4MDAyMCkKKyAgICNkZWZpbmUgCUdQSU9fRElSNCAgICAgICAgIChHUElPX2Jhc2UrMHgwMDMwKQorICAgI2RlZmluZSAJR1BJT19ESVI1ICAgICAgICAgKEdQSU9fYmFzZSsweDAwNDApCisgICAjZGVmaW5lIAlHUElPX0RJUjYgICAgICAgICAoR1BJT19iYXNlKzB4MDA1MCkKKyAgICNkZWZpbmUgIEdQSU9fRElSNwkJCShHUElPX2Jhc2UrMHgwMDYwKQorICAgCisgICAjZGVmaW5lIAlHUElPX1BVTExFTjEgICAgCShHUElPX2Jhc2UrMHgwMTAwKQorICAgI2RlZmluZSAJR1BJT19QVUxMRU4yICAgIAkoR1BJT19iYXNlKzB4MDExMCkKKyAgICNkZWZpbmUgCUdQSU9fUFVMTEVOMyAgIAkoR1BJT19iYXNlKzB4MDEyMCkKKyAgICNkZWZpbmUgCUdQSU9fUFVMTEVONCAgICAgIChHUElPX2Jhc2UrMHgwMTMwKQorICAgI2RlZmluZSAJR1BJT19QVUxMRU41ICAgICAgKEdQSU9fYmFzZSsweDAxNDApCisgICAjZGVmaW5lIAlHUElPX1BVTExFTjYgICAgICAoR1BJT19iYXNlKzB4MDE1MCkKKyAgICNkZWZpbmUgCUdQSU9fUFVMTEVONyAgICAgIChHUElPX2Jhc2UrMHgwMTYwKQorICAgCisgICAjZGVmaW5lIAlHUElPX1BVTExTRUwxICAgIAkoR1BJT19iYXNlKzB4MDIwMCkKKyAgICNkZWZpbmUgCUdQSU9fUFVMTFNFTDIgICAgCShHUElPX2Jhc2UrMHgwMjEwKQorICAgI2RlZmluZSAJR1BJT19QVUxMU0VMMyAgIAkoR1BJT19iYXNlKzB4MDIyMCkKKyAgICNkZWZpbmUgCUdQSU9fUFVMTFNFTDQgICAgIChHUElPX2Jhc2UrMHgwMjMwKQorICAgI2RlZmluZSAJR1BJT19QVUxMU0VMNSAgICAgKEdQSU9fYmFzZSsweDAyNDApCisgICAjZGVmaW5lIAlHUElPX1BVTExTRUw2ICAgICAoR1BJT19iYXNlKzB4MDI1MCkKKyAgICNkZWZpbmUgCUdQSU9fUFVMTFNFTDcgICAgIChHUElPX2Jhc2UrMHgwMjYwKQorICAgCisgICAjZGVmaW5lIAlHUElPX0RJTlYxICAgICAgCShHUElPX2Jhc2UrMHgwMzAwKQorICAgI2RlZmluZSAJR1BJT19ESU5WMiAgICAgIAkoR1BJT19iYXNlKzB4MDMxMCkKKyAgICNkZWZpbmUgCUdQSU9fRElOVjMgICAgICAJKEdQSU9fYmFzZSsweDAzMjApCisgICAjZGVmaW5lIAlHUElPX0RJTlY0ICAgICAgCShHUElPX2Jhc2UrMHgwMzMwKQorICAgI2RlZmluZSAJR1BJT19ESU5WNSAgICAgIAkoR1BJT19iYXNlKzB4MDM0MCkKKyAgICNkZWZpbmUgCUdQSU9fRElOVjYgICAgICAJKEdQSU9fYmFzZSsweDAzNTApCisgICAjZGVmaW5lIAlHUElPX0RJTlY3ICAgICAgCShHUElPX2Jhc2UrMHgwMzYwKSAgIAorICAgCisgICAjZGVmaW5lIAlHUElPX0RPVVQxICAgICAgCShHUElPX2Jhc2UrMHgwNDAwKQorICAgI2RlZmluZSAJR1BJT19ET1VUMiAgICAgIAkoR1BJT19iYXNlKzB4MDQxMCkKKyAgICNkZWZpbmUgCUdQSU9fRE9VVDMgICAgICAJKEdQSU9fYmFzZSsweDA0MjApCisgICAjZGVmaW5lIAlHUElPX0RPVVQ0ICAgICAgCShHUElPX2Jhc2UrMHgwNDMwKQorICAgI2RlZmluZSAJR1BJT19ET1VUNSAgICAgIAkoR1BJT19iYXNlKzB4MDQ0MCkKKyAgICNkZWZpbmUgCUdQSU9fRE9VVDYgICAgICAJKEdQSU9fYmFzZSsweDA0NTApCisgICAjZGVmaW5lIAlHUElPX0RPVVQ3ICAgICAgCShHUElPX2Jhc2UrMHgwNDYwKQorICAgCisgICAjZGVmaW5lIAlHUElPX0RJTjEgICAgICAgCShHUElPX2Jhc2UrMHgwNTAwKQorICAgI2RlZmluZSAJR1BJT19ESU4yICAgICAgIAkoR1BJT19iYXNlKzB4MDUxMCkKKyAgICNkZWZpbmUgCUdQSU9fRElOMyAgICAgICAJKEdQSU9fYmFzZSsweDA1MjApCisgICAjZGVmaW5lIAlHUElPX0RJTjQgICAgICAgCShHUElPX2Jhc2UrMHgwNTMwKQorICAgI2RlZmluZSAJR1BJT19ESU41ICAgICAgIAkoR1BJT19iYXNlKzB4MDU0MCkKKyAgICNkZWZpbmUgCUdQSU9fRElONiAgICAgICAJKEdQSU9fYmFzZSsweDA1NTApCisgICAjZGVmaW5lIAlHUElPX0RJTjcgICAgICAgCShHUElPX2Jhc2UrMHgwNTYwKSAgIAorICAgCisgICAjZGVmaW5lIAlHUElPX01PREUxICAgICAgIAkoR1BJT19iYXNlKzB4MDYwMCkKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTIgICAgICAgCShHUElPX2Jhc2UrMHgwNjEwKQorICAgI2RlZmluZSAJR1BJT19NT0RFMyAgICAgICAJKEdQSU9fYmFzZSsweDA2MjApCisgICAjZGVmaW5lIAlHUElPX01PREU0ICAgICAgIAkoR1BJT19iYXNlKzB4MDYzMCkKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTUgICAgICAgCShHUElPX2Jhc2UrMHgwNjQwKQorICAgI2RlZmluZSAJR1BJT19NT0RFNiAgICAgICAJKEdQSU9fYmFzZSsweDA2NTApCisgICAjZGVmaW5lIAlHUElPX01PREU3ICAgICAgIAkoR1BJT19iYXNlKzB4MDY2MCkKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTggICAgICAgCShHUElPX2Jhc2UrMHgwNjcwKQorICAgI2RlZmluZSAJR1BJT19NT0RFOSAgICAgICAJKEdQSU9fYmFzZSsweDA2ODApCisgICAjZGVmaW5lIAlHUElPX01PREUxMCAgICAgIAkoR1BJT19iYXNlKzB4MDY5MCkKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTExICAgICAgCShHUElPX2Jhc2UrMHgwNkEwKQorICAgI2RlZmluZSAJR1BJT19NT0RFMTIgICAgICAJKEdQSU9fYmFzZSsweDA2QjApCisgICAjZGVmaW5lIAlHUElPX01PREUxMyAgICAgIAkoR1BJT19iYXNlKzB4MDZDMCkKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTE0ICAgICAgCShHUElPX2Jhc2UrMHgwNkQwKQorICAgI2RlZmluZSAJR1BJT19NT0RFMTUgICAgICAJKEdQSU9fYmFzZSsweDA2RTApCisgICAjZGVmaW5lIAlHUElPX01PREUxNiAgICAgIAkoR1BJT19iYXNlKzB4MDZGMCkKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTE3ICAgICAgCShHUElPX2Jhc2UrMHgwNzAwKQorICAgI2RlZmluZSAJR1BJT19NT0RFMTggICAgICAJKEdQSU9fYmFzZSsweDA3MTApCisgICAjZGVmaW5lIAlHUElPX01PREUxOSAgICAgIAkoR1BJT19iYXNlKzB4MDcyMCkKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTIwICAgICAgCShHUElPX2Jhc2UrMHgwNzMwKQorICAgI2RlZmluZSAJR1BJT19NT0RFMjEgICAgICAJKEdQSU9fYmFzZSsweDA3NDApCisgICAjZGVmaW5lIAlHUElPX01PREUyMiAgICAgIAkoR1BJT19iYXNlKzB4MDc1MCkKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTIzICAgICAgCShHUElPX2Jhc2UrMHgwNzYwKQorICAgI2RlZmluZSAJR1BJT19NT0RFMjQgICAgICAJKEdQSU9fYmFzZSsweDA3NzApCisgICAjZGVmaW5lIAlHUElPX01PREUyNSAgICAgIAkoR1BJT19iYXNlKzB4MDc4MCkKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTI2ICAgICAgCShHUElPX2Jhc2UrMHgwNzkwKQorICAgI2RlZmluZSAJR1BJT19NT0RFMjcgICAgICAJKEdQSU9fYmFzZSsweDA3QTApCisgICAgICAgICAKKyAgICNkZWZpbmUgIENMS09fTU9ERTAgICAgICAJKEdQSU9fYmFzZSsweDA5MDApCisgICAjZGVmaW5lICBDTEtPX01PREUxICAgICAgCShHUElPX2Jhc2UrMHgwOTEwKQorICAgI2RlZmluZSAgQ0xLT19NT0RFMiAgICAgIAkoR1BJT19iYXNlKzB4MDkyMCkKKyAgICNkZWZpbmUgIENMS09fTU9ERTMgICAgICAJKEdQSU9fYmFzZSsweDA5MzApCisgICAjZGVmaW5lICBDTEtPX01PREU0ICAgICAgCShHUElPX2Jhc2UrMHgwOTQwKQorICAgI2RlZmluZSAgQ0xLT19NT0RFNSAgICAgIAkoR1BJT19iYXNlKzB4MDk1MCkKKyAgICNkZWZpbmUgIENMS09fTU9ERTYgICAgICAJKEdQSU9fYmFzZSsweDA5NjApCisKKyAgICNkZWZpbmUgCUdQSU9fRElSMV9TRVQgICAgICAgCSAoR1BJT19ESVIxKzB4MDQpCisgICAjZGVmaW5lIAlHUElPX1BVTExFTjFfU0VUICAgIAkgKEdQSU9fUFVMTEVOMSsweDA0KQorICAgI2RlZmluZSAJR1BJT19QVUxMU0VMMV9TRVQgICAJIChHUElPX1BVTExTRUwxKzB4MDQpCisgICAjZGVmaW5lIAlHUElPX0RPVVQxX1NFVCAgICAgIAkgKEdQSU9fRE9VVDErMHgwNCkKKyAgICNkZWZpbmUgCUdQSU9fTU9ERTFfU0VUICAgICAgCSAoR1BJT19NT0RFMSsweDA0KQorICAgI2RlZmluZSAgR1BJT19ESU5WX0FEUlMobikJICAJIChHUElPX0RJTlYxKzB4MTAqKG4pKQorICAgI2RlZmluZSAgR1BJT19NT0RFX1NFVChfbm8pICAJIChHUElPX01PREUxX1NFVCsoMHgxMCooX25vKSkpCisgICAjZGVmaW5lICBHUElPX0RJUl9TRVQoX25vKSAgIAkgKEdQSU9fRElSMV9TRVQrKDB4MTAqKF9ubykpKQorICAgI2RlZmluZSAgR1BJT19ET1VUX1NFVChfbm8pICAJIChHUElPX0RPVVQxX1NFVCsoMHgxMCooX25vKSkpCisgICAjZGVmaW5lICBHUElPX1BVTExFTl9TRVQoX25vKSAgKEdQSU9fUFVMTEVOMV9TRVQrKDB4MTAqKF9ubykpKQorICAgI2RlZmluZSAgR1BJT19QVUxMU0VMX1NFVChfbm8pIChHUElPX1BVTExTRUwxX1NFVCsoMHgxMCooX25vKSkpCisgICAKKyAgICNkZWZpbmUgCUdQSU9fRElSMV9DTFIgICAgICAgCSAoR1BJT19ESVIxKzB4MDgpCisgICAjZGVmaW5lIAlHUElPX1BVTExFTjFfQ0xSICAgIAkgKEdQSU9fUFVMTEVOMSsweDA4KQorICAgI2RlZmluZSAJR1BJT19QVUxMU0VMMV9DTFIgICAJIChHUElPX1BVTExTRUwxKzB4MDgpCisgICAjZGVmaW5lIAlHUElPX0RPVVQxX0NMUiAgICAgCSAoR1BJT19ET1VUMSsweDA4KQorICAgI2RlZmluZSAJR1BJT19NT0RFMV9DTFIgICAgICAJIChHUElPX01PREUxKzB4MDgpICAgIAorICAgI2RlZmluZSAgR1BJT19NT0RFX0NMUihfbm8pICAJIChHUElPX01PREUxX0NMUisoMHgxMCooX25vKSkpCisgICAjZGVmaW5lICBHUElPX0RJUl9DTFIoX25vKSAgIAkgKEdQSU9fRElSMV9DTFIrKDB4MTAqKF9ubykpKQorICAgI2RlZmluZSAgR1BJT19ET1VUX0NMUihfbm8pICAJIChHUElPX0RPVVQxX0NMUisoMHgxMCooX25vKSkpCisgICAjZGVmaW5lICBHUElPX1BVTExFTl9DTFIoX25vKSAgKEdQSU9fUFVMTEVOMV9DTFIrKDB4MTAqKF9ubykpKSAgCisgICAjZGVmaW5lICBHUElPX1BVTExTRUxfQ0xSKF9ubykgKEdQSU9fUFVMTFNFTDFfQ0xSKygweDEwKihfbm8pKSkgIAorICAgCisgICAjZGVmaW5lICBHUElPX01PREUoX25vKSAgICAgIAkoR1BJT19NT0RFMSsoMHgxMCooX25vKSkpIAorICAgI2RlZmluZSAgR1BJT19ET1VUKF9ubykgICAgICAJKEdQSU9fRE9VVDErKDB4MTAqKF9ubykpKQorICAgI2RlZmluZSAgR1BJT19ESVIoX25vKSAgICAgICAJKEdQSU9fRElSMSsoMHgxMCooX25vKSkpCisgICAjZGVmaW5lICBHUElPX0RJTihfbm8pICAgICAgIAkoR1BJT19ESU4xKygweDEwKihfbm8pKSkKKyAgICNkZWZpbmUgIEdQSU9fUFVMTEVOKF9ubykgICAgCShHUElPX1BVTExFTjErKDB4MTAqKF9ubykpKQorICAgI2RlZmluZSAgR1BJT19QVUxMU0VMKF9ubykgICAJKEdQSU9fUFVMTFNFTDErKDB4MTAqKF9ubykpKQorICAgI2RlZmluZSAgQ0xLT19NT0RFKF9ubykgICAgICAJKENMS09fTU9ERTArKDB4MTAqKF9ubykpKSAgCisgICAjZGVmaW5lICBDTEtPX05VTSAgICAgICAgICAgICAgNgorI2VuZGlmICAgLypkZWZpbmVkKERSVl9HUElPX1JFR19BU182MjU2KSovCisKKyNpZiBkZWZpbmVkKERSVl9HUElPX1JFR19BU182MjgwKQorCisjZGVmaW5lICBHUElPX0RJUjEJCQkoR1BJT19iYXNlKzB4MDAwMCkKKyNkZWZpbmUgIEdQSU9fRElSMgkJCShHUElPX2Jhc2UrMHgwMDQwKQorI2RlZmluZSAgR1BJT19ESVIzCQkgICAoR1BJT19iYXNlKzB4MDA4MCkKKyNkZWZpbmUgIEdQSU9fRElSNAkJICAgKEdQSU9fYmFzZSsweDAwYzApCisjZGVmaW5lICBHUElPX0RJUjUJCSAgIChHUElPX2Jhc2UrMHgwMTAwKSAKKyNkZWZpbmUgIEdQSU9fRElSNgkJICAgKEdQSU9fYmFzZSsweDAxNDApICAKKyNkZWZpbmUgIEdQSU9fRElSNwkJICAgKEdQSU9fYmFzZSsweDAxODApIAorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjZGVmaW5lICAgIEdQSU9fUFVMTEVOMQkJIChHUElPX2Jhc2UrMHgwMjAwKQorI2RlZmluZSAgICBHUElPX1BVTExFTjIJCSAoR1BJT19iYXNlKzB4MDI0MCkKKyNkZWZpbmUgICAgR1BJT19QVUxMRU4zCSAgKEdQSU9fYmFzZSsweDAyODApCisjZGVmaW5lICAgIEdQSU9fUFVMTEVONAkJKEdQSU9fYmFzZSsweDAyYzApCisjZGVmaW5lICAgIEdQSU9fUFVMTEVONQkJKEdQSU9fYmFzZSsweDAzMDApCQorI2RlZmluZSAJR1BJT19QVUxMRU42ICAgICAgKEdQSU9fYmFzZSsweDAzNDApIAorI2RlZmluZSAgICBHUElPX1BVTExFTjcgCSAoR1BJT19iYXNlKzB4MDM4MCkKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2RlZmluZSAgR1BJT19QVUxMU0VMMQkJIChHUElPX2Jhc2UrMHgwNDAwKQorI2RlZmluZSAgR1BJT19QVUxMU0VMMgkJIChHUElPX2Jhc2UrMHgwNDQwKQorI2RlZmluZSAgR1BJT19QVUxMU0VMMwkJIChHUElPX2Jhc2UrMHgwNDgwKQorI2RlZmluZSAgR1BJT19QVUxMU0VMNAkgICAoR1BJT19iYXNlKzB4MDRjMCkKKyNkZWZpbmUgIEdQSU9fUFVMTFNFTDUJICAgKEdQSU9fYmFzZSsweDA1MDApIAorI2RlZmluZSAgR1BJT19QVUxMU0VMNiAgICAgKEdQSU9fYmFzZSsweDA1NDApIAorI2RlZmluZSAgR1BJT19QVUxMU0VMNwkgICAoR1BJT19iYXNlKzB4MDU4MCkKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgIEdQSU9fRElOVjEgCQkgKEdQSU9fYmFzZSsweDA2MDApCisjZGVmaW5lICBHUElPX0RJTlYyIAkJIChHUElPX2Jhc2UrMHgwNjQwKQorI2RlZmluZSAgR1BJT19ESU5WMyAJCSAoR1BJT19iYXNlKzB4MDY4MCkKKyNkZWZpbmUgIEdQSU9fRElOVjQgCQkgKEdQSU9fYmFzZSsweDA2YzApCisjZGVmaW5lICBHUElPX0RJTlY1IAkJIChHUElPX2Jhc2UrMHgwNzAwKSAKKyNkZWZpbmUgIEdQSU9fRElOVjYJCSAgIChHUElPX2Jhc2UrMHgwNzQwKQorI2RlZmluZSAgR1BJT19ESU5WNwkJICAoR1BJT19iYXNlKzB4MDc4MCkgCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgR1BJT19ET1VUMSAJCSAoR1BJT19iYXNlKzB4MDgwMCkKKyNkZWZpbmUgIEdQSU9fRE9VVDIgCQkgKEdQSU9fYmFzZSsweDA4NDApCisjZGVmaW5lICBHUElPX0RPVVQzIAkJIChHUElPX2Jhc2UrMHgwODgwKQorI2RlZmluZSAgR1BJT19ET1VUNCAJCSAoR1BJT19iYXNlKzB4MDhjMCkKKyNkZWZpbmUgIEdQSU9fRE9VVDUgCQkgKEdQSU9fYmFzZSsweDA5MDApCisjZGVmaW5lICAgR1BJT19ET1VUNgkJICAoR1BJT19iYXNlKzB4MDk0MCkgIAorI2RlZmluZSAgIEdQSU9fRE9VVDcgICAgICAJKEdQSU9fYmFzZSsweDA5ODApIAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgIEdQSU9fRElOMQkJCSAoR1BJT19iYXNlKzB4MGEwMCkKKyNkZWZpbmUgIEdQSU9fRElOMgkJCSAoR1BJT19iYXNlKzB4MGE0MCkKKyNkZWZpbmUgIEdQSU9fRElOMwkJCSAoR1BJT19iYXNlKzB4MGE4MCkKKyNkZWZpbmUgIEdQSU9fRElONAkJCSAoR1BJT19iYXNlKzB4MGFjMCkKKyNkZWZpbmUgIEdQSU9fRElONQkJCSAoR1BJT19iYXNlKzB4MGIwMCkKKyNkZWZpbmUgIEdQSU9fRElONgkJICAgKEdQSU9fYmFzZSsweDBiNDApICAKKyNkZWZpbmUgIEdQSU9fRElONyAJCSAgKEdQSU9fYmFzZSsweDBiODApICAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisgI2RlZmluZSBHUElPX01PREUwCQkJICAoR1BJT19iYXNlKzB4MTAwMCkKKyAjZGVmaW5lIEdQSU9fTU9ERTEgCQkgIChHUElPX2Jhc2UrMHgxMTAwKQorICNkZWZpbmUgR1BJT19NT0RFMiAJCSAgKEdQSU9fYmFzZSsweDEyMDApCisgI2RlZmluZSBHUElPX01PREUzIAkJICAoR1BJT19iYXNlKzB4MTMwMCkKKyAjZGVmaW5lIEdQSU9fTU9ERTQgCQkgIChHUElPX2Jhc2UrMHgxNDAwKQorICNkZWZpbmUgR1BJT19NT0RFNSAJCSAgKEdQSU9fYmFzZSsweDE1MDApCisgI2RlZmluZSBHUElPX01PREU2IAkJICAoR1BJT19iYXNlKzB4MTYwMCkKKyAjZGVmaW5lIEdQSU9fTU9ERTcgCQkgIChHUElPX2Jhc2UrMHgxNzAwKQorICNkZWZpbmUgR1BJT19NT0RFOCAJCSAgKEdQSU9fYmFzZSsweDE4MDApCisgI2RlZmluZSBHUElPX01PREU5IAkJICAoR1BJT19iYXNlKzB4MTkwMCkKKyAjZGVmaW5lIEdQSU9fTU9ERTEwIAkJICAoR1BJT19iYXNlKzB4MUEwMCkKKyAjZGVmaW5lIEdQSU9fTU9ERTExIAkJICAoR1BJT19iYXNlKzB4MUIwMCkKKyAjZGVmaW5lIEdQSU9fTU9ERTEyCQkgIChHUElPX2Jhc2UrMHgxQzAwKQorICNkZWZpbmUgR1BJT19NT0RFMTMJCSAgKEdQSU9fYmFzZSsweDFEMDApCisgI2RlZmluZSBHUElPX01PREUxNAkJICAoR1BJT19iYXNlKzB4MUUwMCkKKyAjZGVmaW5lIEdQSU9fTU9ERTE1IAkJICAoR1BJT19iYXNlKzB4MUYwMCkKKyAjZGVmaW5lIEdQSU9fTU9ERTE2CQkgIChHUElPX2Jhc2UrMHgyMDAwKQorICNkZWZpbmUgR1BJT19NT0RFMTcJCSAgKEdQSU9fYmFzZSsweDIxMDApCisgI2RlZmluZSBHUElPX01PREUxOAkJICAoR1BJT19iYXNlKzB4MjIwMCkKKyAjZGVmaW5lIEdQSU9fTU9ERTE5CQkgIChHUElPX2Jhc2UrMHgyMzAwKQorICNkZWZpbmUgR1BJT19NT0RFMjAJCSAgKEdQSU9fYmFzZSsweDI0MDApCisgI2RlZmluZSBHUElPX01PREUyMQkJICAoR1BJT19iYXNlKzB4MjUwMCkKKyAjZGVmaW5lIEdQSU9fTU9ERTIyCQkgIChHUElPX2Jhc2UrMHgyNjAwKQorICNkZWZpbmUgR1BJT19NT0RFMjMJCSAgKEdQSU9fYmFzZSsweDI3MDApCisgI2RlZmluZSBHUElPX01PREUyNAkJICAoR1BJT19iYXNlKzB4MjgwMCkKKyAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgR1BJT19PVEhFUiAgICAgICAgICAoR1BJT19iYXNlKzB4NWMwMCkKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgIENMS09fTU9ERTEgCSAoR1BJT19iYXNlKzB4NzAwMCkKKyNkZWZpbmUgIENMS09fTU9ERTIgCSAoR1BJT19iYXNlKzB4NzEwMCkgICAKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworCisKKyNkZWZpbmUgIEdQSU9fRElOVl9BRFJTKG4pCShHUElPX0RJTlYxKzB4NDAqKG4pKSAgCisJCisgICAjZGVmaW5lIAlHUElPX0RJUjFfU0VUICAgICAgIChHUElPX0RJUjErMHgwNCkgICAgCisgICAjZGVmaW5lIAlHUElPX1BVTExFTjFfU0VUICAgIChHUElPX1BVTExFTjErMHgwNCkgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fUFVMTFNFTDFfU0VUICAgKEdQSU9fUFVMTFNFTDErMHgwNCkgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fRE9VVDFfU0VUICAgICAgKEdQSU9fRE9VVDErMHgwNCkgICAgCisgICAjZGVmaW5lIAlHUElPX01PREUxX1NFVCAgICAgIChHUElPX01PREUwKzB4MDQpICAgICAgICAKKyAgICNkZWZpbmUgIEdQSU9fTU9ERV9TRVQoX25vKSAgKEdQSU9fTU9ERTFfU0VUKygweDEwMCooX25vKSkpCisgICAjZGVmaW5lICBHUElPX0RJUl9TRVQoX25vKSAgIChHUElPX0RJUjFfU0VUKygweDQwKihfbm8pKSkgIAorICAgI2RlZmluZSAgR1BJT19ET1VUX1NFVChfbm8pICAoR1BJT19ET1VUMV9TRVQrKDB4NDAqKF9ubykpKSAgCisgICAjZGVmaW5lICBHUElPX1BVTExFTl9TRVQoX25vKSAgKEdQSU9fUFVMTEVOMV9TRVQrKDB4NDAqKF9ubykpKSAgCisgICAjZGVmaW5lICBHUElPX1BVTExTRUxfU0VUKF9ubykgIChHUElPX1BVTExTRUwxX1NFVCsoMHg0MCooX25vKSkpICAKKwkjZGVmaW5lICBHUElPX09USEVSX1NFVCAgICAgIChHUElPX09USEVSKzB4MDQpCisJCisgICAjZGVmaW5lIAlHUElPX0RJUjFfQ0xSICAgICAgIChHUElPX0RJUjErMHgwOCkgICAgICAgICAKKyAgICNkZWZpbmUgCUdQSU9fUFVMTEVOMV9DTFIgICAgKEdQSU9fUFVMTEVOMSsweDA4KSAgICAgICAgIAorICAgI2RlZmluZSAJR1BJT19QVUxMU0VMMV9DTFIgICAoR1BJT19QVUxMU0VMMSsweDA4KSAgICAgICAgIAorICAgI2RlZmluZSAJR1BJT19ET1VUMV9DTFIgICAgICAoR1BJT19ET1VUMSsweDA4KSAgICAgICAgIAorICAgI2RlZmluZSAJR1BJT19NT0RFMV9DTFIgICAgICAoR1BJT19NT0RFMCsweDA4KSAgICAgICAgIAorICAgI2RlZmluZSAgR1BJT19NT0RFX0NMUihfbm8pICAoR1BJT19NT0RFMV9DTFIrKDB4MTAwKihfbm8pKSkKKyAgICNkZWZpbmUgIEdQSU9fRElSX0NMUihfbm8pICAgKEdQSU9fRElSMV9DTFIrKDB4NDAqKF9ubykpKQorICAgI2RlZmluZSAgR1BJT19ET1VUX0NMUihfbm8pICAoR1BJT19ET1VUMV9DTFIrKDB4NDAqKF9ubykpKQorICAgI2RlZmluZSAgR1BJT19QVUxMRU5fQ0xSKF9ubykgIChHUElPX1BVTExFTjFfQ0xSKygweDQwKihfbm8pKSkgIAorICAgI2RlZmluZSAgR1BJT19QVUxMU0VMX0NMUihfbm8pICAoR1BJT19QVUxMU0VMMV9DTFIrKDB4NDAqKF9ubykpKSAgCisJI2RlZmluZSAgR1BJT19PVEhFUl9DTFIgICAgICAoR1BJT19PVEhFUisweDA4KQorCisJCisgICAjZGVmaW5lICBHUElPX01PREUoX25vKSAgICAgIChHUElPX01PREUwKygweDEwMCooX25vKSkpIAorICAgI2RlZmluZSAgR1BJT19ET1VUKF9ubykgICAgICAoR1BJT19ET1VUMSsoMHg0MCooX25vKSkpCisgICAjZGVmaW5lICBHUElPX0RJUihfbm8pICAgICAgIChHUElPX0RJUjErKDB4NDAqKF9ubykpKQorICAgI2RlZmluZSAgR1BJT19ESU4oX25vKSAgICAgICAoR1BJT19ESU4xKygweDQwKihfbm8pKSkKKyAgICNkZWZpbmUgIEdQSU9fUFVMTEVOKF9ubykgICAgKEdQSU9fUFVMTEVOMSsoMHg0MCooX25vKSkpCisgICAjZGVmaW5lICBHUElPX1BVTExTRUwoX25vKSAgIChHUElPX1BVTExTRUwxKygweDQwKihfbm8pKSkgCisgCisKKyAgICNkZWZpbmUgIENMS09fTU9ERShfbm8pICAgICAgKENMS09fTU9ERTErKDB4MTAwKihfbm8pKSkgIAorICAgI2RlZmluZSAgQ0xLT19OVU0gICAgICAgICAgICAyCisKKyNlbmRpZiAvL2RlZmluZWQoRFJWX0dQSU9fUkVHX0FTXzYyODApCisKKworCisKKyNlbmRpZiAvKiFkZWZpbmVkKERSVl9HUElPX09GRikqLworI2VuZGlmICAgLypfR1BJT19IV19IKi8KKwpkaWZmIC0tZ2l0IGEvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9ncHRfaHcuaCBiL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvZ3B0X2h3LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTdkODU5ZAotLS0gL2Rldi9udWxsCisrKyBiL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvZ3B0X2h3LmgKQEAgLTAsMCArMSwxOTYgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAwNQorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLiAKKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGaWxlbmFtZToKKyAqIC0tLS0tLS0tLQorICogICAgZ3B0X2h3LmgKKyAqCisgKiBQcm9qZWN0OgorICogLS0tLS0tLS0KKyAqICAgTWF1aV9Tb2Z0d2FyZQorICoKKyAqIERlc2NyaXB0aW9uOgorICogLS0tLS0tLS0tLS0tCisgKiAgIFRoaXMgZmlsZSBpcyBpbnRlbmRzIGZvciBHUFQgZHJpdmVyLgorICoKKyAqIEF1dGhvcjoKKyAqIC0tLS0tLS0KKyAqIC0tLS0tLS0KKyAqCisgKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqICAgICAgICAgICAgIEhJU1RPUlkKKyAqIEJlbG93IHRoaXMgbGluZSwgdGhpcyBwYXJ0IGlzIGNvbnRyb2xsZWQgYnkgUFZDUyBWTS4gRE8gTk9UIE1PRElGWSEhCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiBVcHBlciB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZm5kZWYgR1BUX0hXX0gKKyNkZWZpbmUgR1BUX0hXX0gKKyNpbmNsdWRlICJkcnZfZmVhdHVyZXNfZ3B0LmgiCisjaW5jbHVkZSAicmVnX2Jhc2UuaCIKKyNpZiAhZGVmaW5lZChEUlZfR1BUX09GRikKKworLy9NTVAgYWRkcmVzcworLy8jZGVmaW5lCQlHUFRfYmFzZQkJMHg4MDEwMDAwMAorI2RlZmluZQkJR1BUMV9DVFJMCQkgICAoR1BUX2Jhc2UrMHgwMCkKKyNkZWZpbmUJCUdQVDFfTEVOCQkgICAgICAoR1BUX2Jhc2UrMHgwNCkKKyNkZWZpbmUJCUdQVDJfQ1RSTAkJICAgKEdQVF9iYXNlKzB4MDgpCisjZGVmaW5lCQlHUFQyX0xFTgkJICAgICAgKEdQVF9iYXNlKzB4MGMpCisjZGVmaW5lCQlHUFRfU1RTCQkJICAgKEdQVF9iYXNlKzB4MTApCisjZGVmaW5lCQlHUFQxX1BSRVNDQUxFUgkJKEdQVF9iYXNlKzB4MTQpCisjZGVmaW5lCQlHUFQyX1BSRVNDQUxFUgkJKEdQVF9iYXNlKzB4MTgpCisjaWYgZGVmaW5lZChEUlZfR1BUX0dQVDMpCisjZGVmaW5lCQlHUFQzX0NUUkwJCSAgIChHUFRfYmFzZSsweDFjKQorI2RlZmluZQkJR1BUM19MRU4gCQkgICAoR1BUX2Jhc2UrMHgyMCkKKyNkZWZpbmUgICAgIEdQVDNfUFJFU0NBTEVSICAgIChHUFRfYmFzZSsweDI0KQorI2VuZGlmCisjaWYgZGVmaW5lZChEUlZfR1BUX0dQVDQpCisjZGVmaW5lCQlHUFQ0X0NUUkwJCSAgIChHUFRfYmFzZSsweDI4KQorI2RlZmluZQkJR1BUNF9MRU4gCQkgICAoR1BUX2Jhc2UrMHgyYykKKyNlbmRpZgorI2VuZGlmICAgLyojaWYgIWRlZmluZWQoRFJWX0dQVF9PRkYpKi8KKworLy9HUFRfQ1RSTAkKKyNkZWZpbmUgCUdQVF9DVFJMX0FVVE9NT0RFCSAgICAgICAgIDB4NDAwMAorI2RlZmluZSAJR1BUX0NUUkxfRW5hYmxlCSAgICAgICAgIDB4ODAwMAorI2RlZmluZSAJR1BUX0NUUkxfRGlzYWJsZQkgICAgICAgICAweDAwMDAKKyNkZWZpbmUgIEdQVDNfRU5BQkxFICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSAgR1BUNF9FTkFCTEUgICAgICAgICAgICAgICAgMHgxCisjZGVmaW5lCSBHUFQ0X0xPQ0tFRAkJICAgIDB4MDIKKy8vR1BUX1NUUworI2RlZmluZSAJR1BUX1NUU18xCQkgICAgICAgICAgICAweDAwMDEKKyNkZWZpbmUgCUdQVF9TVFNfMgkJICAgICAgICAgICAgMHgwMDAyCisKKworLy9HUFRfUFJFU0NBTEVSCisjZGVmaW5lCQlHUFRfUFJFU0NBTEVSX2RpdjIJMHgwMDAwCisjZGVmaW5lCQlHUFRfUFJFU0NBTEVSX2RpdjQJMHgwMDAxCisjZGVmaW5lCQlHUFRfUFJFU0NBTEVSX2RpdjgJMHgwMDAyCisjZGVmaW5lCQlHUFRfUFJFU0NBTEVSX2RpdjE2CTB4MDAwMworI2RlZmluZQkJR1BUX1BSRVNDQUxFUl9kaXYzMgkweDAwMDQKKyNkZWZpbmUJCUdQVF9QUkVTQ0FMRVJfZGl2NjQJMHgwMDA1CisjZGVmaW5lCQlHUFRfUFJFU0NBTEVSX2RpdjEyOAkweDAwMDYKKyNkZWZpbmUJCUdQVF9QUkVTQ0FMRVJfZGl2MjU2CTB4MDAwNworCisjZW5kaWYgICAvKkdQVF9IV19IKi8KKwpkaWZmIC0tZ2l0IGEvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9ncHRfc3cuaCBiL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvZ3B0X3N3LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmRkYjBlNgotLS0gL2Rldi9udWxsCisrKyBiL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvZ3B0X3N3LmgKQEAgLTAsMCArMSwyNzQgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAwNQorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLiAKKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGaWxlbmFtZToKKyAqIC0tLS0tLS0tLQorICogICAgZ3B0X3N3LmgKKyAqCisgKiBQcm9qZWN0OgorICogLS0tLS0tLS0KKyAqICAgTWF1aV9Tb2Z0d2FyZQorICoKKyAqIERlc2NyaXB0aW9uOgorICogLS0tLS0tLS0tLS0tCisgKiAgIFRoaXMgZmlsZSBpcyBpbnRlbmRzIGZvciBHUFQgZHJpdmVyLgorICoKKyAqIEF1dGhvcjoKKyAqIC0tLS0tLS0KKyAqIC0tLS0tLS0KKyAqCisgKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqICAgICAgICAgICAgIEhJU1RPUlkKKyAqIEJlbG93IHRoaXMgbGluZSwgdGhpcyBwYXJ0IGlzIGNvbnRyb2xsZWQgYnkgUFZDUyBWTS4gRE8gTk9UIE1PRElGWSEhCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiBVcHBlciB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZm5kZWYgR1BUX1NXX0gKKyNkZWZpbmUgR1BUX1NXX0gKKyNpbmNsdWRlICJrYWxfZ2VuZXJhbF90eXBlcy5oIgorI2lmIDAKKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKyNlbmRpZiAKKyNpZiAwCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisjaWYgZGVmaW5lZChEUlZfR1BUX0dQVDMpCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisjZW5kaWYKKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKyNlbmRpZgorI2lmIDAKKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKyNpZiBkZWZpbmVkKF9fRFJWX0NPTU1fUkVHX0RCR19fKSAmJiBkZWZpbmVkKF9fRFJWX0dQVF9SRUdfREJHX18pCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisjZWxzZQorLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworI2VuZGlmIC8vI2lmIGRlZmluZWQoX19EUlZfQ09NTV9SRUdfREJHX18pICYmIGRlZmluZWQoX19EUlZfR1BUX1JFR19EQkdfXykKKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKyNlbmRpZgorCisjZW5kaWYKZGlmZiAtLWdpdCBhL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvaGlmX3YyX2ludGVybmFsLmggYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL2hpZl92Ml9pbnRlcm5hbC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkzOGZiNTEKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL2hpZl92Ml9pbnRlcm5hbC5oCkBAIC0wLDAgKzEsMTk1IEBACisjaWZuZGVmIF9fSElGX1YyX0lOVEVSTkFMX0hfXworI2RlZmluZSBfX0hJRl9WMl9JTlRFUk5BTF9IX18KKworLy8jaW5jbHVkZSAiZHJ2X2ZlYXR1cmVzLmgiCisvLyNpbmNsdWRlICJrYWxfcmVsZWFzZS5oIgorI2luY2x1ZGUgInJlZ19iYXNlLmgiCisjaWYgZGVmaW5lZChEUlZfSElGX1NVUFBPUlQpICYmIGRlZmluZWQoRFJWX0hJRl9WMikKKworCisvLyNkZWZpbmUgSElGMF9iYXNlICAgMHg4MTE4MDAwMAorCisvLyBEZWZhdWx0OiBISUYwIGlzIGNvbm5lY3RlZCB0byBMUENFMS4gSElGMSBpcyBjb25uZWN0ZWQgdG8gTFBDRTIuCisjZXJyb3IKKworLy9kZWZpbmUgRUNPIHNvbHV0aW9uIGZvciBNVDYyNTZFNCxNVDY1NzVFMiBvciBNVEsgbGF0ZXIgY2hpcHMKKy8vI2lmIChkZWZpbmVkKE1UNjI1Nl9TMDMpIHx8IGRlZmluZWQoTVQ2NTc1X1MwMSkgfHwgZGVmaW5lZChNVDY1NzcpKSAmJiBkZWZpbmVkKF9fQVNUX1RMMV9URERfXykKKy8vI2lmIChkZWZpbmVkKE1UNjI1Nl9TMDMpKSAmJiBkZWZpbmVkKF9fQVNUX1RMMV9URERfXykKKy8vI2RlZmluZSBISUZfRUNPX1NPTFVUSU9OX1NVUFBPUlQKKy8vI2VuZGlmCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiogRGVmaW5lIEhJRiByZWdpc3RlcnMgYW5kIE1hY3JvCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgSElGX01BWF9QT1JUX05VTSA0CisjZGVmaW5lIEhJRl9FTkdJTkVfQ09VTlQgMgorCisjZGVmaW5lIEhJRl9QT1JUX01DVV9BMF9MT1dfQUREUihuKSAgICAgICAgIChISUYwX2Jhc2UrMHgwMzAwK24qYmFzZV9hZGRfaW5jcmVhc2UpCisjZGVmaW5lIEhJRl9QT1JUX01DVV9BMF9ISUdIX0FERFIobikgICAgICAgIChISUYwX2Jhc2UrMHgwMzEwK24qYmFzZV9hZGRfaW5jcmVhc2UpCisjZGVmaW5lIEhJRl9QT1JUX1BETUFfQUREUihuKSAgICAgICAgICAgICAgICAoSElGMF9iYXNlKzB4MDIwMCtuKmJhc2VfYWRkX2luY3JlYXNlKQorCisjZGVmaW5lIEhJRl9USU1JTkdfQ09ORklHX1dSSVRFX1dBSVRfU1RBVEVfTUFTSyAgICAgICAgIDB4M0YKKyNkZWZpbmUgSElGX1RJTUlOR19DT05GSUdfV1JJVEVfU0VUVVBfVElNRV9NQVNLICAgICAgICAgMHhGMDAKKyNkZWZpbmUgSElGX1RJTUlOR19DT05GSUdfV1JJVEVfSE9MRF9USU1FX01BU0sgICAgICAgICAgMHhGMDAwCisjZGVmaW5lIEhJRl9USU1JTkdfQ09ORklHX1JFQURfTEFURU5DWV9USU1FX01BU0sgICAgICAgIDB4M0YwMDAwCisjZGVmaW5lIEhJRl9USU1JTkdfQ09ORklHX1JFQURfU0VUVVBfVElNRV9NQVNLICAgICAgICAgIDB4RjAwMDAwMAorI2RlZmluZSBISUZfVElNSU5HX0NPTkZJR19SRUFEX0hPTERfVElNRV9NQVNLICAgICAgICAgICAweEYwMDAwMDAwCisjZGVmaW5lIEhJRl9USU1JTkdfQ09ORklHX0NIV19NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4RgorI2RlZmluZSBISUZfVElNSU5HX0NPTkZJR19XUklURV9XQUlUX1NUQVRFX09GRlNFVCAgICAgICAwCisjZGVmaW5lIEhJRl9USU1JTkdfQ09ORklHX1dSSVRFX1NFVFVQX1RJTUVfT0ZGU0VUICAgICAgIDgKKyNkZWZpbmUgSElGX1RJTUlOR19DT05GSUdfV1JJVEVfSE9MRF9USU1FX09GRlNFVCAgICAgICAgMTIKKyNkZWZpbmUgSElGX1RJTUlOR19DT05GSUdfUkVBRF9MQVRFTkNZX1RJTUVfT0ZGU0VUICAgICAgMTYKKyNkZWZpbmUgSElGX1RJTUlOR19DT05GSUdfUkVBRF9TRVRVUF9USU1FX09GRlNFVCAgICAgICAgMjQKKyNkZWZpbmUgSElGX1RJTUlOR19DT05GSUdfUkVBRF9IT0xEX1RJTUVfT0ZGU0VUICAgICAgICAgMjgKKyNkZWZpbmUgSElGX1RJTUlOR19DT05GSUdfQ0hXX09GRlNFVCAgICAgICAgICAgICAgICAgICAgMAorCisKKyNkZWZpbmUgSElGX1NUQV9SRUcobikgICAgICAgICAgKEhJRjBfYmFzZStuKmJhc2VfYWRkX2luY3JlYXNlKzB4MCkKKyNkZWZpbmUgSElGX0lOVEVOX1JFRyhuKSAgICAgICAgKEhJRjBfYmFzZStuKmJhc2VfYWRkX2luY3JlYXNlKzB4NCkKKyNkZWZpbmUgSElGX0lOVFNUQV9SRUcobikgICAgICAgKEhJRjBfYmFzZStuKmJhc2VfYWRkX2luY3JlYXNlKzB4OCkKKyNkZWZpbmUgSElGX1NUQVJUX1JFRyhuKSAgICAgICAgKEhJRjBfYmFzZStuKmJhc2VfYWRkX2luY3JlYXNlKzB4QykKKyNkZWZpbmUgSElGX1NXUlNUX1JFRyhuKSAgICAgICAgKEhJRjBfYmFzZStuKmJhc2VfYWRkX2luY3JlYXNlKzB4MTApCisjZGVmaW5lIEhJRl9USU1FMF9SRUcobikgICAgICAgIChISUYwX2Jhc2UrbipiYXNlX2FkZF9pbmNyZWFzZSsweDE0KQorI2RlZmluZSBISUZfVElNRTFfUkVHKG4pICAgICAgICAoSElGMF9iYXNlK24qYmFzZV9hZGRfaW5jcmVhc2UrMHgxOCkKKyNkZWZpbmUgSElGX0NPTl9SRUcobikgICAgICAgICAgKEhJRjBfYmFzZStuKmJhc2VfYWRkX2luY3JlYXNlKzB4MjApCisjZGVmaW5lIEhJRl9EQU1PVU5UX1JFRyhuKSAgICAgIChISUYwX2Jhc2UrbipiYXNlX2FkZF9pbmNyZWFzZSsweDI0KQorLy8jaWYgZGVmaW5lZCAoSElGX0VDT19TT0xVVElPTl9TVVBQT1JUKQorI2RlZmluZSBISUZfQUNTX0FSQl9SRUcobikJCShISUYwX2Jhc2UrbipiYXNlX2FkZF9pbmNyZWFzZSsweDMwKQorCisjZGVmaW5lIFBJRl9CVVNZX01BU0sJCQkweDIKKworI2RlZmluZSBNQ1VfQUNTX1JFUV9PRkZTRVQJCTAKKyNkZWZpbmUgTUNVX0FDU19TVFJfT0ZGU0VUCQkyCisvLyNlbmRpZgorCisjZGVmaW5lIEhJRl9CVVNZX01BU0sgICAgICAgICAgIDB4MDAwMDAwMDEKKyNkZWZpbmUgSElGX0NQTF9NQVNLICAgICAgICAgICAgMHgwMDAwMDAwMQorI2RlZmluZSBISUZfU1RBUlRfTUFTSyAgICAgICAgICAweDAwMDAwMDAxCisjZGVmaW5lIEhJRl9SU1RfTUFTSyAgICAgICAgICAgIDB4MDAwMDAwMDEKKyNkZWZpbmUgSElGX0hJRldfTUFTSyAgICAgICAgICAgMHgwMDAwMDAwMworI2RlZmluZSBISUZfV1JJVEVfTUFTSyAgICAgICAgICAweDAwMDAwMDA0CisjZGVmaW5lIEhJRl9BMF9NQVNLICAgICAgICAgICAgIDB4MDAwMDAwMDgKKyNkZWZpbmUgSElGX1VMVFJBX01BU0sgICAgICAgICAgMHgwMDAwMDAxMAorCisjZGVmaW5lIEhJRl9ISUZXX09GRlNFVCAgICAgICAgIDAKKyNkZWZpbmUgSElGX1dSSVRFX09GRlNFVCAgICAgICAgMgorI2RlZmluZSBISUZfQTBfT0ZGU0VUICAgICAgICAgICAzCisjZGVmaW5lIEhJRl9VTFRSQV9PRkZTRVQgICAgICAgIDQKKworI2RlZmluZSBTRVRfSElGX0NFMldSX1NFVFVQX1RJTUUobiwgdmFsKSAgICAgICAgKCoodm9sYXRpbGUga2FsX3VpbnQzMiopSElGX1RJTUUwX1JFRyhuKSkgJj0gfkhJRl9USU1JTkdfQ09ORklHX1dSSVRFX1NFVFVQX1RJTUVfTUFTSztcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKih2b2xhdGlsZSBrYWxfdWludDMyKilISUZfVElNRTBfUkVHKG4pKSB8PSAodmFsKTw8SElGX1RJTUlOR19DT05GSUdfV1JJVEVfU0VUVVBfVElNRV9PRkZTRVQ7CisjZGVmaW5lIFNFVF9ISUZfQ0UyV1JfSE9MRF9USU1FKG4sIHZhbCkgICAgICAgICAoKih2b2xhdGlsZSBrYWxfdWludDMyKilISUZfVElNRTBfUkVHKG4pKSAmPSB+SElGX1RJTUlOR19DT05GSUdfV1JJVEVfSE9MRF9USU1FX01BU0s7XAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCoodm9sYXRpbGUga2FsX3VpbnQzMiopSElGX1RJTUUwX1JFRyhuKSkgfD0gKHZhbCk8PEhJRl9USU1JTkdfQ09ORklHX1dSSVRFX0hPTERfVElNRV9PRkZTRVQ7CisjZGVmaW5lIFNFVF9ISUZfQ0UyUkRfU0VUVVBfVElNRShuLCB2YWwpICAgICAgICAoKih2b2xhdGlsZSBrYWxfdWludDMyKilISUZfVElNRTBfUkVHKG4pKSAmPSB+SElGX1RJTUlOR19DT05GSUdfUkVBRF9TRVRVUF9USU1FX01BU0s7XAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCoodm9sYXRpbGUga2FsX3VpbnQzMiopSElGX1RJTUUwX1JFRyhuKSkgfD0gKHZhbCk8PEhJRl9USU1JTkdfQ09ORklHX1JFQURfU0VUVVBfVElNRV9PRkZTRVQ7CisjZGVmaW5lIFNFVF9ISUZfQ0UyUkRfSE9MRF9USU1FKG4sIHZhbCkgICAgICAgICAoKih2b2xhdGlsZSBrYWxfdWludDMyKilISUZfVElNRTBfUkVHKG4pKSAmPSB+SElGX1RJTUlOR19DT05GSUdfUkVBRF9IT0xEX1RJTUVfTUFTSztcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKih2b2xhdGlsZSBrYWxfdWludDMyKilISUZfVElNRTBfUkVHKG4pKSB8PSAodmFsKTw8SElGX1RJTUlOR19DT05GSUdfUkVBRF9IT0xEX1RJTUVfT0ZGU0VUOworI2RlZmluZSBTRVRfSElGX1dSSVRFX1dBSVRfU1RBVEUobiwgdmFsKSAgICAgICAgKCoodm9sYXRpbGUga2FsX3VpbnQzMiopSElGX1RJTUUwX1JFRyhuKSkgJj0gfkhJRl9USU1JTkdfQ09ORklHX1dSSVRFX1dBSVRfU1RBVEVfTUFTSztcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKih2b2xhdGlsZSBrYWxfdWludDMyKilISUZfVElNRTBfUkVHKG4pKSB8PSAodmFsKTw8SElGX1RJTUlOR19DT05GSUdfV1JJVEVfV0FJVF9TVEFURV9PRkZTRVQ7CisjZGVmaW5lIFNFVF9ISUZfUkVBRF9MQVRFTkNZX1RJTUUobiwgdmFsKSAgICAgICAoKih2b2xhdGlsZSBrYWxfdWludDMyKilISUZfVElNRTBfUkVHKG4pKSAmPSB+SElGX1RJTUlOR19DT05GSUdfUkVBRF9MQVRFTkNZX1RJTUVfTUFTSztcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKih2b2xhdGlsZSBrYWxfdWludDMyKilISUZfVElNRTBfUkVHKG4pKSB8PSAodmFsKTw8SElGX1RJTUlOR19DT05GSUdfUkVBRF9MQVRFTkNZX1RJTUVfT0ZGU0VUOworI2RlZmluZSBTRVRfSElGX0NTX0hJR0hfV0lEVEhfVElNRShuLCB2YWwpICAgICAgKCoodm9sYXRpbGUga2FsX3VpbnQzMiopSElGX1RJTUUxX1JFRyhuKSkgJj0gfkhJRl9USU1JTkdfQ09ORklHX0NIV19NQVNLO1wKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgqKHZvbGF0aWxlIGthbF91aW50MzIqKUhJRl9USU1FMV9SRUcobikpIHw9ICh2YWwpPDxISUZfVElNSU5HX0NPTkZJR19DSFdfT0ZGU0VUOworI2RlZmluZSBTRVRfSElGX0JVU19XSURUSChuLCB2YWwpICAgICAgICAgICAgICAgKCoodm9sYXRpbGUga2FsX3VpbnQzMiopSElGX0NPTl9SRUcobikpICY9IH5ISUZfSElGV19NQVNLO1wKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgqKHZvbGF0aWxlIGthbF91aW50MzIqKUhJRl9DT05fUkVHKG4pKSB8PSAodmFsLzgtMSk8PEhJRl9ISUZXX09GRlNFVDsKKyNkZWZpbmUgU0VUX0hJRl9XUklURShuKSAgICAgICAgICAgICAgICAgICAgICAgICgqKHZvbGF0aWxlIGthbF91aW50MzIqKUhJRl9DT05fUkVHKG4pKSAmPSB+SElGX1dSSVRFX01BU0s7XAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCoodm9sYXRpbGUga2FsX3VpbnQzMiopSElGX0NPTl9SRUcobikpIHw9IDE8PEhJRl9XUklURV9PRkZTRVQ7CisjZGVmaW5lIFNFVF9ISUZfUkVBRChuKSAgICAgICAgICAgICAgICAgICAgICAgICAoKih2b2xhdGlsZSBrYWxfdWludDMyKilISUZfQ09OX1JFRyhuKSkgJj0gfkhJRl9XUklURV9NQVNLO1wKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgqKHZvbGF0aWxlIGthbF91aW50MzIqKUhJRl9DT05fUkVHKG4pKSB8PSAwPDxISUZfV1JJVEVfT0ZGU0VUOworI2RlZmluZSBTRVRfSElGX0EwX0hJR0gobikgICAgICAgICAgICAgICAgICAgICAgKCoodm9sYXRpbGUga2FsX3VpbnQzMiopSElGX0NPTl9SRUcobikpICY9IH5ISUZfQTBfTUFTSztcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKih2b2xhdGlsZSBrYWxfdWludDMyKilISUZfQ09OX1JFRyhuKSkgfD0gMTw8SElGX0EwX09GRlNFVDsKKyNkZWZpbmUgU0VUX0hJRl9BMF9MT1cobikgICAgICAgICAgICAgICAgICAgICAgICgqKHZvbGF0aWxlIGthbF91aW50MzIqKUhJRl9DT05fUkVHKG4pKSAmPSB+SElGX0EwX01BU0s7XAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCoodm9sYXRpbGUga2FsX3VpbnQzMiopSElGX0NPTl9SRUcobikpIHw9IDA8PEhJRl9BMF9PRkZTRVQ7CisjZGVmaW5lIFNFVF9ISUZfVUxUUkEobiwgdmFsKSAgICAgICAgICAgICAgICAgICAoKih2b2xhdGlsZSBrYWxfdWludDMyKilISUZfQ09OX1JFRyhuKSkgJj0gfkhJRl9VTFRSQV9NQVNLO1wKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgqKHZvbGF0aWxlIGthbF91aW50MzIqKUhJRl9DT05fUkVHKG4pKSB8PSAodmFsKTw8SElGX1VMVFJBX09GRlNFVDsKKyNkZWZpbmUgR0VUX0hJRl9VTFRSQShuKSAgICAgICAgICAgICAgICAgICAgICAgICgoKCoodm9sYXRpbGUga2FsX3VpbnQzMiopSElGX0NPTl9SRUcobikpPj4gSElGX1VMVFJBX09GRlNFVCkgJiAweDEpOwkKKyNkZWZpbmUgU0VUX0hJRl9EQU1PVU5UKG4sIHZhbCkgICAgICAgICAgICAgICAgICgqKHZvbGF0aWxlIGthbF91aW50MzIqKUhJRl9EQU1PVU5UX1JFRyhuKSkgPSAodmFsKSAtIDE7CisKKyNkZWZpbmUgRU5BQkxFX0hJRl9JTlRSKG4pICAgICAgICAgICAgICAgICAgICAgICgqKHZvbGF0aWxlIGthbF91aW50MzIqKUhJRl9JTlRFTl9SRUcobikpID0gMTsKKyNkZWZpbmUgRElTQUJMRV9ISUZfSU5UUihuKSAgICAgICAgICAgICAgICAgICAgICgqKHZvbGF0aWxlIGthbF91aW50MzIqKUhJRl9JTlRFTl9SRUcobikpID0gMDsKKworI2RlZmluZSBTVEFSVF9ISUYobikgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCoodm9sYXRpbGUga2FsX3VpbnQzMiopSElGX1NUQVJUX1JFRyhuKSkgPSAwO1wKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgqKHZvbGF0aWxlIGthbF91aW50MzIqKUhJRl9TVEFSVF9SRUcobikpID0gMTsKKyNkZWZpbmUgSElGX0JVU1kobikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoKih2b2xhdGlsZSBrYWxfdWludDMyKilISUZfU1RBX1JFRyhuKSkgJiBISUZfQlVTWV9NQVNLKQorI2RlZmluZSBISUZfSU5UX0NMRUFSKG4pICAgICAgICAgICAgICAgICAgICAgICAgZG8ge3ZvbGF0aWxlIGthbF91aW50MzIgaGlmX2ludHN0YSA9ICgqKHZvbGF0aWxlIGthbF91aW50MzIqKUhJRl9JTlRTVEFfUkVHKG4pKSk7fSB3aGlsZSgwKTsKKy8vI2lmIGRlZmluZWQgKEhJRl9FQ09fU09MVVRJT05fU1VQUE9SVCkKKyNkZWZpbmUgU0VUX0hJRl9NQ1VfQUNTX1JFUShuKSAgICAgICAgICAgICAgICAgICgqKHZvbGF0aWxlIGthbF91aW50MzIqKUhJRl9BQ1NfQVJCX1JFRyhuKSkgfD0gMTw8TUNVX0FDU19SRVFfT0ZGU0VUCisjZGVmaW5lIFNFVF9ISUZfTUNVX0FDU19TVEEobikgICAgICAgICAgICAgICAgICAoKih2b2xhdGlsZSBrYWxfdWludDMyKilISUZfQUNTX0FSQl9SRUcobikpIHw9IDE8PE1DVV9BQ1NfU1RSX09GRlNFVAorI2RlZmluZSBDTEVBUl9ISUZfTUNVX0FDU19SRVFfU1RBKG4pICAgICAgICAgICAgKCoodm9sYXRpbGUga2FsX3VpbnQzMiopSElGX0FDU19BUkJfUkVHKG4pKSA9IDAKKyNkZWZpbmUgUElGX0JVU1kobikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoKih2b2xhdGlsZSBrYWxfdWludDMyKilISUZfQUNTX0FSQl9SRUcobikpICYgUElGX0JVU1lfTUFTSykKKy8vI2VuZGlmCisKKy8vIHBvd2VyIGdhdGluZyBkZWZpbml0aW9ucworI2Vycm9yCisvLyBFbmQgb2YgcG93ZXIgZ2F0aW5nIGRlZmluaXRpb25zCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiogTkxJIGFyYml0ZXIgZGVmaW5pdGlvbnMKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSBSRUdfTkxJX0FSQl9DUyAgICAgICAgICAgKigodm9sYXRpbGUgdW5zaWduZWQgaW50ICopICAgKE5MSV9BUkJfYmFzZSArIDB4MDAxNCkpCisjZGVmaW5lIFJFR19OTElfQVJCX0NPTlRfR1JBTlQgICAqKCh2b2xhdGlsZSB1bnNpZ25lZCBpbnQgKikgICAoTkxJX0FSQl9iYXNlICsgMHgwMDE4KSkKKyNkZWZpbmUgUkVHX05MSV9BUkJfSEFORE9WRVIgICAgICooKHZvbGF0aWxlIHVuc2lnbmVkIGludCAqKSAgIChOTElfQVJCX2Jhc2UgKyAweDAwMUMpKQorCisKKyNkZWZpbmUgTkxJX0FSQl9DRTBCX1NFTF9PRlMgICAgMAorI2RlZmluZSBOTElfQVJCX0NFMUJfU0VMX09GUyAgICA0CisjZGVmaW5lIE5MSV9BUkJfQ0UyQl9TRUxfT0ZTICAgIDgKKyNkZWZpbmUgTkxJX0FSQl9DRTNCX1NFTF9PRlMgICAgMTIKKyNkZWZpbmUgTkxJX0FSQl9DRUJfU0VMX09GUyhuKSAgKDQgKiBuKQorCisjZGVmaW5lIE5MSV9BUkJfQ0UwQl9TRUxfTUFTSyAgICAweDcKKyNkZWZpbmUgTkxJX0FSQl9DRTFCX1NFTF9NQVNLICAgIDB4NzAKKyNkZWZpbmUgTkxJX0FSQl9DRTJCX1NFTF9NQVNLICAgIDB4NzAwCisjZGVmaW5lIE5MSV9BUkJfQ0UzQl9TRUxfTUFTSyAgICAweDcwMDAKKyNkZWZpbmUgTkxJX0FSQl9DRUJfU0VMX01BU0sobikgICgweDcgPDwgKE5MSV9BUkJfQ0VCX1NFTF9PRlMobikpKQorI2RlZmluZSBOTElfQVJCX1NFVF9MUENFX1NFTChscGNlX251bSwgaGlmX2lkKSBcCit7IFwKKyAgICB2b2xhdGlsZSB1bnNpZ25lZCBpbnQgdGVtcF9SRUdfTkxJX0FSQl9DUzsgXAorICAgIHRlbXBfUkVHX05MSV9BUkJfQ1MgPSBSRUdfTkxJX0FSQl9DUzsgXAorICAgIHRlbXBfUkVHX05MSV9BUkJfQ1MgJj0gKH4oTkxJX0FSQl9DRUJfU0VMX01BU0sobHBjZV9udW0pKSk7IFwKKyAgICB0ZW1wX1JFR19OTElfQVJCX0NTIHw9ICgoaGlmX2lkKzMpIDw8IChOTElfQVJCX0NFQl9TRUxfT0ZTKGxwY2VfbnVtKSkpOyBcCisgICAgUkVHX05MSV9BUkJfQ1MgPSB0ZW1wX1JFR19OTElfQVJCX0NTOyBcCit9CisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiogUERNQSBkZWZpbml0aW9ucworKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lIFBETUFfT0ZTICAgICAgICAgICAgICAgICAweDgwCisvLyBQRE1BIGRlZmluaXRpb25zCisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyoqIFBETUEgQ29udHJvbCBSZWdpc3RlciBNYWNyb3MKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjZGVmaW5lIFBETUFfU0VUX0JVRl9BRERSKGlmX251bSwgdmFsKSAgICBSRUdfUERNQV9ISUZfTUVNX0FERFIoaWZfbnVtKSA9IHZhbDsKKyNkZWZpbmUgUERNQV9SRF9CSVQgMHgxCisjZGVmaW5lIFBETUFfU0VUX1JXX0RJUkVDVElPTihpZl9udW0sIFIpICBSRUdfUERNQV9ISUZfQ09OKGlmX251bSkgJj0gKH4oUERNQV9SRF9CSVQpKTtcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJFR19QRE1BX0hJRl9DT04oaWZfbnVtKSB8PSAoUiAmIDB4MSk7CisjZGVmaW5lIFBETUFfQlVSU1RfTEVOX01BU0sgMHg3MDAwMAorI2RlZmluZSBQRE1BX0JVUlNUX0xFTl9PRlMgMTYKKyNkZWZpbmUgUERNQV9TRVRfQlVSU1RfTEVOKGlmX251bSwgbGVuKSAgIFJFR19QRE1BX0hJRl9DT04oaWZfbnVtKSAmPSAofihQRE1BX0JVUlNUX0xFTl9NQVNLKSk7XAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSRUdfUERNQV9ISUZfQ09OKGlmX251bSkgfD0gKChsZW4gJiAweDcpIDw8IFBETUFfQlVSU1RfTEVOX09GUyk7CisjZGVmaW5lIFBETUFfU0VUX0JVRl9MRU4oaWZfbnVtLCBsZW4pICAgICBSRUdfUERNQV9ISUZfTEVOKGlmX251bSkgPSBsZW4KKyNkZWZpbmUgUERNQV9TVEFSVChpZl9udW0pICAgICAgICAgICAgICAgIFJFR19QRE1BX0hJRl9FTihpZl9udW0pID0gMTsKKyNkZWZpbmUgUERNQV9TV19SU1QoaWZfbnVtKSAgICAgICAgICAgICAgIFJFR19QRE1BX0hJRl9SU1QoaWZfbnVtKSA9IDE7CisKKy8vIEVuZCBvZiBQRE1BIGRlZmluaXRpb25zCisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAga2FsX2Jvb2wgcmVhbHRpbWVfY2FsbGJhY2s7CisgICAga2FsX3VpbnQzMiBwb3J0OworICAgIGthbF91aW50MzIgZW5naW5lX2lkOworICAgIGthbF91aW50MzIgdXNlcjsKKyAgICBISUZfQ09ORklHX1QgY29uZmlnOworICAgIGthbF9ib29sIEEwSF9DUFVfQlVTWTsKKyAgICBrYWxfYm9vbCBBMExfQ1BVX0JVU1k7Cit9IEhJRl9JTlRFUk5BTF9IQU5ETEVfVDsKKworLy8gSElGIGludGVybmFsIGZ1bmN0aW9ucwordm9pZCBoaWYwX2xpc3Iodm9pZCk7Cit2b2lkIGhpZjBfaGlzcih2b2lkKTsKK3ZvaWQgaGlmMV9saXNyKHZvaWQpOwordm9pZCBoaWYxX2hpc3Iodm9pZCk7Cit2b2lkIGhpZl93YWl0X2Zvcl9pZGxlKGthbF91aW50MzIgZW5naW5lX2lkKTsKKworI2VuZGlmCisjZW5kaWYKZGlmZiAtLWdpdCBhL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvaTJjLmggYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL2kyYy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFkNWU2MzkKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL2kyYy5oCkBAIC0wLDAgKzEsNjUzIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMDUKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4KKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGaWxlbmFtZToKKyAqIC0tLS0tLS0tLQorICogICBzY2NiX3YyLmgKKyAqCisgKgorICogRGVzY3JpcHRpb246CisgKiAtLS0tLS0tLS0tLS0KKyAqICAgU0NDQi9JMkMgVjIgRHJpdmVyCisgKgorICogQXV0aG9yOgorICogLS0tLS0tLQorICogLS0tLS0tLQorICoKKyAqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICogICAgICAgICAgICAgSElTVE9SWQorICogQmVsb3cgdGhpcyBsaW5lLCB0aGlzIHBhcnQgaXMgY29udHJvbGxlZCBieSBQVkNTIFZNLiBETyBOT1QgTU9ESUZZISEKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIFVwcGVyIHRoaXMgbGluZSwgdGhpcyBwYXJ0IGlzIGNvbnRyb2xsZWQgYnkgUFZDUyBWTS4gRE8gTk9UIE1PRElGWSEhCisgKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZm5kZWYgX19JMkNfSF9fCisjZGVmaW5lIF9fSTJDX0hfXworCisjaW5jbHVkZSAiZHJ2X2ZlYXR1cmVzX2kyYy5oIgorI2luY2x1ZGUgImRjbF9pMmNfb3duZXIuaCIKKworI2lmIChkZWZpbmVkKERSVl9JMkNfMjVfU0VSSUVTKSkKKworI2luY2x1ZGUgImRydl9jb21tLmgiCisKKyNpbmNsdWRlICJrYWxfZ2VuZXJhbF90eXBlcy5oIgorI2luY2x1ZGUgInJlZ19iYXNlLmgiCisKKyNpZmRlZiBJMkNfVjJfRFZUCisgICNpZiAhZGVmaW5lZChEUlZfSTJDX0RNQV9FTkFCTEVEKQorICAgICNkZWZpbmUgRFJWX0kyQ19ETUFfRU5BQkxFRCAJCisgICNlbmRpZiAvLyAjaWYgIWRlZmluZWQoRFJWX0kyQ19ETUFfRU5BQkxFRCkKKyNlbmRpZiAvLyAjaWZkZWYgSTJDX1YyX0RWVAorCisKKyNpZm5kZWYgX19EUlZfREVCVUdfSTJDX1JFR19SRUFEX1dSSVRFX18KKyNkZWZpbmUgRFJWX0kyQ19DbGVhckJpdHMxNihhZGRyLCBkYXRhKSAgICAgICAgICAgICBEUlZfQ2xlYXJCaXRzKGFkZHIsZGF0YSkKKyNkZWZpbmUgRFJWX0kyQ19TZXRCaXRzMTYoYWRkciwgZGF0YSkgICAgICAgICAgICAgICBEUlZfU2V0Qml0cyhhZGRyLGRhdGEpCisjZGVmaW5lIERSVl9JMkNfV3JpdGVSZWcxNihhZGRyLCBkYXRhKSAgICAgICAgICAgICAgRFJWX1dyaXRlUmVnKGFkZHIsIGRhdGEpCisjZGVmaW5lIERSVl9JMkNfUmVhZFJlZzE2KGFkZHIpICAgICAgICAgICAgICAgICAgICAgRFJWX1JlZyhhZGRyKQorI2RlZmluZSBEUlZfSTJDX1NldERhdGExNihhZGRyLCBiaXRtYXNrLCB2YWx1ZSkgICAgIERSVl9TZXREYXRhKGFkZHIsIGJpdG1hc2ssIHZhbHVlKQorI2Vsc2UgLy8gI2lmbmRlZiBfX0RSVl9ERUJVR19QTVVfUkVHX1JFQURfV1JJVEVfXworI2RlZmluZSBEUlZfSTJDX0NsZWFyQml0czE2KGFkZHIsZGF0YSkgICAgICAgICAgICAgIERSVl9EQkdfQ2xlYXJCaXRzKGFkZHIsZGF0YSkKKyNkZWZpbmUgRFJWX0kyQ19TZXRCaXRzMTYoYWRkcikgICAgICAgICAgICAgICAgICAgICBEUlZfREJHX1NldEJpdHMoYWRkcikKKyNkZWZpbmUgRFJWX0kyQ19Xcml0ZVJlZzE2KGFkZHIsIGRhdGEpICAgICAgICAgICAgICBEUlZfREJHX1dyaXRlUmVnKGFkZHIsIGRhdGEpCisjZGVmaW5lIERSVl9JMkNfUmVhZFJlZzE2KGFkZHIpICAgICAgICAgICAgICAgICAgICAgRFJWX0RCR19SZWcoYWRkcikKKyNkZWZpbmUgRFJWX0kyQ19TZXREYXRhMTYoYWRkciwgYml0bWFzaywgdmFsdWUpICAgICBEUlZfREJHX1NldERhdGEoYWRkciwgYml0bWFzaywgdmFsdWUpCisjZW5kaWYgLy8gI2lmbmRlZiBfX0RSVl9ERUJVR19QTVVfUkVHX1JFQURfV1JJVEVfXworCisjZGVmaW5lIFNDQ0JfTUFYSU1VTV9UUkFOU0FDVElPTl9MRU5HVEggOCAgLy8gU0NDQiBiYWNrd2FyZCBjb21wYXRpYmxlCisKKworI2lmIGRlZmluZWQoRFJWX0kyQ19DTE9DS19SQVRFXzE1XzM2MF9NSFopCisjZGVmaW5lIEkyQ19DTE9DS19SQVRFCTE1MzYwIC8vMTUuMzZNSHoKKyNlbGlmIGRlZmluZWQoRFJWX0kyQ19DTE9DS19SQVRFXzNfMDAwX01IWikKKyNkZWZpbmUgSTJDX0NMT0NLX1JBVEUJMzAwMCAvLzMuME1IegorI2Vsc2UgLy8gI2lmIGRlZmluZWQoRFJWX0kyQ19DTE9DS19SQVRFXzE1XzM2MF9NSFopCisjZGVmaW5lIEkyQ19DTE9DS19SQVRFCTEzMDAwIC8vMTNNSHoKKyNlbmRpZiAvLyAjaWYgZGVmaW5lZChEUlZfSTJDX0NMT0NLX1JBVEVfMTVfMzYwX01IWikKKworCisjaWYgKGRlZmluZWQoRFJWX0kyQ19ETUFfRU5BQkxFRCkpCisjaW5jbHVkZSAiZG1hX2h3LmgiCisgICNpbmNsdWRlICJkbWFfc3cuaCIKKyAgI2lmIChkZWZpbmVkKF9fRE1BX0FQSV9WMl9fKSkKKyAgICAjZGVmaW5lIERSVl9JMkNfVVNFX0RNQV9WMl9BUEkJLy8gNzYgYW5kIGxhdGVyIGNoaXBzIGFyZSBhbGwgYXBwbGllZCBWMiBETUEgQVBJCisgICNlbHNlIAorICAgICNkZWZpbmUgRFJWX0kyQ19VU0VfRE1BX1YxX0FQSQkvLyAzNSwgMzgsIDM5LCA1MywgNjgsIDM2IGNoaXBzIGFyZSBhbGwgYXBwbGllZCBWMSBETUEgQVBJCisgICNlbmRpZgorI2VuZGlmIC8vICNpZiAoZGVmaW5lZChEUlZfSTJDX0RNQV9FTkFCTEVEKSkKKworLy8gU29tZSBjb21tb24gc3RydWN0dXJlcyBhcmUgZGVmaW5lZCBpbiBzY2NiLmgKKwordHlwZWRlZiBlbnVtCit7CisJSTJDX1RSQU5TQUNUSU9OX0NPTVBMRVRFLAorCUkyQ19UUkFOU0FDVElPTl9GQUlMLAorCUkyQ19UUkFOU0FDVElPTl9JU19CVVNZLAorCUkyQ19UUkFOU0FDVElPTl9BQ0tFUlIsCisJSTJDX1RSQU5TQUNUSU9OX0hTX05BQ0tFUlIsCisJSTJDX1RSQU5TQUNUSU9OX1NVQ0NFU1MsCisJSTJDX1RSQU5TQUNUSU9OX1RJTUVPVVQKK31JMkNfVFJBTlNBQ1RJT05fUkVTVUxUOworCisKK3R5cGVkZWYgZW51bQoreworICAgIEkyQ19JRExFX1NUQVRFID0gMCwKKwlJMkNfUkVBRFlfU1RBVEUsCisJSTJDX0JVU1lfU1RBVEUKK31JMkNfU1RBVEU7CisKKy8qIFRyYW5zYWN0aW9uIG1vZGUgZm9yIG5ldyBTQ0NCIEFQSXMgKi8KK3R5cGVkZWYgZW51bQoreworCUkyQ19UUkFOU0FDVElPTl9GQVNUX01PREUsCisJSTJDX1RSQU5TQUNUSU9OX0hJR0hfU1BFRURfTU9ERQorfUkyQ19UUkFOU0FDVElPTl9NT0RFOworCisvKiBUcmFuc2FjdGlvbiB0eXBlIGZvciBiYXRjaCB0cmFuc2FjdGlvbiAqLwordHlwZWRlZiBlbnVtCit7CisJSTJDX1RSQU5TQUNUSU9OX1dSSVRFLAorCUkyQ19UUkFOU0FDVElPTl9SRUFELAorCUkyQ19UUkFOU0FDVElPTl9DT05UX1dSSVRFLAorCUkyQ19UUkFOU0FDVElPTl9DT05UX1JFQUQsCisJSTJDX1RSQU5TQUNUSU9OX1dSSVRFX0FORF9SRUFECit9STJDX1RSQU5TQUNUSU9OX1RZUEU7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICBrYWxfdWludDggKmRhdGE7CisgICBrYWxfdWludDMyIGRhdGFfbGVuOworfWkyY19zaW5nbGVfd3JpdGVfc3RydWN0LCBpMmNfc2luZ2xlX3JlYWRfc3RydWN0OworLyogRm9yIEkyQ19DTURfQ09OVF9XUklURSwgSTJDX0NNRF9DT05UX1JFQUQgY29tbWFuZC4gKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICBrYWxfdWludDggKmRhdGE7CisgICBrYWxfdWludDMyIGRhdGFfbGVuOworICAga2FsX3VpbnQzMiB0cmFuc2Zlcl9udW07Cit9aTJjX2NvbnRfd3JpdGVfc3RydWN0LCBpMmNfY29udF9yZWFkX3N0cnVjdDsKKy8qIEZvciBJMkNfQ01EX1dSSVRFX0FORF9SRUFEIGNvbW1hbmQuICovCit0eXBlZGVmIHN0cnVjdAoreworICAga2FsX3VpbnQ4ICppbmRhdGE7CisgICBrYWxfdWludDMyIGluZGF0YV9sZW47CisgICBrYWxfdWludDggKm91dGRhdGE7CisgICBrYWxfdWludDMyIG91dGRhdGFfbGVuOworfWkyY193cml0ZV9hbmRfcmVhZF9zdHJ1Y3Q7CisvKiAqLwordHlwZWRlZiB1bmlvbgoreworCWkyY19zaW5nbGVfd3JpdGVfc3RydWN0IHNpbmdsZV93cml0ZTsKKyAgaTJjX3NpbmdsZV9yZWFkX3N0cnVjdCBzaW5nbGVfcmVhZDsKKyAgaTJjX2NvbnRfd3JpdGVfc3RydWN0IGNvbnRfd3JpdGU7CisgIGkyY19jb250X3dyaXRlX3N0cnVjdCBjb250X3JlYWQ7CisgIGkyY193cml0ZV9hbmRfcmVhZF9zdHJ1Y3Qgd3JpdGVfYW5kX3JlYWQ7Cit9aTJjX3RyYW5zYWN0aW9uX2RhdGFfc3RydWN0OworLyogRm9yIEkyQ19DTURfU0lOR0xFX0JBVENIIGNvbW1hbmQuICovCit0eXBlZGVmIHN0cnVjdAoreworICAgSTJDX1RSQU5TQUNUSU9OX1RZUEUgdHJhbnNhY3Rpb25fdHlwZTsKKyAgIGkyY190cmFuc2FjdGlvbl9kYXRhX3N0cnVjdCB0cmFuc2FjdGlvbl9kYXRhOworfWkyY19iYXRjaF9kYXRhX3N0cnVjdDsKKwordHlwZWRlZiBlbnVtCit7CisjaWYgZGVmaW5lZChEUlZfSTJDX0NMT0NLX1JBVEVfMTVfMzYwX01IWikKKwkvLyBNb2R1bGUgc291cmNlIGNsb2NrIGlzIDE1LjM2TWh6CisJSTJDXzEwMEtCLCAgICAgICAvLzk5Ljc0S0IKKwlJMkNfMjAwS0IsICAgICAgIC8vMTk2LjlLQgorCUkyQ18zMDBLQiwgICAgICAgLy8yOTUuNEtCCisJSTJDXzQwMEtCLAkgICAgICAvLzM4NC4wS0IKKwkvKiBIUyBNb2RlICovCisJSTJDXzk2MEtCLCAgICAgICAvLzk2MC4wS0IKKwlJMkNfMTI4MEtCLCAgICAgIC8vMTI4MC4wS0IKKwlJMkNfMTUzNktCLCAgICAgIC8vMTUzNi4wS0IKKwlJMkNfMTkyMEtCLCAgICAgIC8vMTkyMC4wS0IKKwlJMkNfMjU2MEtCLCAgICAgIC8vMjU2MC4wS0IKKwlJMkNfMzg0MEtCICAgICAgIC8vMzg0MC4wS0IKKyNlbGlmIGRlZmluZWQoRFJWX0kyQ19DTE9DS19SQVRFXzNfMDAwX01IWikKKyAgICAvLyBNb2R1bGUgc291cmNlIGNsb2NrIGlzIDMuME1oegorICAgIEkyQ18xMDBLQiwgICAgICAgLy8xMDAuMEtCCisJSTJDXzIwMEtCLCAgICAgICAvLzE5Ni45S0IKKwlJMkNfNDAwS0IsICAgICAgIC8vMzg0LjBLQgorCS8qIEhTIE1vZGUgKi8KKwlJMkNfNzUwS0IsICAgICAgIC8vNzUwLjBLQgorCUkyQ18xNTAwS0IgICAgICAgLy8xNTAwLjBLQgorI2Vsc2UgLy8gI2lmIGRlZmluZWQoRFJWX0kyQ19DTE9DS19SQVRFXzE1XzM2MF9NSFopCisJLy8gTW9kdWxlIHNvdXJjZSBjbG9jayBpcyAxM01oegorCUkyQ18xMDBLQiwgICAgICAgLy8xMDEuNUtCCisJSTJDXzIwMEtCLCAgICAgICAvLzIwMy4xS0IKKwlJMkNfMzAwS0IsICAgICAgIC8vMjk1LjVLQgorCUkyQ180MDBLQiwgICAgICAgLy8zODIuNEtCCisJLyogSFMgTW9kZSAqLworCUkyQ180NjBLQiwgICAgICAgLy80NjQuM0tCCisJSTJDXzU0MEtCLCAgICAgICAvLzU0MS43S0IKKwlJMkNfNjUwS0IsICAgICAgIC8vNjUwLjBLQgorCUkyQ183MjBLQiwgICAgICAgLy83MjIuMEtCCisKKwlJMkNfODEwS0IsICAgICAgIC8vODEyLjVLQgorCUkyQ185MzBLQiwgICAgICAgLy85MjguNktCCisJSTJDXzExMDBLQiwgICAgICAvLzEwODMuM0tCCisJSTJDXzEzMDBLQiwgICAgICAvLzEzMDAuMEtCCisJSTJDXzE2MjVLQiwgICAgICAvLzE2MjUuMEtCCisJSTJDXzIxNTBLQiwgICAgICAvLzIxNjYuNktCCisJSTJDXzMyNTBLQgkgICAgICAvLzMyNTAuNktCCisjZW5kaWYgLy8gI2lmIGRlZmluZWQoRFJWX0kyQ19DTE9DS19SQVRFXzE1XzM2MF9NSFopCit9STJDX1NQRUVEX0VOVU07CisKK3R5cGVkZWYgc3RydWN0Cit7CisJLy9rYWxfdWludDggc2NjYl9tb2RlOyAvLyBUcmFuc2FjdGlvbiBtb2RlIGZvciBleGlzdGluZyBTQ0NCIEFQSXMKKworCWthbF9ib29sIGdldF9oYW5kbGVfd2FpdDsgLy9XaGVuIGdldCBoYW5kbGUgd2FpdCB1bnRpbCB0aGUgSTJDIGlzIGF2YWxpYWJsZQorCisJa2FsX3VpbnQ4IHNsYXZlX2FkZHJlc3M7CS8vdGhlIGFkZHJlc3Mgb2YgdGhlIHNsYXZlIGRldmljZQorCisJa2FsX3VpbnQ4IGRlbGF5X2xlbjsJLy9udW1iZXIgb2YgaGFsZiBwdWxzZSBiZXR3ZWVuIHRyYW5zZmVycyBpbiBhIHRyYXNhY3Rpb24KKworCUkyQ19UUkFOU0FDVElPTl9NT0RFIHRyYW5zYWN0aW9uX21vZGU7CS8vSTJDX1RSQU5TQUNUSU9OX0ZBU1RfTU9ERSBvciBJMkNfVFJBTlNBQ1RJT05fSElHSF9TUEVFRF9NT0RFCisKKwlrYWxfdWludDE2IEZhc3RfTW9kZV9TcGVlZDsJLy9UaGUgc3BlZWQgb2YgSTJDIGZhc3QgbW9kZShLYikKKworCWthbF91aW50MTYgSFNfTW9kZV9TcGVlZDsJLy9UaGUgc3BlZWQgb2YgSTJDIGhpZ2ggc3BlZWQgbW9kZShLYikKKworCSNpZiAoZGVmaW5lZChEUlZfSTJDX0RNQV9FTkFCTEVEKSkKKwlrYWxfYm9vbAlpc19ETUFfZW5hYmxlZDsJLy9UcmFuc2FjdGlvbiB2aWEgRE1BIGluc3RlYWQgb2YgOC1ieXRlIEZJRk8KKwkjZW5kaWYgLy8gI2lmIChkZWZpbmVkKERSVl9JMkNfRE1BX0VOQUJMRUQpKQorCit9aTJjX2NvbmZpZ19zdHJ1Y3Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisJaTJjX2NvbmZpZ19zdHJ1Y3QgIGkyY19jb25maWc7CisKKwlrYWxfdWludDggZnNfc2FtcGxlX2NudF9kaXY7ICAgICAvL3RoZXNlIHR3byBwYXJhbWV0ZXJzIGFyZSB1c2VkIHRvIHNwZWNpZnkgSTJDIGNsb2NrIHJhdGUKKwlrYWxfdWludDggZnNfc3RlcF9jbnRfZGl2OyAgICAgICAvL2hhbGYgcHVsc2Ugd2lkdGg9c3RlcF9jbnRfZGl2KnNhbXBsZV9jbnRfZGl2KigxLzEzTWh6KQorCisJa2FsX3VpbnQ4IGhzX3NhbXBsZV9jbnRfZGl2OyAgICAgLy90aGVzZSB0d28gcGFyYW1ldGVycyBhcmUgdXNlZCB0byBzcGVjaWZ5IEkyQyBjbG9jayByYXRlCisJa2FsX3VpbnQ4IGhzX3N0ZXBfY250X2RpdjsgICAgICAgLy9oYWxmIHB1bHNlIHdpZHRoPXN0ZXBfY250X2RpdipzYW1wbGVfY250X2RpdiooMS8xM01oeikKKworCUkyQ19UUkFOU0FDVElPTl9SRVNVTFQgdHJhbnNhY3Rpb25fcmVzdWx0OyAvKiBUaGUgcmVzdWx0IG9mIHRoZSBlbmQgb2YgdHJhbnNhY3Rpb24KKwkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChJMkNfVFJBTlNBQ1RJT05fQ09NUExFVEV8STJDX1RSQU5TQUNUSU9OX0ZBSUwpICovCisKK31pMmNfaGFuZGxlX3N0cnVjdDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKwl2b2xhdGlsZSBJMkNfU1RBVEUgIHN0YXRlOworCURDTF9JMkNfT1dORVIJICAgIG93bmVyOworCisJa2FsX3VpbnQ4CW51bWJlcl9vZl9yZWFkOworCWthbF91aW50OCoJcmVhZF9idWZmZXI7CisKKwkjaWYgKGRlZmluZWQoRFJWX0kyQ19ETUFfRU5BQkxFRCkpCisJa2FsX2Jvb2wJaXNfRE1BX2VuYWJsZWQ7CisJI2VuZGlmIC8vICNpZiAoZGVmaW5lZChEUlZfSTJDX0RNQV9FTkFCTEVEKSkKKworfWkyY19zdGF0dXNfc3RydWN0OworCisKKworI2lmbmRlZiBEUlZfSTJDX09GRgorLyogUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgUkVHX0kyQ19EQVRBX1BPUlQgICAgICAgICAgICAgKEkyQ19iYXNlICsgMHgwMCkKKyNkZWZpbmUgUkVHX0kyQ19TTEFWRV9BRERSICAgICAgICAgICAgKEkyQ19iYXNlICsgMHgwNCkKKyNkZWZpbmUgUkVHX0kyQ19JTlRfTUFTSyAgICAgICAgICAgICAgKEkyQ19iYXNlICsgMHgwOCkKKyNkZWZpbmUgUkVHX0kyQ19JTlRfU1RBICAgICAgICAgICAgICAgKEkyQ19iYXNlICsgMHgwYykKKyNkZWZpbmUgUkVHX0kyQ19DT05UUk9MICAgICAgICAgICAgICAgKEkyQ19iYXNlICsgMHgxMCkKKyNkZWZpbmUgUkVHX0kyQ19UUkFOU0ZFUl9MRU4gICAgICAgICAgKEkyQ19iYXNlICsgMHgxNCkKKyNkZWZpbmUgUkVHX0kyQ19UUkFOU0FDX0xFTiAgICAgICAgICAgKEkyQ19iYXNlICsgMHgxOCkKKyNkZWZpbmUgUkVHX0kyQ19ERUxBWV9MRU4gICAgICAgICAgICAgKEkyQ19iYXNlICsgMHgxYykKKyNkZWZpbmUgUkVHX0kyQ19USU1JTkcgICAgICAgICAgICAgICAgKEkyQ19iYXNlICsgMHgyMCkKKyNkZWZpbmUgUkVHX0kyQ19TVEFSVCAgICAgICAgICAgICAgICAgKEkyQ19iYXNlICsgMHgyNCkKKyNkZWZpbmUgUkVHX0kyQ19GSUZPX1NUQVQgICAgICAgICAgICAgKEkyQ19iYXNlICsgMHgzMCkKKyNkZWZpbmUgUkVHX0kyQ19GSUZPX1RIUkVTSCAgICAgICAgICAgKEkyQ19iYXNlICsgMHgzNCkKKyNkZWZpbmUgUkVHX0kyQ19GSUZPX0FERFJfQ0xSICAgICAgICAgKEkyQ19iYXNlICsgMHgzOCkKKyNkZWZpbmUgUkVHX0kyQ19JT19DT05GSUcgICAgICAgICAgICAgKEkyQ19iYXNlICsgMHg0MCkKKyNkZWZpbmUgUkVHX0kyQ19NVUxUSV9NQVNURVIgICAgICAgICAgKEkyQ19iYXNlICsgMHg0NCkKKyNkZWZpbmUgUkVHX0kyQ19IU19NT0RFICAgICAgICAgICAgICAgKEkyQ19iYXNlICsgMHg0OCkKKyNkZWZpbmUgUkVHX0kyQ19TT0ZUUkVTRVQgICAgICAgICAgICAgKEkyQ19iYXNlICsgMHg1MCkKKyNkZWZpbmUgUkVHX0kyQ19UUkFOU0ZFUl9MRU5fQVVYICAgICAgKEkyQ19iYXNlICsgMHg2QykgICAgIC8vL25ldyBmcm9tIE1UNjI1NkUyCisjZGVmaW5lIFJFR19JMkNfSFdfVmVyc2lvbiAgICAgICAgICAgIChJMkNfYmFzZSArIDB4NzgpCisjZGVmaW5lIFJFR19JMkNfREJHX1NUQSAgICAgICAgICAgICAgIChJMkNfYmFzZSArIDB4NjQpICAgICAvL29ubHkgZm9yIGRlYnVnCisjZGVmaW5lIFJFR19JMkNfVElNRU9VVF9USU1JTkcgICAgICAgIChJMkNfYmFzZSArIDB4NzQpICAgICAvL3RpbWVvdXQgdGltaW5nIHJlZworI2VuZGlmIC8vICBEUlZfSTJDX09GRgorCisvKiBSZWdpc3RlciBtYXNrcyAqLworI2RlZmluZSBJMkNfMV9CSVRfTUFTSyAgICAgICAgICAgICAgICAweDAxCisjZGVmaW5lIEkyQ18zX0JJVF9NQVNLICAgICAgICAgICAgICAgIDB4MDcKKyNkZWZpbmUgSTJDXzRfQklUX01BU0sgICAgICAgICAgICAgICAgMHgwZgorI2RlZmluZSBJMkNfNl9CSVRfTUFTSyAgICAgICAgICAgICAgICAweDNmCisjZGVmaW5lIEkyQ184X0JJVF9NQVNLICAgICAgICAgICAgICAgIDB4ZmYKKyNkZWZpbmUgSTJDXzE2X0JJVF9NQVNLICAgICAgICAgICAgICAgMHhmZmZmCisKKyNkZWZpbmUgSTJDX1JYX0ZJRk9fVEhSRVNIX01BU0sgICAgICAgMHgwMDA3CisjZGVmaW5lIEkyQ19SWF9GSUZPX1RIUkVTSF9TSElGVCAgICAgIDAKKyNkZWZpbmUgSTJDX1RYX0ZJRk9fVEhSRVNIX01BU0sgICAgICAgMHgwNzAwCisjZGVmaW5lIEkyQ19UWF9GSUZPX1RIUkVTSF9TSElGVCAgICAgIDgKKworI2RlZmluZSBJMkNfQVVYX0xFTl9NQVNLICAgICAgICAgICAgICAweDFmMDAKKyNkZWZpbmUgSTJDX0FVWF9MRU5fU0hJRlQgICAgICAgICAgICAgOAorCisjZGVmaW5lIEkyQ19TQU1QTEVfQ05UX0RJVl9NQVNLICAgICAgIDB4MDcwMAorI2RlZmluZSBJMkNfU0FNUExFX0NOVF9ESVZfU0hJRlQgICAgICA4CisjZGVmaW5lIEkyQ19EQVRBX1JFQURfVElNRV9NQVNLICAgICAgIDB4NzAwMAorI2RlZmluZSBJMkNfREFUQV9SRUFEX1RJTUVfU0hJRlQgICAgICAxMgorCisjZGVmaW5lIEkyQ19NQVNURVJfUkVBRCAgICAgICAgICAgICAgIDB4MDEKKyNkZWZpbmUgSTJDX01BU1RFUl9XUklURSAgICAgICAgICAgICAgMHgwMAorCisvLyNkZWZpbmUgSTJDX0NUTF9NT0RFX0JJVCAgICAgICAgICAgIDB4MDEKKyNkZWZpbmUgSTJDX0NUTF9SU19TVE9QX0JJVCAgICAgICAgICAgMHgwMgorI2RlZmluZSBJMkNfQ1RMX0RNQV9FTl9CSVQgICAgICAgICAgICAweDA0CisjZGVmaW5lIEkyQ19DVExfQ0xLX0VYVF9FTl9CSVQgICAgICAgIDB4MDgKKyNkZWZpbmUgSTJDX0NUTF9ESVJfQ0hBTkdFX0JJVCAgICAgICAgMHgxMAorI2RlZmluZSBJMkNfQ1RMX0FDS19FUlJfREVUX0JJVCAgICAgICAweDIwCisjZGVmaW5lIEkyQ19DVExfVFJBTlNGRVJfTEVOX0NIR19CSVQgIDB4NDAKKworI2RlZmluZSBJMkNfREFUQV9SRUFEX0FESl9CSVQgICAgICAgICAweDgwMDAKKworI2RlZmluZSBJMkNfU0NMX01PREVfQklUICAgICAgICAgICAgICAweDAxCisjZGVmaW5lIEkyQ19TREFfTU9ERV9CSVQgICAgICAgICAgICAgIDB4MDIKKyNkZWZpbmUgSTJDX0JVU19ERVRFQ1RfRU5fQklUICAgICAgICAgMHgwNAorCisjZGVmaW5lIEkyQ19BUkJJVFJBVElPTl9CSVQgICAgICAgICAgIDB4MDEKKyNkZWZpbmUgSTJDX0NMT0NLX1NZTkNfQklUICAgICAgICAgICAgMHgwMgorI2RlZmluZSBJMkNfQlVTX0JVU1lfREVUX0JJVCAgICAgICAgICAweDA0CisKKyNkZWZpbmUgSTJDX0hTX0VOX0JJVCAgICAgICAgICAgICAgICAgMHgwMQorI2RlZmluZSBJMkNfSFNfTkFDS19FUlJfREVUX0VOX0JJVCAgICAweDAyCisjZGVmaW5lIEkyQ19IU19NQVNURVJfQ09ERV9NQVNLICAgICAgIDB4MDA3MAorI2RlZmluZSBJMkNfSFNfTUFTVEVSX0NPREVfU0hJRlQgICAgICA0CisjZGVmaW5lIEkyQ19IU19TVEVQX0NOVF9ESVZfTUFTSyAgICAgIDB4MDcwMAorI2RlZmluZSBJMkNfSFNfU1RFUF9DTlRfRElWX1NISUZUICAgICA4CisjZGVmaW5lIEkyQ19IU19TQU1QTEVfQ05UX0RJVl9NQVNLICAgIDB4NzAwMAorI2RlZmluZSBJMkNfSFNfU0FNUExFX0NOVF9ESVZfU0hJRlQgICAxMgorCisvKiBJMkMgU3RhdHVzICovCisjZGVmaW5lIEkyQ19GSUZPX0ZVTExfU1RBVFVTICAgICAgICAgIDB4MDEKKyNkZWZpbmUgSTJDX0ZJRk9fRU1QVFlfU1RBVFVTICAgICAgICAgMHgwMgorCisvKiBSZWdpc3RlciBTZXR0aW5ncyAqLworI2RlZmluZSBTRVRfSTJDX1NMQVZFX0FERFJFU1MobixydykgICAgICAgZG97RFJWX0kyQ19TZXREYXRhMTYoUkVHX0kyQ19TTEFWRV9BRERSLCBJMkNfOF9CSVRfTUFTSywgKCgobj4+MSk8PDEpICsgcncpKTt9IHdoaWxlKDApOworCisjZGVmaW5lIERJU0FCTEVfSTJDX0lOVCAgICAgICAgICAgICAgICAgICBkb3tEUlZfSTJDX1dyaXRlUmVnMTYoUkVHX0kyQ19JTlRfTUFTSywgMCk7fSB3aGlsZSgwKTsKKyNkZWZpbmUgRU5BQkxFX0kyQ19JTlQgICAgICAgICAgICAgICAgICAgIGRve0RSVl9JMkNfV3JpdGVSZWcxNihSRUdfSTJDX0lOVF9NQVNLLEkyQ18xX0JJVF9NQVNLKTt9IHdoaWxlKDApOworCisjZGVmaW5lIENMRUFSX0kyQ19TVEEgICAgICAgICAgICAgICAgICAgICBkb3tEUlZfSTJDX1dyaXRlUmVnMTYoUkVHX0kyQ19JTlRfU1RBLCBJMkNfNF9CSVRfTUFTSyk7fSB3aGlsZSgwKTsKKworLy8jZGVmaW5lIFNFVF9JMkNfRkFTVF9TUEVFRF9NT0RFCVJFR19JMkNfQ09OVFJPTCAmPSB+STJDX0NUTF9NT0RFX0JJVDsKKy8vI2RlZmluZSBTRVRfSTJDX0hJR0hfU1BFRURfTU9ERQlSRUdfSTJDX0NPTlRST0wgfD0gSTJDX0NUTF9NT0RFX0JJVDsKKworI2RlZmluZSBTRVRfSTJDX1NUX0JFVFdFRU5fVFJBTlNGRVIgICAgICAgZG97RFJWX0kyQ19DbGVhckJpdHMxNihSRUdfSTJDX0NPTlRST0wsIEkyQ19DVExfUlNfU1RPUF9CSVQpO30gd2hpbGUoMCk7CisjZGVmaW5lIFNFVF9JMkNfUlNfQkVUV0VFTl9UUkFOU0ZFUiAgICAgICBkb3tEUlZfSTJDX1NldEJpdHMxNihSRUdfSTJDX0NPTlRST0wsIEkyQ19DVExfUlNfU1RPUF9CSVQpO30gd2hpbGUoMCk7CisjZGVmaW5lIEVOQUJMRV9JMkNfRE1BX1RSQU5TRkVSICAgICAgICAgICBkb3tEUlZfSTJDX1NldEJpdHMxNihSRUdfSTJDX0NPTlRST0wsIEkyQ19DVExfRE1BX0VOX0JJVCk7fSB3aGlsZSgwKTsKKyNkZWZpbmUgRU5BQkxFX0kyQ19DTE9DS19FWFRFTlNJT04gICAgICAgIGRve0RSVl9JMkNfU2V0Qml0czE2KFJFR19JMkNfQ09OVFJPTCwgSTJDX0NUTF9DTEtfRVhUX0VOX0JJVCk7fSB3aGlsZSgwKTsKKyNkZWZpbmUgRU5BQkxFX0kyQ19ESVJfQ0hBTkdFICAgICAgICAgICAgIGRve0RSVl9JMkNfU2V0Qml0czE2KFJFR19JMkNfQ09OVFJPTCwgSTJDX0NUTF9ESVJfQ0hBTkdFX0JJVCk7fSB3aGlsZSgwKTsKKyNkZWZpbmUgRU5BQkxFX0kyQ19BQ0tfRVJSX0RFVCAgICAgICAgICAgIGRve0RSVl9JMkNfU2V0Qml0czE2KFJFR19JMkNfQ09OVFJPTCwgSTJDX0NUTF9BQ0tfRVJSX0RFVF9CSVQpO30gd2hpbGUoMCk7CisjZGVmaW5lIEVOQUJMRV9JMkNfVFJBTlNGRVJfTEVOX0NIRyAgICAgICBkb3tEUlZfSTJDX1NldEJpdHMxNihSRUdfSTJDX0NPTlRST0wsIEkyQ19DVExfVFJBTlNGRVJfTEVOX0NIR19CSVQpO30gd2hpbGUoMCk7CisjZGVmaW5lIEVOQUJMRV9JMkNfQlVTX0JVU1lfUkVTRVQgICAgICAgICBkb3tEUlZfSTJDX1NldEJpdHMxNihSRUdfSTJDX0NPTlRST0wsIDB4ODApO30gd2hpbGUoMCk7CisjZGVmaW5lIEVOQUJMRV9JMkNfVElNRU9VVCAgICAgICAgICAgICAgICBkb3tEUlZfSTJDX1NldEJpdHMxNihSRUdfSTJDX0NPTlRST0wsIEkyQ19USU1FT1VUKTt9IHdoaWxlKDApOyAKKworI2RlZmluZSBESVNBQkxFX0kyQ19ETUFfVFJBTlNGRVIgICAgICAgICAgZG97RFJWX0kyQ19DbGVhckJpdHMxNihSRUdfSTJDX0NPTlRST0wsIEkyQ19DVExfRE1BX0VOX0JJVCk7fSB3aGlsZSgwKTsKKyNkZWZpbmUgRElTQUJMRV9JMkNfQ0xPQ0tfRVhURU5TSU9OICAgICAgIGRve0RSVl9JMkNfQ2xlYXJCaXRzMTYoUkVHX0kyQ19DT05UUk9MLCBJMkNfQ1RMX0NMS19FWFRfRU5fQklUKTt9IHdoaWxlKDApOworI2RlZmluZSBESVNBQkxFX0kyQ19ESVJfQ0hBTkdFICAgICAgICAgICAgZG97RFJWX0kyQ19DbGVhckJpdHMxNihSRUdfSTJDX0NPTlRST0wsIEkyQ19DVExfRElSX0NIQU5HRV9CSVQpO30gd2hpbGUoMCk7CisjZGVmaW5lIERJU0FCTEVfSTJDX0FDS19FUlJfREVUICAgICAgICAgICBkb3tEUlZfSTJDX0NsZWFyQml0czE2KFJFR19JMkNfQ09OVFJPTCwgSTJDX0NUTF9BQ0tfRVJSX0RFVF9CSVQpO30gd2hpbGUoMCk7CisjZGVmaW5lIERJU0FCTEVfSTJDX1RSQU5TRkVSX0xFTl9DSEcgICAgICBkb3tEUlZfSTJDX0NsZWFyQml0czE2KFJFR19JMkNfQ09OVFJPTCwgSTJDX0NUTF9UUkFOU0ZFUl9MRU5fQ0hHX0JJVCk7fSB3aGlsZSgwKTsKKyNkZWZpbmUgRElTQUJMRV9JMkNfQlVTX0JVU1lfUkVTRVQgICAgICAgIGRve0RSVl9JMkNfQ2xlYXJCaXRzMTYoUkVHX0kyQ19DT05UUk9MLCAweDgwKTt9IHdoaWxlKDApOworI2RlZmluZSBESVNBQkxFX0kyQ19USU1FT1VUICAgICAgICAgICAgICAgZG97RFJWX0kyQ19DbGVhckJpdHMxNihSRUdfSTJDX0NPTlRST0wsIEkyQ19USU1FT1VUKTt9IHdoaWxlKDApOyAKKworI2lmZGVmIERSVl9JMkNfTUFYXzY1NTM1X1RSQU5TRkVSX0xFTkdUSAorI2RlZmluZSBTRVRfSTJDX1RSQU5TRkVSX0xFTkdUSChuKSAgICAgICAgZG97RFJWX0kyQ19TZXREYXRhMTYoUkVHX0kyQ19UUkFOU0ZFUl9MRU4sIEkyQ18xNl9CSVRfTUFTSywgKG4pKTt9IHdoaWxlKDApOworI2RlZmluZSBTRVRfSTJDX0FVWF9UUkFOU0ZFUl9MRU5HVEgobikgICAgZG97RFJWX0kyQ19TZXREYXRhMTYoUkVHX0kyQ19UUkFOU0ZFUl9MRU5fQVVYLCBJMkNfMTZfQklUX01BU0ssIChuKSk7fSB3aGlsZSgwKTsKKyNlbHNlCisjZGVmaW5lIFNFVF9JMkNfVFJBTlNGRVJfTEVOR1RIKG4pICAgICAgICBkb3tEUlZfSTJDX1NldERhdGExNihSRUdfSTJDX1RSQU5TRkVSX0xFTiwgSTJDXzhfQklUX01BU0ssIChuKSk7fSB3aGlsZSgwKTsKKyNkZWZpbmUgU0VUX0kyQ19BVVhfVFJBTlNGRVJfTEVOR1RIKG4pICAgIGRve0RSVl9JMkNfU2V0RGF0YTE2KFJFR19JMkNfVFJBTlNGRVJfTEVOLCBJMkNfQVVYX0xFTl9NQVNLLCAoKG4pPDxJMkNfQVVYX0xFTl9TSElGVCkpO30gd2hpbGUoMCk7CisjZW5kaWYKKworI2RlZmluZSBTRVRfSTJDX1RSQU5TQUNUSU9OX0xFTkdUSChuKSAgICAgZG97RFJWX0kyQ19TZXREYXRhMTYoUkVHX0kyQ19UUkFOU0FDX0xFTiwgSTJDXzhfQklUX01BU0ssIChuKSk7fSB3aGlsZSgwKTsKKyNkZWZpbmUgU0VUX0kyQ19ERUxBWV9MRU5HVEgobikgICAgICAgICAgIGRve0RSVl9JMkNfU2V0RGF0YTE2KFJFR19JMkNfREVMQVlfTEVOLCBJMkNfOF9CSVRfTUFTSywgKG4pKTt9IHdoaWxlKDApOworCisjZGVmaW5lIFNFVF9JMkNfU1RFUF9DTlRfRElWKG4pICAgICAgICAgICBkb3tEUlZfSTJDX1NldERhdGExNihSRUdfSTJDX1RJTUlORywgSTJDXzZfQklUX01BU0ssIChuKSk7fSB3aGlsZSgwKTsKKyNkZWZpbmUgU0VUX0kyQ19TQU1QTEVfQ05UX0RJVihuKSAgICAgICAgIGRve0RSVl9JMkNfU2V0RGF0YTE2KFJFR19JMkNfVElNSU5HLCBJMkNfU0FNUExFX0NOVF9ESVZfTUFTSywgKChuKTw8STJDX1NBTVBMRV9DTlRfRElWX1NISUZUKSk7fSB3aGlsZSgwKTsKKyNkZWZpbmUgU0VUX0kyQ19EQVRBX1JFQURfVElNRShuKSAgICAgICAgIGRve0RSVl9JMkNfU2V0RGF0YTE2KFJFR19JMkNfVElNSU5HLCBJMkNfREFUQV9SRUFEX1RJTUVfTUFTSywgKChuKTw8STJDX0RBVEFfUkVBRF9USU1FX1NISUZUKSk7fSB3aGlsZSgwKTsKKyNkZWZpbmUgRU5BQkxFX0kyQ19EQVRBX1JFQURfQURKICAgICAgICAgIGRve0RSVl9JMkNfU2V0Qml0czE2KFJFR19JMkNfVElNSU5HLCBJMkNfREFUQV9SRUFEX0FESl9CSVQpO30gd2hpbGUoMCk7CisjZGVmaW5lIERJU0FCTEVfSTJDX0RBVEFfUkVBRF9BREogICAgICAgICBkb3tEUlZfSTJDX0NsZWFyQml0czE2KFJFR19JMkNfVElNSU5HLCBJMkNfREFUQV9SRUFEX0FESl9CSVQpO30gd2hpbGUoMCk7CisKKyNkZWZpbmUgU1RBUlRfSTJDX1RSQU5TQUNUSU9OICAgICAgICAgICAgIGRve0RSVl9JMkNfV3JpdGVSZWcxNihSRUdfSTJDX1NUQVJULCAweDAxKTt9IHdoaWxlKDApOworCisvLyAjZGVmaW5lIEkyQ19GSUZPX0ZVTEwgICAgICAgICAgICAgICAgICAgICAoKFJFR19JMkNfRklGT19TVEFUPj4xKSYweDAxKQorLy8gI2RlZmluZSBJMkNfRklGT19FTVBUWSAgICAgICAgICAgICAgICAgICAgKFJFR19JMkNfRklGT19TVEFUICYgMHgwMSkKKworI2RlZmluZSBTRVRfSTJDX1JYX0ZJRk9fVEhSRVNIKG4pICAgICAgICAgZG97RFJWX0kyQ19TZXREYXRhMTYoUkVHX0kyQ19GSUZPX1RIUkVTSCwgSTJDX1JYX0ZJRk9fVEhSRVNIX01BU0ssICgobik8PCBJMkNfUlhfRklGT19USFJFU0hfU0hJRlQpKTt9IHdoaWxlKDApOworI2RlZmluZSBTRVRfSTJDX1RYX0ZJRk9fVEhSRVNIKG4pICAgICAgICAgZG97RFJWX0kyQ19TZXREYXRhMTYoUkVHX0kyQ19GSUZPX1RIUkVTSCwgSTJDX1RYX0ZJRk9fVEhSRVNIX01BU0ssICgobik8PCBJMkNfVFhfRklGT19USFJFU0hfU0hJRlQpKTt9IHdoaWxlKDApOworCisjZGVmaW5lIENMRUFSX0kyQ19GSUZPICAgICAgICAgICAgICAgICAgICBkb3tEUlZfSTJDX1dyaXRlUmVnMTYoUkVHX0kyQ19GSUZPX0FERFJfQ0xSLCAweDAxKTt9IHdoaWxlKDApOworCisjZGVmaW5lIFNFVF9JMkNfU0NMX05PUk1BTF9NT0RFICAgICAgICAgICBkb3tEUlZfSTJDX0NsZWFyQml0czE2KFJFR19JMkNfSU9fQ09ORklHLCBJMkNfU0NMX01PREVfQklUKTt9IHdoaWxlKDApOworI2RlZmluZSBTRVRfSTJDX1NDTF9XSVJFRF9BTkRfTU9ERSAgICAgICAgZG97RFJWX0kyQ19TZXRCaXRzMTYoUkVHX0kyQ19JT19DT05GSUcsIEkyQ19TQ0xfTU9ERV9CSVQpO30gd2hpbGUoMCk7CisjZGVmaW5lIFNFVF9JMkNfU0RBX05PUk1BTF9NT0RFICAgICAgICAgICBkb3tEUlZfSTJDX0NsZWFyQml0czE2KFJFR19JMkNfSU9fQ09ORklHLCBJMkNfU0RBX01PREVfQklUKTt9IHdoaWxlKDApOworI2RlZmluZSBTRVRfSTJDX1NEQV9XSVJFRF9BTkRfTU9ERSAgICAgICAgZG97RFJWX0kyQ19TZXRCaXRzMTYoUkVHX0kyQ19JT19DT05GSUcsIEkyQ19TREFfTU9ERV9CSVQpO30gd2hpbGUoMCk7CisjZGVmaW5lIEVOQUJMRV9JMkNfQlVTX0RFVEVDVCAgICAgICAgICAgICBkb3tEUlZfSTJDX1NldEJpdHMxNihSRUdfSTJDX0lPX0NPTkZJRywgSTJDX0JVU19ERVRFQ1RfRU5fQklUKTt9IHdoaWxlKDApOworI2RlZmluZSBESVNBQkxFX0kyQ19CVVNfREVURUNUICAgICAgICAgICAgZG97RFJWX0kyQ19DbGVhckJpdHMxNihSRUdfSTJDX0lPX0NPTkZJRywgSTJDX0JVU19ERVRFQ1RfRU5fQklUKTt9IHdoaWxlKDApOworCisjZGVmaW5lIEVOQUJMRV9JMkNfQ0xPQ0tfU1lOQyAgICAgICAgICAgICBkb3tEUlZfSTJDX1NldEJpdHMxNihSRUdfSTJDX01VTFRJX01BU1RFUiwgSTJDX0FSQklUUkFUSU9OX0JJVCk7fSB3aGlsZSgwKTsKKyNkZWZpbmUgRU5BQkxFX0RBVEFfQVJCSVRJT04gICAgICAgICAgICAgIGRve0RSVl9JMkNfU2V0Qml0czE2KFJFR19JMkNfTVVMVElfTUFTVEVSLCBJMkNfQ0xPQ0tfU1lOQ19CSVQpO30gd2hpbGUoMCk7CisjZGVmaW5lIEVOQUJMRV9JMkNfQlVTX0JVU1lfREVUICAgICAgICAgICBkb3tEUlZfSTJDX1NldEJpdHMxNihSRUdfSTJDX01VTFRJX01BU1RFUiwgSTJDX0JVU19CVVNZX0RFVF9CSVQpO30gd2hpbGUoMCk7CisjZGVmaW5lIERJU0FCTEVfSTJDX0NMT0NLX1NZTkMgICAgICAgICAgICBkb3tEUlZfSTJDX0NsZWFyQml0czE2KFJFR19JMkNfTVVMVElfTUFTVEVSLCBJMkNfQVJCSVRSQVRJT05fQklUKTt9IHdoaWxlKDApOworI2RlZmluZSBESVNBQkxFX0RBVEFfQVJCSVRJT04gICAgICAgICAgICAgZG97RFJWX0kyQ19DbGVhckJpdHMxNihSRUdfSTJDX01VTFRJX01BU1RFUiwgSTJDX0NMT0NLX1NZTkNfQklUKTt9IHdoaWxlKDApOworI2RlZmluZSBESVNBQkxFX0kyQ19CVVNfQlVTWV9ERVQgICAgICAgICAgZG97RFJWX0kyQ19DbGVhckJpdHMxNihSRUdfSTJDX01VTFRJX01BU1RFUiwgSTJDX0JVU19CVVNZX0RFVF9CSVQpO30gd2hpbGUoMCk7CisKKyNkZWZpbmUgU0VUX0kyQ19ISUdIX1NQRUVEX01PREVfODAwS0IgICAgIGRve0RSVl9JMkNfV3JpdGVSZWcxNihSRUdfSTJDX0hTX01PREUsIDB4MDcwMyk7fSB3aGlsZSgwKTsKKyNkZWZpbmUgU0VUX0kyQ19ISUdIX1NQRUVEX01PREVfMTAwMEtCICAgIGRve0RSVl9JMkNfV3JpdGVSZWcxNihSRUdfSTJDX0hTX01PREUsIDB4MDUwMyk7fSB3aGlsZSgwKTsKKworI2RlZmluZSBTRVRfSTJDX0ZBU1RfTU9ERSAgICAgICAgICAgICAgICAgZG97RFJWX0kyQ19DbGVhckJpdHMxNihSRUdfSTJDX0hTX01PREUsIEkyQ19IU19FTl9CSVQpO30gd2hpbGUoMCk7CisjZGVmaW5lIFNFVF9JMkNfSFNfTU9ERSAgICAgICAgICAgICAgICAgICBkb3tEUlZfSTJDX1NldEJpdHMxNihSRUdfSTJDX0hTX01PREUsIEkyQ19IU19FTl9CSVQpO30gd2hpbGUoMCk7CisjZGVmaW5lIEVOQUJMRV9JMkNfTkFLRVJSX0RFVCAgICAgICAgICAgICBkb3tEUlZfSTJDX1NldEJpdHMxNihSRUdfSTJDX0hTX01PREUsIEkyQ19IU19OQUNLX0VSUl9ERVRfRU5fQklUKTt9IHdoaWxlKDApOworI2RlZmluZSBESVNBQkxFX0kyQ19OQUtFUlJfREVUICAgICAgICAgICAgZG97RFJWX0kyQ19DbGVhckJpdHMxNihSRUdfSTJDX0hTX01PREUsIEkyQ19IU19OQUNLX0VSUl9ERVRfRU5fQklUKTt9IHdoaWxlKDApOworI2RlZmluZSBTRVRfSTJDX0hTX01BU1RFUl9DT0RFKG4pICAgICAgICAgZG97RFJWX0kyQ19TZXREYXRhMTYoUkVHX0kyQ19IU19NT0RFLCBJMkNfSFNfTUFTVEVSX0NPREVfTUFTSywgKChuKTw8STJDX0hTX01BU1RFUl9DT0RFX1NISUZUKSk7fSB3aGlsZSgwKTsKKworI2RlZmluZSBTRVRfSTJDX0hTX1NURVBfQ05UX0RJVihuKSAgICAgICAgZG97RFJWX0kyQ19TZXREYXRhMTYoUkVHX0kyQ19IU19NT0RFLCBJMkNfSFNfU1RFUF9DTlRfRElWX01BU0ssICgobik8PEkyQ19IU19TVEVQX0NOVF9ESVZfU0hJRlQpKTt9IHdoaWxlKDApOworI2RlZmluZSBTRVRfSTJDX0hTX1NBTVBMRV9DTlRfRElWKG4pICAgICAgZG97RFJWX0kyQ19TZXREYXRhMTYoUkVHX0kyQ19IU19NT0RFLCBJMkNfSFNfU0FNUExFX0NOVF9ESVZfTUFTSywgKChuKTw8STJDX0hTX1NBTVBMRV9DTlRfRElWX1NISUZUKSk7fSB3aGlsZSgwKTsKKworI2RlZmluZSBSRVNFVF9JMkMgICAgICAgICAgICAgICAgICAgICAgICAgZG97RFJWX0kyQ19Xcml0ZVJlZzE2KFJFR19JMkNfU09GVFJFU0VULCAweDAxKTt9IHdoaWxlKDApOworCisvLy0tLS0tLS0tLS0tLS0tLS0gRE1BIC0tLS0tLS0tLS0tLS0tLS0KKyNpZiBkZWZpbmVkKERSVl9JMkNfRElSRUNUX0NPTkZJR19ETUFfUkVHSVNURVIpCisKKy8vI2RlZmluZSBETUFfYmFzZQkJMHg4MDAzMDAwMCAtLT5kZWZpbmVkIGluIC9pbmMvcmVnX2Jhc2UuaAorCisvKiBSZWdpZHRlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBSRUdfRE1BX0NIQU5ORUxfQ09OVFJPTChjKSAgICAgICAgKigodm9sYXRpbGUgdW5zaWduZWQgaW50ICopIChETUFfYmFzZSArIDB4MTQrIChjPDw4KSkpCisjZGVmaW5lIFJFR19ETUFfQ0hBTk5FTF9TVEFSVChjKSAgICAgICAgICAqKCh2b2xhdGlsZSB1bnNpZ25lZCBpbnQgKikgKERNQV9iYXNlICsgMHgxOCsgKGM8PDgpKSkKKyNkZWZpbmUgUkVHX0RNQV9QUk9HX0FERFIoYykgICAgICAgICAgICAgICooKHZvbGF0aWxlIHVuc2lnbmVkIGludCAqKSAoRE1BX2Jhc2UgKyAweDJjKyAoYzw8OCkpKQorI2RlZmluZSBSRUdfRE1BX1RSQU5TRkVSX0NPVU5UKGMpICAgICAgICAgKigodm9sYXRpbGUgdW5zaWduZWQgaW50ICopIChETUFfYmFzZSArIDB4MTArIChjPDw4KSkpCisKKy8qIE1hc3RlciBEZWZpbml0aW9ucyovCisjZGVmaW5lIERNQV9NQVNURVJfSTJDX1RYICAgICAgICAgICAgICAgICBETUFfQ09OX01BU1RFUl9JMkNUWAorI2RlZmluZSBETUFfTUFTVEVSX0kyQ19SWCAgICAgICAgICAgICAgICAgRE1BX0NPTl9NQVNURVJfSTJDUlgKKyNkZWZpbmUgRE1BX01BU1RFUl9JUkRBX1RYICAgICAgICAgICAgICAgIDB4MDIKKyNkZWZpbmUgRE1BX01BU1RFUl9JUkRBX1JYICAgICAgICAgICAgICAgIDB4MDMKKworI2RlZmluZSBETUFfSTJDX1RYX0NIQU5ORUwgICAgICAgICAgICAgICAgNAorI2RlZmluZSBETUFfSTJDX1JYX0NIQU5ORUwgICAgICAgICAgICAgICAgNQorCisvKiBSZWdpc3RlciBtYXNrcyAqLworI2RlZmluZSBETUFfQ09OX0RJUl9NQVNLICAgICAgICAgICAgICAgICAgMHg0MDAwMAorI2RlZmluZSBETUFfQ09OX01BU19NQVNLICAgICAgICAgICAgICAgICAgMHgwMWYwMDAwMAorCisjZGVmaW5lIEkyQ19TRVRfVFhfRE1BX0NPTlRST0woYyxtKSAgICAgICBSRUdfRE1BX0NIQU5ORUxfQ09OVFJPTChjKSA9IDB4MDAwMDAwMTQ7XAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUkVHX0RNQV9DSEFOTkVMX0NPTlRST0woYykgfD0gKCgobSk8PDIwKSAmIERNQV9DT05fTUFTX01BU0spOworCisjZGVmaW5lIEkyQ19TRVRfUlhfRE1BX0NPTlRST0woYyxtKSAgICAgICBSRUdfRE1BX0NIQU5ORUxfQ09OVFJPTChjKSA9IDB4MDAwNDAwMTg7XAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUkVHX0RNQV9DSEFOTkVMX0NPTlRST0woYykgfD0gKCgobSk8PDIwKSAmIERNQV9DT05fTUFTX01BU0spOworCisjZGVmaW5lIEkyQ19TRVRfRE1BX1BST0dSQU1NQUJMRV9BRERSKGMsYWRkcikgICAgUkVHX0RNQV9QUk9HX0FERFIoYykgPSAoYWRkcik7CisjZGVmaW5lIEkyQ19TRVRfRE1BX1RSQU5TRkVSX0NPVU5UKGMsc2l6ZSkgICAgICAgUkVHX0RNQV9UUkFOU0ZFUl9DT1VOVChjKT0gc2l6ZSA7CisjZGVmaW5lIEkyQ19TVEFSVF9ETUFfVFJBTlNGRVIoYykgICAgICAgICAgICAgICAgUkVHX0RNQV9DSEFOTkVMX1NUQVJUKGMpID0JMHg4MDAwOworI2RlZmluZSBJMkNfU1RPUF9ETUFfVFJBTlNGRVIoYykgICAgICAgICAgICAgICAgIFJFR19ETUFfQ0hBTk5FTF9TVEFSVChjKSA9CTA7CisKKyNlbmRpZiAvLyAjaWYgZGVmaW5lZChEUlZfSTJDX0RJUkVDVF9DT05GSUdfRE1BX1JFR0lTVEVSKQorCisvKioqKioqIFNXIGRlZmluaXRpb25zKioqKioqLworI2RlZmluZSBJMkNfUkVBRF9CSVQgICAgICAgICAgICAweDAxCisjZGVmaW5lIEkyQ19XUklURV9CSVQgICAgICAgICAgIDB4MDAKKworI2RlZmluZSBJMkNfVFJBTlNBQ19DT01QTEVURSAgICAweDAxCisjZGVmaW5lIEkyQ19UUkFOU0FDX0FDS19FUlIgICAgIDB4MDIKKyNkZWZpbmUgSTJDX0hTX05BQ0tfRVJSICAgICAgICAgMHgwNAorI2RlZmluZSBJMkNfVElNRU9VVCAgICAgICAgIAkweDEwCisKKy8vZXh0ZXJuIGthbF9ib29sIGRjbF9pMmNfaW5pdF9kb25lX2ZsYWc7CisvL2V4dGVybiBpMmNfaGFuZGxlX3N0cnVjdCBpMmNfaGFuZGxlW0RDTF9JMkNfTlVNX09GX09XTkVSXTsKKwordm9pZCBkY2xfaTJjX2luaXQodm9pZCk7CitleHRlcm4gdm9pZCBkY2xfaTJjX2h3X2NmZyAoRENMX0kyQ19PV05FUiBvd25lciwgSTJDX1RSQU5TQUNUSU9OX1RZUEUgdHlwZSwga2FsX3VpbnQ4KiB3cml0ZV9idWZmZXIsIGthbF91aW50MzIgd3JpdGVfbGVuLCBrYWxfdWludDgqIHJlYWRfYnVmZmVyLCBrYWxfdWludDMyIHJlYWRfbGVuLCBrYWxfdWludDMyIHRyYW5zZmVyX251bSk7Cit2b2lkIGRjbF9pMmNfc2V0X3RyYW5zYWN0aW9uX3NwZWVkKERDTF9JMkNfT1dORVIgb3duZXIsSTJDX1RSQU5TQUNUSU9OX01PREUgbW9kZSxrYWxfdWludDE2KiBGYXN0X01vZGVfU3BlZWQsa2FsX3VpbnQxNiogSFNfTW9kZV9TcGVlZCk7CitleHRlcm4ga2FsX3VpbnQzMiBkY2xfaTJjX3dhaXRfdHJhbnNhY3Rpb25fY29tcGxldGVfYW5kX2xvY2soRENMX0kyQ19PV05FUiBvd25lcik7Cit2b2lkIGRjbF9pMmNfd2FpdF90cmFuc2FjdGlvbl9jb21wbGV0ZShrYWxfdWludDMyIHNhdmVkTWFzayk7CisjaWYgZGVmaW5lZChEUlZfSTJDX0JBVENIX1RSQU5TQUNUSU9OX1NVUFBPUlQpCitJMkNfVFJBTlNBQ1RJT05fUkVTVUxUIGRjbF9pMmNfZ2V0X2JhdGNoX3RyYW5zYWN0aW9uX3Jlc3VsdChEQ0xfSTJDX09XTkVSIG93bmVyLGthbF91aW50MzIqIGJhdGNoX251bSk7CitJMkNfVFJBTlNBQ1RJT05fUkVTVUxUIGRjbF9pMmNfYmF0Y2hfdHJhbnNhY3Rpb24oRENMX0kyQ19PV05FUiBvd25lciwgaTJjX2JhdGNoX2RhdGFfc3RydWN0ICpiYXRjaF9kYXRhLCBrYWxfdWludDMyIGJhdGNoX251bSk7CisjZW5kaWYgLy8gI2lmIChkZWZpbmVkKERSVl9JMkNfRE1BX0VOQUJMRUQpKQorCisjZW5kaWYgLy8gI2lmIChkZWZpbmVkKERSVl9JMkNfMjVfU0VSSUVTKSkKKwordm9pZCBDYW1lcmFTY2NiUGFkRW5hYmxlKGthbF9ib29sIE9uKTsKKyNlbmRpZiAvLyAjaWZuZGVmIF9fSTJDX0hfXworCmRpZmYgLS1naXQgYS9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL2kyY19kdWFsX2h3LmggYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL2kyY19kdWFsX2h3LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2MzN2Q5YgotLS0gL2Rldi9udWxsCisrKyBiL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvaTJjX2R1YWxfaHcuaApAQCAtMCwwICsxLDQ3NiBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDA1CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRmlsZW5hbWU6CisgKiAtLS0tLS0tLS0KKyAqICAgIGkyY19kdWFsX2h3LmgKKyAqCisgKiBQcm9qZWN0OgorICogLS0tLS0tLS0KKyAqICAgTWF1aV9Tb2Z0d2FyZQorICoKKyAqIERlc2NyaXB0aW9uOgorICogLS0tLS0tLS0tLS0tCisgKiAgIFRoaXMgZmlsZSBpcyBpbnRlbmRzIGZvciBJMkMgRFVBTCBkcml2ZXIuCisgKgorICogQXV0aG9yOgorICogLS0tLS0tLQorICogLS0tLS0tLQorICoKKyAqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICogICAgICAgICAgICAgSElTVE9SWQorICogQmVsb3cgdGhpcyBsaW5lLCB0aGlzIHBhcnQgaXMgY29udHJvbGxlZCBieSBQVkNTIFZNLiBETyBOT1QgTU9ESUZZISEKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogVXBwZXIgdGhpcyBsaW5lLCB0aGlzIHBhcnQgaXMgY29udHJvbGxlZCBieSBQVkNTIFZNLiBETyBOT1QgTU9ESUZZISEKKyAqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIF9JMkNfRFVBTF9IV19ICisjZGVmaW5lIF9JMkNfRFVBTF9IV19ICisjaW5jbHVkZSAiZHJ2X2ZlYXR1cmVzLmgiCisKKyNpbmNsdWRlICJkcnZfY29tbS5oIgorI2luY2x1ZGUgInJlZ19iYXNlLmgiCisKKyNpZiBkZWZpbmVkKERSVl9JMkNfRFVBTCkKKworI2lmbmRlZiBfX0RSVl9ERUJVR19JMkNfRFVBTF9SRUdfUkVBRF9XUklURV9fCisjZGVmaW5lIEkyQ19EVUFMX0RSVl9DbGVhckJpdHMxNihhZGRyLCBkYXRhKSAgICAgICBEUlZfQ2xlYXJCaXRzKGFkZHIsZGF0YSkKKyNkZWZpbmUgSTJDX0RVQUxfRFJWX1NldEJpdHMxNihhZGRyLCBkYXRhKSAgICAgICAgIERSVl9TZXRCaXRzKGFkZHIsZGF0YSkKKyNkZWZpbmUgSTJDX0RVQUxfRFJWX1dyaXRlUmVnMTYoYWRkciwgZGF0YSkgICAgICAgIERSVl9Xcml0ZVJlZyhhZGRyLCBkYXRhKQorI2RlZmluZSBJMkNfRFVBTF9EUlZfUmVhZFJlZzE2KGFkZHIpICAgICAgICAgICAgICAgRFJWX1JlZyhhZGRyKQorI2RlZmluZSBJMkNfRFVBTF9EUlZfQ2xlYXJCaXRzMzIoYWRkciwgZGF0YSkgICAgICAgRFJWX0NsZWFyQml0czMyKGFkZHIsIGRhdGEpCisjZWxzZSAvLyAjaWZuZGVmIF9fRFJWX0RFQlVHX0kyQ19EVUFMX1JFR19SRUFEX1dSSVRFX18KKyNkZWZpbmUgSTJDX0RVQUxfRFJWX0NsZWFyQml0czE2KGFkZHIsZGF0YSkgICAgICAgIERSVl9EQkdfQ2xlYXJCaXRzKGFkZHIsZGF0YSkKKyNkZWZpbmUgSTJDX0RVQUxfRFJWX1NldEJpdHMxNihhZGRyKSAgICAgICAgICAgICAgIERSVl9EQkdfU2V0Qml0cyhhZGRyKQorI2RlZmluZSBJMkNfRFVBTF9EUlZfV3JpdGVSZWcxNihhZGRyLCBkYXRhKSAgICAgICAgRFJWX0RCR19Xcml0ZVJlZyhhZGRyLCBkYXRhKQorI2RlZmluZSBJMkNfRFVBTF9EUlZfUmVhZFJlZzE2KGFkZHIpICAgICAgICAgICAgICAgRFJWX0RCR19SZWcoYWRkcikKKyNkZWZpbmUgSTJDX0RVQUxfRFJWX0NsZWFyQml0czMyKGFkZHIsIGRhdGEpICAgICAgIERSVl9EQkdfQ2xlYXJCaXRzMzIoYWRkciwgZGF0YSkKKyNlbmRpZiAvLyAjaWZuZGVmIF9fRFJWX0RFQlVHX0kyQ19EVUFMX1JFR19SRUFEX1dSSVRFX18KKworCisKKy8vIEkyQ0QgbWVhbnMgSTJDIERVQUwKKworI2RlZmluZSBJMkNEX0NIMV9EQVRBX1BPUlQJCQkJCQkoSTJDX0RVQUxfYmFzZSArIDB4MDApCisjZGVmaW5lIEkyQ0RfQ0gxX1NMQVZFX0FERFIJCQkJCQkoSTJDX0RVQUxfYmFzZSArIDB4MDQpCisjZGVmaW5lIEkyQ0RfSU5UUl9NQVNLCQkJCQkJCShJMkNfRFVBTF9iYXNlICsgMHgwOCkKKyNkZWZpbmUgSTJDRF9JTlRSX1NUQVQJCQkJCQkJKEkyQ19EVUFMX2Jhc2UgKyAweDBDKQorI2RlZmluZSBJMkNEX0NIMV9DVFJMCQkJCQkJCShJMkNfRFVBTF9iYXNlICsgMHgxMCkKKyNkZWZpbmUgSTJDRF9DSDFfVFJBTlNGRVJfTEVOCQkJCQkoSTJDX0RVQUxfYmFzZSArIDB4MTQpCisjZGVmaW5lIEkyQ0RfQ0gxX1RSQU5TQUNfTEVOCQkJCQkoSTJDX0RVQUxfYmFzZSArIDB4MTgpCisjZGVmaW5lIEkyQ0RfQ0gxX0RFTEFZX0xFTgkJCQkJCShJMkNfRFVBTF9iYXNlICsgMHgxQykKKyNkZWZpbmUgSTJDRF9DSDFfVElNSU5HCQkJCQkJCShJMkNfRFVBTF9iYXNlICsgMHgyMCkKKyNkZWZpbmUgSTJDRF9DSDFfU1RBUlQJCQkJCQkJKEkyQ19EVUFMX2Jhc2UgKyAweDI0KQorI2RlZmluZSBJMkNEX0NIMV9GSUZPX1NUQVQJCQkJCQkoSTJDX0RVQUxfYmFzZSArIDB4MzApCisjZGVmaW5lIEkyQ0RfQ0gxX0ZJRk9fVEhSRVNICQkJCQkoSTJDX0RVQUxfYmFzZSArIDB4MzQpCisjZGVmaW5lIEkyQ0RfQ0gxX0ZJRk9fQUREUl9DTFIJCQkJCShJMkNfRFVBTF9iYXNlICsgMHgzOCkKKyNkZWZpbmUgSTJDRF9JT19DT05GSUcJCQkJCQkJKEkyQ19EVUFMX2Jhc2UgKyAweDQwKQorI2RlZmluZSBJMkNEX0NIMV9IUwkJCQkJCQkJKEkyQ19EVUFMX2Jhc2UgKyAweDQ4KQorI2RlZmluZSBJMkNEX1NPRlRSRVNFVAkJCQkJCQkoSTJDX0RVQUxfYmFzZSArIDB4NTApCisjaWYgZGVmaW5lZChNVDYzMjkpCisjZGVmaW5lIEkyQ0RfSVJRU0VMCQkJCQkJCSAgICAoSTJDX0RVQUxfYmFzZSArIDB4NjApCisjZW5kaWYgLy8gRW5kIG9mICNpZiBkZWZpbmVkKE1UNjMyOSkKKyNkZWZpbmUgSTJDRF9DSDJfREFUQV9QT1JUCQkJCQkJKEkyQ19EVUFMX2Jhc2UgKyAweDgwKQorI2RlZmluZSBJMkNEX0NIMl9TTEFWRV9BRERSCQkJCQkJKEkyQ19EVUFMX2Jhc2UgKyAweDg0KQorI2RlZmluZSBJMkNEX0NIMl9DVFJMCQkJCQkJCShJMkNfRFVBTF9iYXNlICsgMHg5MCkKKyNkZWZpbmUgSTJDRF9DSDJfVFJBTlNGRVJfTEVOCQkJCQkoSTJDX0RVQUxfYmFzZSArIDB4OTQpCisjZGVmaW5lIEkyQ0RfQ0gyX1RSQU5TQUNfTEVOCQkJCQkoSTJDX0RVQUxfYmFzZSArIDB4OTgpCisjZGVmaW5lIEkyQ0RfQ0gyX0RFTEFZX0xFTgkJCQkJCShJMkNfRFVBTF9iYXNlICsgMHg5QykKKyNkZWZpbmUgSTJDRF9DSDJfVElNSU5HCQkJCQkJCShJMkNfRFVBTF9iYXNlICsgMHhBMCkKKyNkZWZpbmUgSTJDRF9DSDJfU1RBUlQJCQkJCQkJKEkyQ19EVUFMX2Jhc2UgKyAweEE0KQorI2RlZmluZSBJMkNEX0NIMl9GSUZPX1NUQVQJCQkJCQkoSTJDX0RVQUxfYmFzZSArIDB4QjApCisjZGVmaW5lIEkyQ0RfQ0gyX0ZJRk9fQUREUl9DTFIJCQkJCShJMkNfRFVBTF9iYXNlICsgMHhCOCkKKworLy8gMHgwMAorI2RlZmluZSBJMkNEX0NIMV9EQVRBX1BPUlRfTUFTSwkJCQkJCQkweDAwRkYJCQkJCQkJCQkKKyNkZWZpbmUgSTJDRF9DSDFfREFUQV9QT1JUX1NISUZUCQkJCQkJMAkJCQkJCQkJCQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCQkJCQkJCQkKKy8vIDB4MDQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQkJCQkJCQkJCisjZGVmaW5lIEkyQ0RfQ0gxX1NMQVZFX0FERFJfTUFTSwkJCQkJCTB4MDBGRgkJCQkJCQkJCQorI2RlZmluZSBJMkNEX0NIMV9TTEFWRV9BRERSX1NISUZUCQkJCQkJMAkJCQkJCQkJCQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCQkJCQkJCQkKKy8vIDB4MDggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQkJCQkJCQkJCisjZGVmaW5lIEkyQ0RfSU5UUl9NQVNLX0NIMV9UUkFOU19DT01QX01BU0sJCQkJMHgwMDAxCQkJCQkJCQkJCisjZGVmaW5lIEkyQ0RfSU5UUl9NQVNLX0NIMV9UUkFOU19DT01QX1NISUZUCQkJCTAJCQkJCQkJCQkKKyNkZWZpbmUgSTJDRF9JTlRSX01BU0tfQ0gxX0FDS19FUlJfTUFTSwkJCQkJMHgwMDAyCQkJCQkJCQkJCisjZGVmaW5lIEkyQ0RfSU5UUl9NQVNLX0NIMV9BQ0tfRVJSX1NISUZUCQkJCTEJCQkJCQkJCQkKKyNkZWZpbmUgSTJDRF9JTlRSX01BU0tfQ0gxX0hTTkFLX0VSUl9NQVNLCQkJCTB4MDAwNAkJCQkJCQkJCQorI2RlZmluZSBJMkNEX0lOVFJfTUFTS19DSDFfSFNOQUtfRVJSX1NISUZUCQkJCTIJCQkJCQkJCQkKKyNkZWZpbmUgSTJDRF9JTlRSX01BU0tfQ0gyX1RSQU5TX0NPTVBfTUFTSwkJCQkweDAwMTAJCQkJCQkJCQkKKyNkZWZpbmUgSTJDRF9JTlRSX01BU0tfQ0gyX1RSQU5TX0NPTVBfU0hJRlQJCQkJNAkJCQkJCQkJCQorI2RlZmluZSBJMkNEX0lOVFJfTUFTS19DSDJfQUNLX0VSUl9NQVNLCQkJCQkweDAwMjAJCQkJCQkJCQkKKyNkZWZpbmUgSTJDRF9JTlRSX01BU0tfQ0gyX0FDS19FUlJfU0hJRlQJCQkJNQkJCQkJCQkJCQorCisvLyAweDBDCisjZGVmaW5lIEkyQ0RfSU5UUl9TVEFUX0NIMV9UUkFOU19DT01QX01BU0sJCQkJMHgwMDAxCisjZGVmaW5lIEkyQ0RfSU5UUl9TVEFUX0NIMV9UUkFOU19DT01QX1NISUZUCQkJCTAKKyNkZWZpbmUgSTJDRF9JTlRSX1NUQVRfQ0gxX0FDS19FUlJfTUFTSwkJCQkJMHgwMDAyCisjZGVmaW5lIEkyQ0RfSU5UUl9TVEFUX0NIMV9BQ0tfRVJSX1NISUZUCQkJCTEKKyNkZWZpbmUgSTJDRF9JTlRSX1NUQVRfQ0gxX0hTTkFLX0VSUl9NQVNLCQkJCTB4MDAwNAorI2RlZmluZSBJMkNEX0lOVFJfU1RBVF9DSDFfSFNOQUtfRVJSX1NISUZUCQkJCTIKKyNkZWZpbmUgSTJDRF9JTlRSX1NUQVRfQ0gyX1RSQU5TX0NPTVBfTUFTSwkJCQkweDAwMTAKKyNkZWZpbmUgSTJDRF9JTlRSX1NUQVRfQ0gyX1RSQU5TX0NPTVBfU0hJRlQJCQkJNAorI2RlZmluZSBJMkNEX0lOVFJfU1RBVF9DSDJfQUNLX0VSUl9NQVNLCQkJCQkweDAwMjAKKyNkZWZpbmUgSTJDRF9JTlRSX1NUQVRfQ0gyX0FDS19FUlJfU0hJRlQJCQkJNQorCisvLyAweDEwCisjZGVmaW5lIEkyQ0RfQ0gxX0NUUkxfUkVTVEFSVF9NQVNLCQkJCQkJMHgwMDAyCisjZGVmaW5lIEkyQ0RfQ0gxX0NUUkxfUkVTVEFSVF9TSElGVAkJCQkJCTEKKyNkZWZpbmUgSTJDRF9DSDFfQ1RSTF9ETUFFTl9NQVNLCQkJCQkJMHgwMDA0CisjZGVmaW5lIEkyQ0RfQ0gxX0NUUkxfRE1BRU5fU0hJRlQJCQkJCQkyCisjZGVmaW5lIEkyQ0RfQ0gxX0NUUkxfQ0xLX0VYVF9FTl9NQVNLCQkJCQkweDAwMDgKKyNkZWZpbmUgSTJDRF9DSDFfQ1RSTF9DTEtfRVhUX0VOX1NISUZUCQkJCQkzCisjZGVmaW5lIEkyQ0RfQ0gxX0NUUkxfRElSX0NIQU5HRV9NQVNLCQkJCQkweDAwMTAKKyNkZWZpbmUgSTJDRF9DSDFfQ1RSTF9ESVJfQ0hBTkdFX1NISUZUCQkJCQk0CisjZGVmaW5lIEkyQ0RfQ0gxX0NUUkxfQUNLRVJSX0RFVF9FTl9NQVNLCQkJCTB4MDAyMAorI2RlZmluZSBJMkNEX0NIMV9DVFJMX0FDS0VSUl9ERVRfRU5fU0hJRlQJCQkJNQorI2RlZmluZSBJMkNEX0NIMV9DVFJMX1RSQU5TRkVSX0xFTl9DSEFOR0VfTUFTSwkJCTB4MDA0MAorI2RlZmluZSBJMkNEX0NIMV9DVFJMX1RSQU5TRkVSX0xFTl9DSEFOR0VfU0hJRlQJCQk2CisKKy8vIDB4MTQKKyNkZWZpbmUgSTJDRF9DSDFfVFJBTlNGRVJfTEVOX1RSQU5TRkVSX0xFTl9NQVNLCQkJMHgwMEZGCisjZGVmaW5lIEkyQ0RfQ0gxX1RSQU5TRkVSX0xFTl9UUkFOU0ZFUl9MRU5fU0hJRlQJCTAKKyNkZWZpbmUgSTJDRF9DSDFfVFJBTlNGRVJfTEVOX1RSQU5TRkVSX0xFTl9BVVhfTUFTSwkJMHgxRjAwCisjZGVmaW5lIEkyQ0RfQ0gxX1RSQU5TRkVSX0xFTl9UUkFOU0ZFUl9MRU5fQVVYX1NISUZUCTgKKworLy8gMHgxOAorI2RlZmluZSBJMkNEX0NIMV9UUkFOU0FDX0xFTl9UUkFOU0FDX0xFTl9NQVNLCQkJMHgwMEZGCisjZGVmaW5lIEkyQ0RfQ0gxX1RSQU5TQUNfTEVOX1RSQU5TQUNfTEVOX1NISUZUCQkJMAorCisvLyAweDFDCisjZGVmaW5lIEkyQ0RfQ0gxX0RFTEFZX0xFTl9ERUxBWV9MRU5fTUFTSwkJCQkweDAwRkYKKyNkZWZpbmUgSTJDRF9DSDFfREVMQVlfTEVOX0RFTEFZX0xFTl9TSElGVAkJCQkwCisKKy8vIDB4MjAKKyNkZWZpbmUgSTJDRF9DSDFfVElNSU5HX1NURVBfQ05UX0RJVl9NQVNLCQkJCTB4MDAzRgorI2RlZmluZSBJMkNEX0NIMV9USU1JTkdfU1RFUF9DTlRfRElWX1NISUZUCQkJCTAKKyNkZWZpbmUgSTJDRF9DSDFfVElNSU5HX1NBTVBMRV9DTlRfRElWX01BU0sJCQkJMHgwNzAwCisjZGVmaW5lIEkyQ0RfQ0gxX1RJTUlOR19TQU1QTEVfQ05UX0RJVl9TSElGVAkJCTgKKyNkZWZpbmUgSTJDRF9DSDFfVElNSU5HX0RBVEFfUkVBRF9NQVNLCQkJCQkweDcwMDAKKyNkZWZpbmUgSTJDRF9DSDFfVElNSU5HX0RBVEFfUkVBRF9TSElGVAkJCQkJMTIKKyNkZWZpbmUgSTJDRF9DSDFfVElNSU5HX0RBVEFfUkVBRF9BREpfTUFTSwkJCQkweDgwMDAKKyNkZWZpbmUgSTJDRF9DSDFfVElNSU5HX0RBVEFfUkVBRF9BREpfU0hJRlQJCQkJMTUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCisvLyAweDI0CisjZGVmaW5lIEkyQ0RfQ0gxX1NUQVJUX1NUQVJUX01BU0sJCQkJCQkweDAwMDEKKyNkZWZpbmUgSTJDRF9DSDFfU1RBUlRfU1RBUlRfU0hJRlQJCQkJCQkwCisKKy8vIDB4MzAKKyNkZWZpbmUgSTJDRF9DSDFfRklGT19TVEFUX1JEX0VNUFRZX01BU0sJCQkJMHgwMDAxCisjZGVmaW5lIEkyQ0RfQ0gxX0ZJRk9fU1RBVF9SRF9FTVBUWV9TSElGVAkJCQkwCisjZGVmaW5lIEkyQ0RfQ0gxX0ZJRk9fU1RBVF9XUl9GVUxMX01BU0sJCQkJCTB4MDAwMgorI2RlZmluZSBJMkNEX0NIMV9GSUZPX1NUQVRfV1JfRlVMTF9TSElGVAkJCQkxCisjZGVmaW5lIEkyQ0RfQ0gxX0ZJRk9fU1RBVF9PRkZTRVRfTUFTSwkJCQkJMHgwMEYwCisjZGVmaW5lIEkyQ0RfQ0gxX0ZJRk9fU1RBVF9PRkZTRVRfU0hJRlQJCQkJCTQKKyNkZWZpbmUgSTJDRF9DSDFfRklGT19TVEFUX1dSX0FERFJfTUFTSwkJCQkJMHgwRjAwCisjZGVmaW5lIEkyQ0RfQ0gxX0ZJRk9fU1RBVF9XUl9BRERSX1NISUZUCQkJCTgKKyNkZWZpbmUgSTJDRF9DSDFfRklGT19TVEFUX1JEX0FERFJfTUFTSwkJCQkJMHhGMDAwCisjZGVmaW5lIEkyQ0RfQ0gxX0ZJRk9fU1RBVF9SRF9BRERSX1NISUZUCQkJCTEyCisKKy8vIDB4MzQKKyNkZWZpbmUgSTJDRF9DSDFfRklGT19USFJFU0hfUlhfVFJJR19NQVNLCQkJCTB4MDAwNworI2RlZmluZSBJMkNEX0NIMV9GSUZPX1RIUkVTSF9SWF9UUklHX1NISUZUCQkJCTAKKyNkZWZpbmUgSTJDRF9DSDFfRklGT19USFJFU0hfVFhfVFJJR19NQVNLCQkJCTB4MDcwMAorI2RlZmluZSBJMkNEX0NIMV9GSUZPX1RIUkVTSF9UWF9UUklHX1NISUZUCQkJCTgKKworLy8gMHgzOAorI2RlZmluZSBJMkNEX0NIMV9GSUZPX0FERFJfQ0xSX0NSX01BU0sJCQkJCTB4MDAwMQorI2RlZmluZSBJMkNEX0NIMV9GSUZPX0FERFJfQ0xSX0NSX1NISUZUCQkJCQkwCisKKy8vIDB4NDAKKyNkZWZpbmUgSTJDRF9JT19DT05GSUdfU0NMX0lPX01BU0sJCQkJCQkweDAwMDEKKyNkZWZpbmUgSTJDRF9JT19DT05GSUdfU0NMX0lPX1NISUZUCQkJCQkJMAorI2RlZmluZSBJMkNEX0lPX0NPTkZJR19TREFfSU9fTUFTSwkJCQkJCTB4MDAwMgorI2RlZmluZSBJMkNEX0lPX0NPTkZJR19TREFfSU9fU0hJRlQJCQkJCQkxCisjZGVmaW5lIEkyQ0RfSU9fQ09ORklHX1NZTkNfRU5fTUFTSwkJCQkJCTB4MDAwNAorI2RlZmluZSBJMkNEX0lPX0NPTkZJR19TWU5DX0VOX1NISUZUCQkJCQkyCisjZGVmaW5lIEkyQ0RfSU9fQ09ORklHX0lETEVfT0VfRU5fTUFTSyAgICAgICAgICAgICAgICAgIDB4MDAwOCAgLy8gTVQ2NTc1CisjZGVmaW5lIEkyQ0RfSU9fQ09ORklHX0lETEVfT0VfU0lGVCAgICAgICAgICAgICAgICAgICAgIDMgICAgICAgLy8gTVQ2NTc1ICAKKworLy8gMHg0OAorI2RlZmluZSBJMkNEX0NIMV9IU19IU19FTl9NQVNLCQkJCQkJCTB4MDAwMQorI2RlZmluZSBJMkNEX0NIMV9IU19IU19FTl9TSElGVAkJCQkJCQkwCisjZGVmaW5lIEkyQ0RfQ0gxX0hTX0hTX05BS19FUlJfREVUX0VOX01BU0sJCQkJMHgwMDAyCisjZGVmaW5lIEkyQ0RfQ0gxX0hTX0hTX05BS19FUlJfREVUX0VOX1NISUZUCQkJCTEKKyNkZWZpbmUgSTJDRF9DSDFfSFNfTUFTVEVSX0NPREVfTUFTSwkJCQkJMHgwMDcwCisjZGVmaW5lIEkyQ0RfQ0gxX0hTX01BU1RFUl9DT0RFX1NISUZUCQkJCQk0CisjZGVmaW5lIEkyQ0RfQ0gxX0hTX0hTX1NURVBfQ05UX0RJVl9NQVNLCQkJCTB4MDcwMAorI2RlZmluZSBJMkNEX0NIMV9IU19IU19TVEVQX0NOVF9ESVZfU0hJRlQJCQkJOAorI2RlZmluZSBJMkNEX0NIMV9IU19IU19TQU1QTEVfQ05UX0RJVl9NQVNLCQkJCTB4NzAwMAorI2RlZmluZSBJMkNEX0NIMV9IU19IU19TQU1QTEVfQ05UX0RJVl9TSElGVAkJCQkxMgorCisvLyAweDUwCisjZGVmaW5lIEkyQ0RfU09GVFJFU0VUX1NPRlRSRVNFVF9NQVNLCQkJCQkweDAwMDEKKyNkZWZpbmUgSTJDRF9TT0ZUUkVTRVRfU09GVFJFU0VUX1NISUZUCQkJCQkwCisKKy8vIDB4NjAKKyNkZWZpbmUgSTJDRF9JUlFfU0VMX0lSUV9TRUxfTUFTSwkJCQkJICAgIDB4MDAwMSAgLy8gTVQ2NTc1CisjZGVmaW5lIEkyQ0RfSVJRX1NFTF9JUlFfU0VMX1NISUZUICAJCQkJCTAgICAgICAgLy8gTVQ2NTc1CisKKy8vIDB4ODAKKyNkZWZpbmUgSTJDRF9DSDJfREFUQV9QT1JUX01BU0sJCQkJCQkJMHgwMEZGCisjZGVmaW5lIEkyQ0RfQ0gyX0RBVEFfUE9SVF9TSElGVAkJCQkJCTAKKworLy8gMHg4NAorI2RlZmluZSBJMkNEX0NIMl9TTEFWRV9BRERSX01BU0sJCQkJCQkweDAwRkYKKyNkZWZpbmUgSTJDRF9DSDJfU0xBVkVfQUREUl9TSElGVAkJCQkJCTAKKworLy8gMHg5MAorI2RlZmluZSBJMkNEX0NIMl9DVFJMX1JFU1RBUlRfTUFTSwkJCQkJCTB4MDAwMgorI2RlZmluZSBJMkNEX0NIMl9DVFJMX1JFU1RBUlRfU0hJRlQJCQkJCQkxCisjZGVmaW5lIEkyQ0RfQ0gyX0NUUkxfQ0xLX0VYVF9FTl9NQVNLCQkJCQkweDAwMDgKKyNkZWZpbmUgSTJDRF9DSDJfQ1RSTF9DTEtfRVhUX0VOX1NISUZUCQkJCQkzCisjZGVmaW5lIEkyQ0RfQ0gyX0NUUkxfRElSX0NIQU5HRV9NQVNLCQkJCQkweDAwMTAKKyNkZWZpbmUgSTJDRF9DSDJfQ1RSTF9ESVJfQ0hBTkdFX1NISUZUCQkJCQk0CisjZGVmaW5lIEkyQ0RfQ0gyX0NUUkxfQUNLRVJSX0RFVF9FTl9NQVNLCQkJCTB4MDAyMAorI2RlZmluZSBJMkNEX0NIMl9DVFJMX0FDS0VSUl9ERVRfRU5fU0hJRlQJCQkJNQorI2RlZmluZSBJMkNEX0NIMl9DVFJMX1RSQU5TRkVSX0xFTl9DSEFOR0VfTUFTSwkJCTB4MDA0MAorI2RlZmluZSBJMkNEX0NIMl9DVFJMX1RSQU5TRkVSX0xFTl9DSEFOR0VfU0hJRlQJCQk2CisjZGVmaW5lIEkyQ0RfQ0gyX0NUUkxfQ0hfV0FJVF9FTl9NQVNLCQkJCQkweDAwODAKKyNkZWZpbmUgSTJDRF9DSDJfQ1RSTF9DSF9XQUlUX0VOX1NISUZUCQkJCQk3CisKKy8vIDB4OTQKKyNkZWZpbmUgSTJDRF9DSDJfVFJBTlNGRVJfTEVOX1RSQU5TRkVSX0xFTl9NQVNLCQkJMHgwMDA3CisjZGVmaW5lIEkyQ0RfQ0gyX1RSQU5TRkVSX0xFTl9UUkFOU0ZFUl9MRU5fU0hJRlQJCTAKKyNkZWZpbmUgSTJDRF9DSDJfVFJBTlNGRVJfTEVOX1RSQU5TRkVSX0xFTl9BVVhfTUFTSwkJMHgwNzAwCisjZGVmaW5lIEkyQ0RfQ0gyX1RSQU5TRkVSX0xFTl9UUkFOU0ZFUl9MRU5fQVVYX1NISUZUCTgKKworLy8gMHg5OAorI2RlZmluZSBJMkNEX0NIMl9UUkFOU0FDX0xFTl9UUkFOU0FDX0xFTl9NQVNLCQkJMHgwMDA3CisjZGVmaW5lIEkyQ0RfQ0gyX1RSQU5TQUNfTEVOX1RSQU5TQUNfTEVOX1NISUZUCQkJMAorCisvLyAweDlDCisjZGVmaW5lIEkyQ0RfQ0gyX0RFTEFZX0xFTl9ERUxBWV9MRU5fTUFTSwkJCQkweDAwMDMKKyNkZWZpbmUgSTJDRF9DSDJfREVMQVlfTEVOX0RFTEFZX0xFTl9TSElGVAkJCQkwCisKKy8vIDB4QTAKKyNkZWZpbmUgSTJDRF9DSDJfVElNSU5HX1NURVBfQ05UX0RJVl9NQVNLCQkJCTB4MDAzRgorI2RlZmluZSBJMkNEX0NIMl9USU1JTkdfU1RFUF9DTlRfRElWX1NISUZUCQkJCTAKKyNkZWZpbmUgSTJDRF9DSDJfVElNSU5HX1NBTVBMRV9DTlRfRElWX01BU0sJCQkJMHgwNzAwCisjZGVmaW5lIEkyQ0RfQ0gyX1RJTUlOR19TQU1QTEVfQ05UX0RJVl9TSElGVAkJCTgKKyNkZWZpbmUgSTJDRF9DSDJfVElNSU5HX0RBVEFfUkVBRF9NQVNLCQkJCQkweDcwMDAKKyNkZWZpbmUgSTJDRF9DSDJfVElNSU5HX0RBVEFfUkVBRF9TSElGVAkJCQkJMTIKKyNkZWZpbmUgSTJDRF9DSDJfVElNSU5HX0RBVEFfUkVBRF9BREpfTUFTSwkJCQkweDgwMDAKKyNkZWZpbmUgSTJDRF9DSDJfVElNSU5HX0RBVEFfUkVBRF9BREpfU0hJRlQJCQkJMTUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCisvLyAweEE0CisjZGVmaW5lIEkyQ0RfQ0gyX1NUQVJUX1NUQVJUX01BU0sJCQkJCQkweDAwMDEKKyNkZWZpbmUgSTJDRF9DSDJfU1RBUlRfU1RBUlRfU0hJRlQJCQkJCQkwCisKKy8vIDB4QjAKKyNkZWZpbmUgSTJDRF9DSDJfRklGT19TVEFUX1JEX0VNUFRZX01BU0sJCQkJMHgwMDAxCisjZGVmaW5lIEkyQ0RfQ0gyX0ZJRk9fU1RBVF9SRF9FTVBUWV9TSElGVAkJCQkwCisjZGVmaW5lIEkyQ0RfQ0gyX0ZJRk9fU1RBVF9XUl9GVUxMX01BU0sJCQkJCTB4MDAwMgorI2RlZmluZSBJMkNEX0NIMl9GSUZPX1NUQVRfV1JfRlVMTF9TSElGVAkJCQkxCisjZGVmaW5lIEkyQ0RfQ0gyX0ZJRk9fU1RBVF9PRkZTRVRfTUFTSwkJCQkJMHgwMEYwCisjZGVmaW5lIEkyQ0RfQ0gyX0ZJRk9fU1RBVF9PRkZTRVRfU0hJRlQJCQkJCTQKKyNkZWZpbmUgSTJDRF9DSDJfRklGT19TVEFUX1dSX0FERFJfTUFTSwkJCQkJMHgwRjAwCisjZGVmaW5lIEkyQ0RfQ0gyX0ZJRk9fU1RBVF9XUl9BRERSX1NISUZUCQkJCTgKKyNkZWZpbmUgSTJDRF9DSDJfRklGT19TVEFUX1JEX0FERFJfTUFTSwkJCQkJMHhGMDAwCisjZGVmaW5lIEkyQ0RfQ0gyX0ZJRk9fU1RBVF9SRF9BRERSX1NISUZUCQkJCTEyCisKKy8vIDB4QjgKKyNkZWZpbmUgSTJDRF9DSDJfRklGT19BRERSX0NMUl9DUl9NQVNLCQkJCQkweDAwMDEKKyNkZWZpbmUgSTJDRF9DSDJfRklGT19BRERSX0NMUl9DUl9TSElGVAkJCQkJMAorCisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisvLyBDaDEgbWFjcm9zCisjZGVmaW5lIEkyQ19EVUFMX0NIMV9DTEVBUl9GSUZPKHZhbCkJCQkJSTJDX0RVQUxfRFJWX1dyaXRlUmVnMTYoSTJDRF9DSDFfRklGT19BRERSX0NMUiwgKGthbF91aW50MTYpMSkKKyNkZWZpbmUgSTJDX0RVQUxfQ0gxX0NMRUFSX0lOVFJfU1RBVCh2YWwpCQkJe1wKKwlrYWxfdWludDE2IHRtcDtcCisJdG1wID0gSTJDX0RVQUxfRFJWX1JlYWRSZWcxNihJMkNEX0lOVFJfU1RBVCk7XAorCXRtcCAmPSAoSTJDRF9JTlRSX1NUQVRfQ0gxX1RSQU5TX0NPTVBfTUFTSyB8IEkyQ0RfSU5UUl9TVEFUX0NIMV9BQ0tfRVJSX01BU0sgfCBJMkNEX0lOVFJfU1RBVF9DSDFfSFNOQUtfRVJSX01BU0spO1wKKwl0bXAgfD0gKHZhbCk7XAorCUkyQ19EVUFMX0RSVl9Xcml0ZVJlZzE2KEkyQ0RfSU5UUl9TVEFULCB0bXApO1wKK30KKyNkZWZpbmUgSTJDX0RVQUxfQ0gxX1NFVF9TTEFWRV9BRERSKHZhbCkJCQlJMkNfRFVBTF9EUlZfV3JpdGVSZWcxNihJMkNEX0NIMV9TTEFWRV9BRERSLCAoa2FsX3VpbnQxNil2YWwpCisjZGVmaW5lIEkyQ19EVUFMX0NIMV9TRVRfVFJBTlNGRVJfTEVOKGxlbjEsIGxlbjIpCXtcCisJa2FsX3VpbnQxNiB0bXA7XAorCXRtcCA9IEkyQ19EVUFMX0RSVl9SZWFkUmVnMTYoSTJDRF9DSDFfVFJBTlNGRVJfTEVOKTtcCisJdG1wICY9IH4oSTJDRF9DSDFfVFJBTlNGRVJfTEVOX1RSQU5TRkVSX0xFTl9NQVNLIHwgSTJDRF9DSDFfVFJBTlNGRVJfTEVOX1RSQU5TRkVSX0xFTl9BVVhfTUFTSyk7XAorCXRtcCB8PSAoKGthbF91aW50MTYpbGVuMSA8PCBJMkNEX0NIMV9UUkFOU0ZFUl9MRU5fVFJBTlNGRVJfTEVOX1NISUZUKTtcCisJdG1wIHw9ICgoa2FsX3VpbnQxNilsZW4yIDw8IEkyQ0RfQ0gxX1RSQU5TRkVSX0xFTl9UUkFOU0ZFUl9MRU5fQVVYX1NISUZUKTtcCisJSTJDX0RVQUxfRFJWX1dyaXRlUmVnMTYoSTJDRF9DSDFfVFJBTlNGRVJfTEVOLCB0bXApO1wKK30KKyNkZWZpbmUgSTJDX0RVQUxfQ0gxX1NFVF9USU1JTkcoc2FtcGxlX2NudCwgc3RlcF9jbnQpCXtcCisJa2FsX3VpbnQxNiB0bXA7XAorCXRtcCA9IEkyQ19EVUFMX0RSVl9SZWFkUmVnMTYoSTJDRF9DSDFfVElNSU5HKTtcCisJdG1wICY9IH4oSTJDRF9DSDFfVElNSU5HX1NURVBfQ05UX0RJVl9NQVNLIHwgSTJDRF9DSDFfVElNSU5HX1NBTVBMRV9DTlRfRElWX01BU0spO1wKKwl0bXAgfD0gKChrYWxfdWludDE2KXNhbXBsZV9jbnQgPDwgSTJDRF9DSDFfVElNSU5HX1NBTVBMRV9DTlRfRElWX1NISUZUKTtcCisJdG1wIHw9ICgoa2FsX3VpbnQxNilzdGVwX2NudCA8PCBJMkNEX0NIMV9USU1JTkdfU1RFUF9DTlRfRElWX1NISUZUKTtcCisJSTJDX0RVQUxfRFJWX1dyaXRlUmVnMTYoSTJDRF9DSDFfVElNSU5HLCB0bXApO1wKK30KKworI2RlZmluZSBJMkNfRFVBTF9DSDFfU0VUX1RSQU5TQUNfTEVOKGxlbikJCUkyQ19EVUFMX0RSVl9Xcml0ZVJlZzE2KEkyQ0RfQ0gxX1RSQU5TQUNfTEVOLCAoa2FsX3VpbnQxNilsZW4pOworI2RlZmluZSBJMkNfRFVBTF9DSDFfU0VUX0RJUl9DSEFOR0UodmFsKQkJe1wKKwlrYWxfdWludDE2IHRtcDtcCisJdG1wID0gSTJDX0RVQUxfRFJWX1JlYWRSZWcxNihJMkNEX0NIMV9DVFJMKTtcCisJdG1wICY9IH5JMkNEX0NIMV9DVFJMX0RJUl9DSEFOR0VfTUFTSztcCisJdG1wIHw9ICgoa2FsX3VpbnQxNil2YWwgPDwgSTJDRF9DSDFfQ1RSTF9ESVJfQ0hBTkdFX1NISUZUKTtcCisJSTJDX0RVQUxfRFJWX1dyaXRlUmVnMTYoSTJDRF9DSDFfQ1RSTCwgdG1wKTtcCit9CisKKyNkZWZpbmUgSTJDX0RVQUxfQ0gxX1NFVF9SRVNUQVJUKHZhbCkJCXtcCisJa2FsX3VpbnQxNiB0bXA7XAorCXRtcCA9IEkyQ19EVUFMX0RSVl9SZWFkUmVnMTYoSTJDRF9DSDFfQ1RSTCk7XAorCXRtcCAmPSB+STJDRF9DSDFfQ1RSTF9SRVNUQVJUX01BU0s7XAorCXRtcCB8PSAoKGthbF91aW50MTYpdmFsIDw8IEkyQ0RfQ0gxX0NUUkxfUkVTVEFSVF9TSElGVCk7XAorCUkyQ19EVUFMX0RSVl9Xcml0ZVJlZzE2KEkyQ0RfQ0gxX0NUUkwsIHRtcCk7XAorfQorCisjZGVmaW5lIEkyQ19EVUFMX0NIMV9TRVRfSU5UUih2YWwpCQl7XAorCWthbF91aW50MTYgdG1wO1wKKwl0bXAgPSBJMkNfRFVBTF9EUlZfUmVhZFJlZzE2KEkyQ0RfSU5UUl9NQVNLKTtcCisJdG1wIHw9ICh2YWwgJiAoSTJDRF9JTlRSX01BU0tfQ0gxX1RSQU5TX0NPTVBfTUFTSyB8IEkyQ0RfSU5UUl9NQVNLX0NIMV9BQ0tfRVJSX01BU0sgfCBJMkNEX0lOVFJfTUFTS19DSDFfSFNOQUtfRVJSX01BU0spKTtcCisJSTJDX0RVQUxfRFJWX1dyaXRlUmVnMTYoSTJDRF9JTlRSX01BU0ssIChrYWxfdWludDE2KXRtcCk7XAorfQorCisjZGVmaW5lIEkyQ19EVUFMX0NIMV9DTFJfSU5UUih2YWwpCQl7XAorCWthbF91aW50MTYgdG1wO1wKKwl0bXAgPSBJMkNfRFVBTF9EUlZfUmVhZFJlZzE2KEkyQ0RfSU5UUl9NQVNLKTtcCisJdG1wICY9IH4odmFsICYgKEkyQ0RfSU5UUl9NQVNLX0NIMV9UUkFOU19DT01QX01BU0sgfCBJMkNEX0lOVFJfTUFTS19DSDFfQUNLX0VSUl9NQVNLIHwgSTJDRF9JTlRSX01BU0tfQ0gxX0hTTkFLX0VSUl9NQVNLKSApO1wKKwlJMkNfRFVBTF9EUlZfV3JpdGVSZWcxNihJMkNEX0lOVFJfTUFTSywgKGthbF91aW50MTYpdG1wKTtcCit9CisKKworI2RlZmluZSBJMkNfRFVBTF9DSDFfU0VUX0RBVEFfUE9SVCh2YWwpCQkJSTJDX0RVQUxfRFJWX1dyaXRlUmVnMTYoSTJDRF9DSDFfREFUQV9QT1JULCAoa2FsX3VpbnQxNil2YWwpCisjZGVmaW5lIEkyQ19EVUFMX0NIMV9TRVRfU1RBUlQodmFsKQkJCQkJCUkyQ19EVUFMX0RSVl9Xcml0ZVJlZzE2KEkyQ0RfQ0gxX1NUQVJULCBJMkNEX0NIMV9TVEFSVF9TVEFSVF9NQVNLKTsKKworCisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisvLyBDaDIgbWFjcm9zCisjZGVmaW5lIEkyQ19EVUFMX0NIMl9DTEVBUl9GSUZPKHZhbCkJCQkJSTJDX0RVQUxfRFJWX1dyaXRlUmVnMTYoSTJDRF9DSDJfRklGT19BRERSX0NMUiwgKGthbF91aW50MTYpMSkKKyNkZWZpbmUgSTJDX0RVQUxfQ0gyX0NMRUFSX0lOVFJfU1RBVCh2YWwpCQkJe1wKKwlrYWxfdWludDE2IHRtcDtcCisJdG1wID0gSTJDX0RVQUxfRFJWX1JlYWRSZWcxNihJMkNEX0lOVFJfU1RBVCk7XAorCXRtcCAmPSAoSTJDRF9JTlRSX1NUQVRfQ0gyX1RSQU5TX0NPTVBfTUFTSyB8IEkyQ0RfSU5UUl9TVEFUX0NIMl9BQ0tfRVJSX01BU0spO1wKKwl0bXAgfD0gKHZhbCk7XAorCUkyQ19EVUFMX0RSVl9Xcml0ZVJlZzE2KEkyQ0RfSU5UUl9TVEFULCB0bXApO1wKK30KKyNkZWZpbmUgSTJDX0RVQUxfQ0gyX1NFVF9TTEFWRV9BRERSKHZhbCkJCQlJMkNfRFVBTF9EUlZfV3JpdGVSZWcxNihJMkNEX0NIMl9TTEFWRV9BRERSLCAoa2FsX3VpbnQxNil2YWwpCisjZGVmaW5lIEkyQ19EVUFMX0NIMl9TRVRfVFJBTlNGRVJfTEVOKGxlbjEsIGxlbjIpCXtcCisJa2FsX3VpbnQxNiB0bXA7XAorCXRtcCA9IEkyQ19EVUFMX0RSVl9SZWFkUmVnMTYoSTJDRF9DSDJfVFJBTlNGRVJfTEVOKTtcCisJdG1wICY9IH4oSTJDRF9DSDJfVFJBTlNGRVJfTEVOX1RSQU5TRkVSX0xFTl9NQVNLIHwgSTJDRF9DSDJfVFJBTlNGRVJfTEVOX1RSQU5TRkVSX0xFTl9BVVhfTUFTSyk7XAorCXRtcCB8PSAoKGthbF91aW50MTYpbGVuMSA8PCBJMkNEX0NIMl9UUkFOU0ZFUl9MRU5fVFJBTlNGRVJfTEVOX1NISUZUKTtcCisJdG1wIHw9ICgoa2FsX3VpbnQxNilsZW4yIDw8IEkyQ0RfQ0gyX1RSQU5TRkVSX0xFTl9UUkFOU0ZFUl9MRU5fQVVYX1NISUZUKTtcCisJSTJDX0RVQUxfRFJWX1dyaXRlUmVnMTYoSTJDRF9DSDJfVFJBTlNGRVJfTEVOLCB0bXApO1wKK30KKyNkZWZpbmUgSTJDX0RVQUxfQ0gyX1NFVF9USU1JTkcoc2FtcGxlX2NudCwgc3RlcF9jbnQpCXtcCisJa2FsX3VpbnQxNiB0bXA7XAorCXRtcCA9IEkyQ19EVUFMX0RSVl9SZWFkUmVnMTYoSTJDRF9DSDJfVElNSU5HKTtcCisJdG1wICY9IH4oSTJDRF9DSDJfVElNSU5HX1NURVBfQ05UX0RJVl9NQVNLIHwgSTJDRF9DSDJfVElNSU5HX1NBTVBMRV9DTlRfRElWX01BU0spO1wKKwl0bXAgfD0gKChrYWxfdWludDE2KXNhbXBsZV9jbnQgPDwgSTJDRF9DSDJfVElNSU5HX1NBTVBMRV9DTlRfRElWX1NISUZUKTtcCisJdG1wIHw9ICgoa2FsX3VpbnQxNilzdGVwX2NudCA8PCBJMkNEX0NIMl9USU1JTkdfU1RFUF9DTlRfRElWX1NISUZUKTtcCisJSTJDX0RVQUxfRFJWX1dyaXRlUmVnMTYoSTJDRF9DSDJfVElNSU5HLCB0bXApO1wKK30KKworI2RlZmluZSBJMkNfRFVBTF9DSDJfU0VUX1RSQU5TQUNfTEVOKGxlbikJCUkyQ19EVUFMX0RSVl9Xcml0ZVJlZzE2KEkyQ0RfQ0gyX1RSQU5TQUNfTEVOLCAoa2FsX3VpbnQxNilsZW4pOworI2RlZmluZSBJMkNfRFVBTF9DSDJfU0VUX0RJUl9DSEFOR0UodmFsKQkJe1wKKwlrYWxfdWludDE2IHRtcDtcCisJdG1wID0gSTJDX0RVQUxfRFJWX1JlYWRSZWcxNihJMkNEX0NIMl9DVFJMKTtcCisJdG1wICY9IH5JMkNEX0NIMl9DVFJMX0RJUl9DSEFOR0VfTUFTSztcCisJdG1wIHw9ICgoa2FsX3VpbnQxNil2YWwgPDwgSTJDRF9DSDJfQ1RSTF9ESVJfQ0hBTkdFX1NISUZUKTtcCisJSTJDX0RVQUxfRFJWX1dyaXRlUmVnMTYoSTJDRF9DSDJfQ1RSTCwgdG1wKTtcCit9CisKKyNkZWZpbmUgSTJDX0RVQUxfQ0gyX1NFVF9SRVNUQVJUKHZhbCkJCXtcCisJa2FsX3VpbnQxNiB0bXA7XAorCXRtcCA9IEkyQ19EVUFMX0RSVl9SZWFkUmVnMTYoSTJDRF9DSDJfQ1RSTCk7XAorCXRtcCAmPSB+STJDRF9DSDJfQ1RSTF9SRVNUQVJUX01BU0s7XAorCXRtcCB8PSAoKGthbF91aW50MTYpdmFsIDw8IEkyQ0RfQ0gyX0NUUkxfUkVTVEFSVF9TSElGVCk7XAorCUkyQ19EVUFMX0RSVl9Xcml0ZVJlZzE2KEkyQ0RfQ0gyX0NUUkwsIHRtcCk7XAorfQorCisjZGVmaW5lIEkyQ19EVUFMX0NIMl9TRVRfSU5UUih2YWwpCQl7XAorCWthbF91aW50MTYgdG1wO1wKKwl0bXAgPSBJMkNfRFVBTF9EUlZfUmVhZFJlZzE2KEkyQ0RfSU5UUl9NQVNLKTtcCisJdG1wIHw9ICh2YWwgJiAoSTJDRF9JTlRSX01BU0tfQ0gyX1RSQU5TX0NPTVBfTUFTSyB8IEkyQ0RfSU5UUl9NQVNLX0NIMl9BQ0tfRVJSX01BU0spKTtcCisJSTJDX0RVQUxfRFJWX1dyaXRlUmVnMTYoSTJDRF9JTlRSX01BU0ssIChrYWxfdWludDE2KXRtcCk7XAorfQorCisjZGVmaW5lIEkyQ19EVUFMX0NIMl9DTFJfSU5UUih2YWwpCQl7XAorCWthbF91aW50MTYgdG1wO1wKKwl0bXAgPSBJMkNfRFVBTF9EUlZfUmVhZFJlZzE2KEkyQ0RfSU5UUl9NQVNLKTtcCisJdG1wICY9IH4odmFsICYgKEkyQ0RfSU5UUl9NQVNLX0NIMl9UUkFOU19DT01QX01BU0sgfCBJMkNEX0lOVFJfTUFTS19DSDJfQUNLX0VSUl9NQVNLKSApO1wKKwlJMkNfRFVBTF9EUlZfV3JpdGVSZWcxNihJMkNEX0lOVFJfTUFTSywgKGthbF91aW50MTYpdG1wKTtcCit9CisKKyNkZWZpbmUgSTJDX0RVQUxfQ0gyX1NFVF9EQVRBX1BPUlQodmFsKQkJCQlJMkNfRFVBTF9EUlZfV3JpdGVSZWcxNihJMkNEX0NIMl9EQVRBX1BPUlQsIChrYWxfdWludDE2KXZhbCkKKyNkZWZpbmUgSTJDX0RVQUxfQ0gyX1NFVF9TVEFSVCh2YWwpCQkJCQkJSTJDX0RVQUxfRFJWX1dyaXRlUmVnMTYoSTJDRF9DSDJfU1RBUlQsIEkyQ0RfQ0gyX1NUQVJUX1NUQVJUX01BU0spOworCisjZW5kaWYgLy8gI2lmIGRlZmluZWQoRFJWX0kyQ19EVUFMKQorCisjZW5kaWYgLy8gI2lmbmRlZiBfSTJDX0RVQUxfSFdfSAorCmRpZmYgLS1naXQgYS9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL2kyY19kdWFsX3N3LmggYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL2kyY19kdWFsX3N3LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWQzOGUyOAotLS0gL2Rldi9udWxsCisrKyBiL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvaTJjX2R1YWxfc3cuaApAQCAtMCwwICsxLDIxMyBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDA1CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuIAorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZpbGVuYW1lOgorICogLS0tLS0tLS0tCisgKiAgICBpMmNfZHVhbF9zdy5oCisgKgorICogUHJvamVjdDoKKyAqIC0tLS0tLS0tCisgKiAgIE1hdWlfU29mdHdhcmUKKyAqCisgKiBEZXNjcmlwdGlvbjoKKyAqIC0tLS0tLS0tLS0tLQorICogICBUaGlzIGZpbGUgaXMgaW50ZW5kZWQgZm9yIEkyQyBEVUFMIGRyaXZlci4KKyAqCisgKiBBdXRob3I6CisgKiAtLS0tLS0tCisgKiAtLS0tLS0tCisgKgorICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKiAgICAgICAgICAgICBISVNUT1JZCisgKiBCZWxvdyB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiBVcHBlciB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmbmRlZiBfX0kyQ19EVUFMX1NXX0hfXworI2RlZmluZSBfX0kyQ19EVUFMX1NXX0hfXworCisKKy8vIE1vRElTIHBhcnNlciBza2lwIHN0YXJ0CisvLyBUaGUgZm9sbG93aW5nIGFyZSBwcml2YXRlIEFQSXMKKy8vIEkyQyBEVUFMIGRyaXZlciBpcyBvbmx5IHVzZWQgYnkgUE1JQzYzMjYgZm9yIG5vdywgTk9UIGV4cG9ydGVkIGZvciBvdGhlciBvd25lcnMKKworLy8gI2RlZmluZSBNRUFTVVJFX0kyQ19EVUFMX1BFUklPRAorLy8jZGVmaW5lIEkyQ19EVUFMX0FQX01EX1RFU1QKKworI2RlZmluZSBJMkNfRFVBTF9DSEFOTkVMMSAgICAgICAxCisjZGVmaW5lIEkyQ19EVUFMX0NIQU5ORUwyICAgICAgIDIKKyNkZWZpbmUgSTJDX0RVQUxfUkVBRCAgICAgICAgICAgMAorI2RlZmluZSBJMkNfRFVBTF9XUklURSAgICAgICAgICAxCisKKyNkZWZpbmUgSTJDX0NMS19SQVRFICAgICAgICAgICAgICAgICAgICAgICAgMTYyNTAvLzEzMDAwICAgCisKKyNkZWZpbmUgTUFYX1NUX01PREVfU1BFRUQgICAgICAgICAgICAgICAgICAgMTAwICAgICAvKiBraHogKi8KKyNkZWZpbmUgTUFYX0ZTX01PREVfU1BFRUQgICAgICAgICAgICAgICAgICAgMTAwMCAgICAgLyoga2h6ICovCisjZGVmaW5lIE1BWF9IU19NT0RFX1NQRUVEICAgICAgICAgICAgICAgICAgIDM0MDAgICAgLyoga2h6ICovCisKKyNkZWZpbmUgTUFYX1NBTVBMRV9DTlRfRElWICAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBNQVhfU1RFUF9DTlRfRElWICAgICAgICAgICAgICAgICAgICA2NAorI2RlZmluZSBNQVhfSFNfU1RFUF9DTlRfRElWICAgICAgICAgICAgICAgICA4CisKK3R5cGVkZWYgZW51bSB7CisgICAgU1RfTU9ERSwKKyAgICBGU19NT0RFLAorICAgIEhTX01PREUsCit9IEkyQ19TUERfTU9ERTsKKworI2lmIGRlZmluZWQoTVQ2MzI2KQora2FsX2Jvb2wgcG1pYzYzMjZfcmVnX3dyaXRlKGthbF91aW50OCByZWcsIGthbF91aW50OCB2YWwpOwora2FsX2Jvb2wgcG1pYzYzMjZfcmVnX3JlYWQoa2FsX3VpbnQ4IHJlZywga2FsX3VpbnQ4ICpwdmFsKTsKKwora2FsX2Jvb2wgcG1pYzYzMjZfcmVnX3dyaXRlX2ludHIoa2FsX3VpbnQ4IHJlZywga2FsX3VpbnQ4IHZhbCk7CitrYWxfYm9vbCBwbWljNjMyNl9yZWdfcmVhZF9pbnRyKGthbF91aW50OCByZWcsIGthbF91aW50OCAqcHZhbCk7CisKK2thbF9ib29sIHBtaWM2MzI2X3JlZ193cml0ZV9wb2xsaW5nKGthbF91aW50OCByZWcsIGthbF91aW50OCB2YWwpOwora2FsX2Jvb2wgcG1pYzYzMjZfcmVnX3JlYWRfcG9sbGluZyhrYWxfdWludDggcmVnLCBrYWxfdWludDggKnB2YWwpOworCitrYWxfYm9vbCBwbWljNjMyNl9yZWdfd3JpdGVfZmFzdChrYWxfdWludDggcmVnLCBrYWxfdWludDggdmFsKTsKK2thbF9ib29sIHBtaWM2MzI2X3JlZ19yZWFkX2Zhc3Qoa2FsX3VpbnQ4IHJlZywga2FsX3VpbnQ4ICpwdmFsKTsKKwora2FsX2Jvb2wgcG1pYzYzMjZfY2gyX3JlZ193cml0ZShrYWxfdWludDggcmVnLCBrYWxfdWludDggdmFsKTsKK2thbF9ib29sIHBtaWM2MzI2X2NoMl9yZWdfcmVhZChrYWxfdWludDggcmVnLCBrYWxfdWludDggKnB2YWwpOworCitrYWxfYm9vbCBwbWljNjMyNl9jaDJfcmVnX3dyaXRlX2ludHIoa2FsX3VpbnQ4IHJlZywga2FsX3VpbnQ4IHZhbCk7CitrYWxfYm9vbCBwbWljNjMyNl9jaDJfcmVnX3JlYWRfaW50cihrYWxfdWludDggcmVnLCBrYWxfdWludDggKnB2YWwpOworCitrYWxfYm9vbCBwbWljNjMyNl9jaDJfcmVnX3dyaXRlX3BvbGxpbmcoa2FsX3VpbnQ4IHJlZywga2FsX3VpbnQ4IHZhbCk7CitrYWxfYm9vbCBwbWljNjMyNl9jaDJfcmVnX3JlYWRfcG9sbGluZyhrYWxfdWludDggcmVnLCBrYWxfdWludDggKnB2YWwpOworCitrYWxfYm9vbCBwbWljNjMyNl9jaDJfcmVnX3dyaXRlX2Zhc3Qoa2FsX3VpbnQ4IHJlZywga2FsX3VpbnQ4IHZhbCk7CitrYWxfYm9vbCBwbWljNjMyNl9jaDJfcmVnX3JlYWRfZmFzdChrYWxfdWludDggcmVnLCBrYWxfdWludDggKnB2YWwpOworCisjZWxpZiAoZGVmaW5lZChNVDYzMjkpIHx8IGRlZmluZWQoTVQ2MzI3KSkKKyNkZWZpbmUgUE1JQ19CQU5LMCAgICAgICAgICAgICAgMAorI2RlZmluZSBQTUlDX0JBTksxICAgICAgICAgICAgICAxCisKKyNpZiBkZWZpbmVkKE1FQVNVUkVfSTJDX0RVQUxfUEVSSU9EKQorZXh0ZXJuIGthbF91aW50MzIgaTJjX2R1YWxfdGltZTE7CitleHRlcm4ga2FsX3VpbnQzMiBpMmNfZHVhbF90aW1lMjsKK2V4dGVybiBrYWxfdWludDMyIGkyY19kdWFsX3RpbWUzOworI2VuZGlmCisKK2thbF9ib29sIHBtaWM2MzI5X3JlZ193cml0ZShrYWxfdWludDggcmVnLCBrYWxfdWludDggdmFsLCBrYWxfdWludDMyIGJhbmspOwora2FsX2Jvb2wgcG1pYzYzMjlfcmVnX3JlYWQoa2FsX3VpbnQ4IHJlZywga2FsX3VpbnQ4ICpwdmFsLCBrYWxfdWludDMyIGJhbmspOworCitrYWxfYm9vbCBwbWljNjMyOV9yZWdfd3JpdGVfaW50cihrYWxfdWludDggcmVnLCBrYWxfdWludDggdmFsLCBrYWxfdWludDMyIGJhbmspOwora2FsX2Jvb2wgcG1pYzYzMjlfcmVnX3JlYWRfaW50cihrYWxfdWludDggcmVnLCBrYWxfdWludDggKnB2YWwsIGthbF91aW50MzIgYmFuayk7CisKK2thbF9ib29sIHBtaWM2MzI5X3JlZ193cml0ZV9wb2xsaW5nKGthbF91aW50OCByZWcsIGthbF91aW50OCB2YWwsIGthbF91aW50MzIgYmFuayk7CitrYWxfYm9vbCBwbWljNjMyOV9yZWdfcmVhZF9wb2xsaW5nKGthbF91aW50OCByZWcsIGthbF91aW50OCAqcHZhbCwga2FsX3VpbnQzMiBiYW5rKTsKKwora2FsX2Jvb2wgcG1pYzYzMjlfcmVnX3dyaXRlX2Zhc3Qoa2FsX3VpbnQ4IHJlZywga2FsX3VpbnQ4IHZhbCwga2FsX3VpbnQzMiBiYW5rKTsKK2thbF9ib29sIHBtaWM2MzI5X3JlZ19yZWFkX2Zhc3Qoa2FsX3VpbnQ4IHJlZywga2FsX3VpbnQ4ICpwdmFsLCBrYWxfdWludDMyIGJhbmspOworCitrYWxfYm9vbCBwbWljNjMyOV9jaDJfcmVnX3dyaXRlKGthbF91aW50OCByZWcsIGthbF91aW50OCB2YWwsIGthbF91aW50MzIgYmFuayk7CitrYWxfYm9vbCBwbWljNjMyOV9jaDJfcmVnX3JlYWQoa2FsX3VpbnQ4IHJlZywga2FsX3VpbnQ4ICpwdmFsLCBrYWxfdWludDMyIGJhbmspOworCitrYWxfYm9vbCBwbWljNjMyOV9jaDJfcmVnX3dyaXRlX2ludHIoa2FsX3VpbnQ4IHJlZywga2FsX3VpbnQ4IHZhbCwga2FsX3VpbnQzMiBiYW5rKTsKK2thbF9ib29sIHBtaWM2MzI5X2NoMl9yZWdfcmVhZF9pbnRyKGthbF91aW50OCByZWcsIGthbF91aW50OCAqcHZhbCwga2FsX3VpbnQzMiBiYW5rKTsKKwora2FsX2Jvb2wgcG1pYzYzMjlfY2gyX3JlZ193cml0ZV9wb2xsaW5nKGthbF91aW50OCByZWcsIGthbF91aW50OCB2YWwsIGthbF91aW50MzIgYmFuayk7CitrYWxfYm9vbCBwbWljNjMyOV9jaDJfcmVnX3JlYWRfcG9sbGluZyhrYWxfdWludDggcmVnLCBrYWxfdWludDggKnB2YWwsIGthbF91aW50MzIgYmFuayk7CisKK2thbF9ib29sIHBtaWM2MzI5X2NoMl9yZWdfd3JpdGVfZmFzdChrYWxfdWludDggcmVnLCBrYWxfdWludDggdmFsLCBrYWxfdWludDMyIGJhbmspOwora2FsX2Jvb2wgcG1pYzYzMjlfY2gyX3JlZ19yZWFkX2Zhc3Qoa2FsX3VpbnQ4IHJlZywga2FsX3VpbnQ4ICpwdmFsLCBrYWxfdWludDMyIGJhbmspOworCisKKy8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisvLyBJMkMgRXhwb3J0ZWQgRnVuY3Rpb24KKy8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CitleHRlcm4gdm9pZCBpMmNfdjFfc2V0X3NwZWVkICh1bnNpZ25lZCBsb25nIGNsb2NrLCBJMkNfU1BEX01PREUgbW9kZSwgdW5zaWduZWQgbG9uZyBraHopOworZXh0ZXJuIHZvaWQgaTJjX2R1YWxfYXBfbWRfdGVzdCh2b2lkKTsKK2V4dGVybiBrYWxfYm9vbCBpMmNfZHVhbF9wb2xsaW5nX3RyYW5zX2NvbXAoa2FsX3VpbnQzMiBjaGFubmVsKTsKKyNlbmRpZiAvLyBFbmQgb2YgI2lmIGRlZmluZWQoTVQ2MzI2KQorLy8gTW9ESVMgcGFyc2VyIHNraXAgZW5kCisKKyNlbmRpZiAvLyAjaWZuZGVmIF9fSTJDX0RVQUxfU1dfSF9fCisKZGlmZiAtLWdpdCBhL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvaTJjX3BtaWNfaHcuaCBiL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvaTJjX3BtaWNfaHcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYWUzOGMzCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9pMmNfcG1pY19ody5oCkBAIC0wLDAgKzEsMzk1IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMDUKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4KKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGaWxlbmFtZToKKyAqIC0tLS0tLS0tLQorICogICAgaTJjX3BtaWNfaHcuaAorICoKKyAqIFByb2plY3Q6CisgKiAtLS0tLS0tLQorICogICBNYXVpX1NvZnR3YXJlCisgKgorICogRGVzY3JpcHRpb246CisgKiAtLS0tLS0tLS0tLS0KKyAqICAgVGhpcyBmaWxlIGlzIGludGVuZHMgZm9yIEkyQyBEVUFMIGRyaXZlci4KKyAqCisgKiBBdXRob3I6CisgKiAtLS0tLS0tCisgKiAtLS0tLS0tCisgKgorICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKiAgICAgICAgICAgICBISVNUT1JZCisgKiBCZWxvdyB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogVXBwZXIgdGhpcyBsaW5lLCB0aGlzIHBhcnQgaXMgY29udHJvbGxlZCBieSBQVkNTIFZNLiBETyBOT1QgTU9ESUZZISEKKyAqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIF9JMkNfUE1JQ19IV19ICisjZGVmaW5lIF9JMkNfUE1JQ19IV19ICisjaW5jbHVkZSAiZHJ2X2ZlYXR1cmVzLmgiCisKKyNpbmNsdWRlICJkcnZfY29tbS5oIgorI2luY2x1ZGUgInJlZ19iYXNlLmgiCisKKyNpZiBkZWZpbmVkKERSVl9JMkNfUE1JQykKKworI2lmbmRlZiBfX0RSVl9ERUJVR19JMkNfUE1JQ19SRUdfUkVBRF9XUklURV9fCisjZGVmaW5lIEkyQ19QTUlDX0RSVl9DbGVhckJpdHMxNihhZGRyLCBkYXRhKSAgICAgICBEUlZfQ2xlYXJCaXRzKGFkZHIsZGF0YSkKKyNkZWZpbmUgSTJDX1BNSUNfRFJWX1NldEJpdHMxNihhZGRyLCBkYXRhKSAgICAgICAgIERSVl9TZXRCaXRzKGFkZHIsZGF0YSkKKyNkZWZpbmUgSTJDX1BNSUNfRFJWX1dyaXRlUmVnMTYoYWRkciwgZGF0YSkgICAgICAgIERSVl9Xcml0ZVJlZyhhZGRyLCBkYXRhKQorI2RlZmluZSBJMkNfUE1JQ19EUlZfUmVhZFJlZzE2KGFkZHIpICAgICAgICAgICAgICAgRFJWX1JlZyhhZGRyKQorI2RlZmluZSBJMkNfUE1JQ19EUlZfQ2xlYXJCaXRzMzIoYWRkciwgZGF0YSkgICAgICAgRFJWX0NsZWFyQml0czMyKGFkZHIsIGRhdGEpCisjZGVmaW5lIEkyQ19QTUlDX0RSVl9TZXREYXRhKGFkZHIsIGJpdG1hc2ssIHZhbHVlKSAgICAgICBEUlZfU2V0RGF0YShhZGRyLCBiaXRtYXNrLCB2YWx1ZSkKKyNlbHNlIC8vICNpZm5kZWYgX19EUlZfREVCVUdfSTJDX1BNSUNfUkVHX1JFQURfV1JJVEVfXworI2RlZmluZSBJMkNfUE1JQ19EUlZfQ2xlYXJCaXRzMTYoYWRkcixkYXRhKSAgICAgICAgRFJWX0RCR19DbGVhckJpdHMoYWRkcixkYXRhKQorI2RlZmluZSBJMkNfUE1JQ19EUlZfU2V0Qml0czE2KGFkZHIpICAgICAgICAgICAgICAgRFJWX0RCR19TZXRCaXRzKGFkZHIpCisjZGVmaW5lIEkyQ19QTUlDX0RSVl9Xcml0ZVJlZzE2KGFkZHIsIGRhdGEpICAgICAgICBEUlZfREJHX1dyaXRlUmVnKGFkZHIsIGRhdGEpCisjZGVmaW5lIEkyQ19QTUlDX0RSVl9SZWFkUmVnMTYoYWRkcikgICAgICAgICAgICAgICBEUlZfREJHX1JlZyhhZGRyKQorI2RlZmluZSBJMkNfUE1JQ19EUlZfQ2xlYXJCaXRzMzIoYWRkciwgZGF0YSkgICAgICAgRFJWX0RCR19DbGVhckJpdHMzMihhZGRyLCBkYXRhKQorI2RlZmluZSBJMkNfUE1JQ19EUlZfU2V0RGF0YShhZGRyLCBiaXRtYXNrLCB2YWx1ZSkgICAgICAgRFJWX1NldERhdGEoYWRkciwgYml0bWFzaywgdmFsdWUpCisjZW5kaWYgLy8gI2lmbmRlZiBfX0RSVl9ERUJVR19JMkNfUE1JQ19SRUdfUkVBRF9XUklURV9fCisKKworLy8jZGVmaW5lIEkyQ1BfYmFzZSBJMkNfRFVBTF9iYXNlCisjZGVmaW5lIEkyQ1BfYmFzZSBJMkNfYmFzZQorI2RlZmluZSBQTUlDNjMyN19JMkNfSUQJCSAgICAweEMwCisKKworLy8gSTJDUCBtZWFucyBJMkMgZm9yIFBNSUMKKyNkZWZpbmUgSTJDUF9EQVRBX1BPUlQJCQkJCQkoSTJDUF9iYXNlICsgMHgwMCkKKyNkZWZpbmUgSTJDUF9TTEFWRV9BRERSCQkJCQkoSTJDUF9iYXNlICsgMHgwNCkKKyNkZWZpbmUgSTJDUF9JTlRSX01BU0sJCQkJCQkoSTJDUF9iYXNlICsgMHgwOCkKKyNkZWZpbmUgSTJDUF9JTlRSX1NUQVQJCQkJCQkoSTJDUF9iYXNlICsgMHgwQykKKyNkZWZpbmUgSTJDUF9DVFJMCQkJCQkJCShJMkNQX2Jhc2UgKyAweDEwKQorI2RlZmluZSBJMkNQX1RSQU5TRkVSX0xFTgkJCQkJKEkyQ1BfYmFzZSArIDB4MTQpCisjZGVmaW5lIEkyQ1BfVFJBTlNGRVJfTEVOX0FVWAkJCQkoSTJDUF9iYXNlICsgMHg2YykKKyNkZWZpbmUgSTJDUF9UUkFOU0FDX0xFTgkJCQkJKEkyQ1BfYmFzZSArIDB4MTgpCisjZGVmaW5lIEkyQ1BfREVMQVlfTEVOCQkJCQkJKEkyQ1BfYmFzZSArIDB4MUMpCisjZGVmaW5lIEkyQ1BfVElNSU5HCQkJCQkJCShJMkNQX2Jhc2UgKyAweDIwKQorI2RlZmluZSBJMkNQX1NUQVJUCQkJCQkJCShJMkNQX2Jhc2UgKyAweDI0KQorI2RlZmluZSBJMkNQX0ZJRk9fU1RBVAkJCQkJCShJMkNQX2Jhc2UgKyAweDMwKQorI2RlZmluZSBJMkNQX0ZJRk9fVEhSRVNICQkJCQkoSTJDUF9iYXNlICsgMHgzNCkKKyNkZWZpbmUgSTJDUF9GSUZPX0FERFJfQ0xSCQkJCQkoSTJDUF9iYXNlICsgMHgzOCkKKyNkZWZpbmUgSTJDUF9JT19DT05GSUcJCQkJCQkoSTJDUF9iYXNlICsgMHg0MCkKKyNkZWZpbmUgSTJDUF9IUwkJCQkJCQkJKEkyQ1BfYmFzZSArIDB4NDgpCisjZGVmaW5lIEkyQ1BfU09GVFJFU0VUCQkJCQkJKEkyQ1BfYmFzZSArIDB4NTApCisjZGVmaW5lIEkyQ1BfREVCVUdTVEFUCQkJCQkJKEkyQ1BfYmFzZSArIDB4NjQpCisjZGVmaW5lIEkyQ1BfREVCVUdDVFJMCQkJCQkJKEkyQ1BfYmFzZSArIDB4NjgpCisjZGVmaW5lIEkyQ1BfVElNRU9VVAkJCQkJCShJMkNQX2Jhc2UgKyAweDc0KQorI2RlZmluZSBJMkNQX1ZFUlNJT04JCQkJCQkoSTJDUF9iYXNlICsgMHg3OCkKKworCisvLyAweDAwCisjZGVmaW5lIEkyQ1BfREFUQV9QT1JUX01BU0sJCQkJCQkJMHgwMEZGCQkJCQkJCQkJCisjZGVmaW5lIEkyQ1BfREFUQV9QT1JUX1NISUZUCQkJCQkJMAkJCQkJCQkJCQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCQkJCQkJCQkKKy8vIDB4MDQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQkJCQkJCQkJCisjZGVmaW5lIEkyQ1BfU0xBVkVfQUREUl9NQVNLCQkJCQkJMHgwMEZGCQkJCQkJCQkJCisjZGVmaW5lIEkyQ1BfU0xBVkVfQUREUl9TSElGVAkJCQkJCTAJCQkJCQkJCQkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQkJCQkJCQkJCisvLyAweDA4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQkJCQkJCQkJCQorI2RlZmluZSBJMkNQX0lOVFJfTUFTS19UUkFOU19DT01QX01BU0sJCQkJMHgwMDAxCQkJCQkJCQkJCisjZGVmaW5lIEkyQ1BfSU5UUl9NQVNLX1RSQU5TX0NPTVBfU0hJRlQJCQkJMAkJCQkJCQkJCQorI2RlZmluZSBJMkNQX0lOVFJfTUFTS19BQ0tfRVJSX01BU0sJCQkJCTB4MDAwMgkJCQkJCQkJCQorI2RlZmluZSBJMkNQX0lOVFJfTUFTS19BQ0tfRVJSX1NISUZUCQkJCQkxCQkJCQkJCQkJCisjZGVmaW5lIEkyQ1BfSU5UUl9NQVNLX0hTTkFLX0VSUl9NQVNLCQkJCTB4MDAwNAkJCQkJCQkJCQorI2RlZmluZSBJMkNQX0lOVFJfTUFTS19IU05BS19FUlJfU0hJRlQJCQkJMgkJCQkJCQkJCQorI2RlZmluZSBJMkNQX0lOVFJfTUFTS19USU1FT1VUX01BU0sJCQkJCTB4MDAxMAkJCQkJCQkJCQorI2RlZmluZSBJMkNQX0lOVFJfTUFTS19USU1FT1VUX1NISUZUCQkJCQk0CQkJCQkJCQkJCisKKy8vIDB4MEMKKyNkZWZpbmUgSTJDUF9JTlRSX1NUQVRfVFJBTlNfQ09NUF9NQVNLCQkJCTB4MDAwMQorI2RlZmluZSBJMkNQX0lOVFJfU1RBVF9UUkFOU19DT01QX1NISUZUCQkJCTAKKyNkZWZpbmUgSTJDUF9JTlRSX1NUQVRfQUNLX0VSUl9NQVNLCQkJCQkweDAwMDIKKyNkZWZpbmUgSTJDUF9JTlRSX1NUQVRfQUNLX0VSUl9TSElGVAkJCQkJMQorI2RlZmluZSBJMkNQX0lOVFJfU1RBVF9IU05BS19FUlJfTUFTSwkJCQkweDAwMDQKKyNkZWZpbmUgSTJDUF9JTlRSX1NUQVRfSFNOQUtfRVJSX1NISUZUCQkJCTIKKyNkZWZpbmUgSTJDUF9JTlRSX1NUQVRfVElNRU9VVF9NQVNLCQkJCQkweDAwMTAKKyNkZWZpbmUgSTJDUF9JTlRSX1NUQVRfVElNRU9VVF9TSElGVAkJCQkJNAorCisKKy8vIDB4MTAKKyNkZWZpbmUgSTJDUF9DVFJMX1JFU1RBUlRfTUFTSwkJCQkJMHgwMDAyCisjZGVmaW5lIEkyQ1BfQ1RSTF9SRVNUQVJUX1NISUZUCQkJCQkxCisjZGVmaW5lIEkyQ1BfQ1RSTF9ETUFfRU5fTUFTSwkJCQkJCTB4MDAwNAorI2RlZmluZSBJMkNQX0NUUkxfRE1BX0VOX1NISUZUCQkJCQkyCisjZGVmaW5lIEkyQ1BfQ1RSTF9DTEtfRVhUX0VOX01BU0sJCQkJCTB4MDAwOAorI2RlZmluZSBJMkNQX0NUUkxfQ0xLX0VYVF9FTl9TSElGVAkJCQkzCisjZGVmaW5lIEkyQ1BfQ1RSTF9ESVJfQ0hBTkdFX01BU0sJCQkJCTB4MDAxMAorI2RlZmluZSBJMkNQX0NUUkxfRElSX0NIQU5HRV9TSElGVAkJCQk0CisjZGVmaW5lIEkyQ1BfQ1RSTF9BQ0tFUlJfREVUX0VOX01BU0sJCQkJMHgwMDIwCisjZGVmaW5lIEkyQ1BfQ1RSTF9BQ0tFUlJfREVUX0VOX1NISUZUCQkJCTUKKyNkZWZpbmUgSTJDUF9DVFJMX1RSQU5TRkVSX0xFTl9DSEFOR0VfTUFTSwkJMHgwMDQwCisjZGVmaW5lIEkyQ1BfQ1RSTF9UUkFOU0ZFUl9MRU5fQ0hBTkdFX1NISUZUCQk2CisjZGVmaW5lIEkyQ1BfQ1RSTF9SRVNFVF9CVVNfQlVTWV9FTl9NQVNLCQkJMHgwMDgwCisjZGVmaW5lIEkyQ1BfQ1RSTF9SRVNFVF9CVVNfQlVTWV9FTl9TSElGVAkJNworI2RlZmluZSBJMkNQX0NUUkxfVElNRU9VVF9FTl9NQVNLCQkJCQkweDAxMDAKKyNkZWZpbmUgSTJDUF9DVFJMX1RJTUVPVVRfRU5fU0hJRlQJCQkJOAorCisvLyAweDE0CisjZGVmaW5lIEkyQ1BfVFJBTlNGRVJfTEVOX1RSQU5TRkVSX0xFTl9NQVNLCQkJMHgwMEZGCisjZGVmaW5lIEkyQ1BfVFJBTlNGRVJfTEVOX1RSQU5TRkVSX0xFTl9TSElGVAkJMAorCisvLyAweDZjCisjZGVmaW5lIEkyQ1BfVFJBTlNGRVJfTEVOX0FVWF9UUkFOU0ZFUl9MRU5fQVVYX01BU0sJCQkweDAwRkYKKyNkZWZpbmUgSTJDUF9UUkFOU0ZFUl9MRU5fQVVYX1RSQU5TRkVSX0xFTl9BVVhfU0hJRlQJCTAKKworLy8gMHgxOAorI2RlZmluZSBJMkNQX1RSQU5TQUNfTEVOX1RSQU5TQUNfTEVOX01BU0sJCQkweDAwRkYKKyNkZWZpbmUgSTJDUF9UUkFOU0FDX0xFTl9UUkFOU0FDX0xFTl9TSElGVAkJCTAKKworLy8gMHgxQworI2RlZmluZSBJMkNQX0RFTEFZX0xFTl9ERUxBWV9MRU5fTUFTSwkJCQkweDAwRkYKKyNkZWZpbmUgSTJDUF9ERUxBWV9MRU5fREVMQVlfTEVOX1NISUZUCQkJCTAKKworLy8gMHgyMAorI2RlZmluZSBJMkNQX1RJTUlOR19TVEVQX0NOVF9ESVZfTUFTSwkJCQkweDAwM0YKKyNkZWZpbmUgSTJDUF9USU1JTkdfU1RFUF9DTlRfRElWX1NISUZUCQkJCTAKKyNkZWZpbmUgSTJDUF9USU1JTkdfU0FNUExFX0NOVF9ESVZfTUFTSwkJCQkweDA3MDAKKyNkZWZpbmUgSTJDUF9USU1JTkdfU0FNUExFX0NOVF9ESVZfU0hJRlQJCQkJOAorI2RlZmluZSBJMkNQX1RJTUlOR19EQVRBX1JFQURfTUFTSwkJCQkJMHg3MDAwCisjZGVmaW5lIEkyQ1BfVElNSU5HX0RBVEFfUkVBRF9TSElGVAkJCQkJMTIKKyNkZWZpbmUgSTJDUF9USU1JTkdfREFUQV9SRUFEX0FESl9NQVNLCQkJCTB4ODAwMAorI2RlZmluZSBJMkNQX1RJTUlOR19EQVRBX1JFQURfQURKX1NISUZUCQkJCTE1CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQorLy8gMHgyNAorI2RlZmluZSBJMkNQX1NUQVJUX1NUQVJUX01BU0sJCQkJCQkweDAwMDEKKyNkZWZpbmUgSTJDUF9TVEFSVF9TVEFSVF9TSElGVAkJCQkJCTAKKworLy8gMHgzMAorI2RlZmluZSBJMkNQX0ZJRk9fU1RBVF9SRF9FTVBUWV9NQVNLCQkJCQkweDAwMDEKKyNkZWZpbmUgSTJDUF9GSUZPX1NUQVRfUkRfRU1QVFlfU0hJRlQJCQkJMAorI2RlZmluZSBJMkNQX0ZJRk9fU1RBVF9XUl9GVUxMX01BU0sJCQkJCTB4MDAwMgorI2RlZmluZSBJMkNQX0ZJRk9fU1RBVF9XUl9GVUxMX1NISUZUCQkJCQkxCisjZGVmaW5lIEkyQ1BfRklGT19TVEFUX09GRlNFVF9NQVNLCQkJCQkweDAwRjAKKyNkZWZpbmUgSTJDUF9GSUZPX1NUQVRfT0ZGU0VUX1NISUZUCQkJCQk0CisjZGVmaW5lIEkyQ1BfRklGT19TVEFUX1dSX0FERFJfTUFTSwkJCQkJMHgwRjAwCisjZGVmaW5lIEkyQ1BfRklGT19TVEFUX1dSX0FERFJfU0hJRlQJCQkJCTgKKyNkZWZpbmUgSTJDUF9GSUZPX1NUQVRfUkRfQUREUl9NQVNLCQkJCQkweEYwMDAKKyNkZWZpbmUgSTJDUF9GSUZPX1NUQVRfUkRfQUREUl9TSElGVAkJCQkJMTIKKworLy8gMHgzNAorI2RlZmluZSBJMkNQX0ZJRk9fVEhSRVNIX1JYX1RSSUdfTUFTSwkJCQkweDAwMDcKKyNkZWZpbmUgSTJDUF9GSUZPX1RIUkVTSF9SWF9UUklHX1NISUZUCQkJCTAKKyNkZWZpbmUgSTJDUF9GSUZPX1RIUkVTSF9UWF9UUklHX01BU0sJCQkJMHgwNzAwCisjZGVmaW5lIEkyQ1BfRklGT19USFJFU0hfVFhfVFJJR19TSElGVAkJCQk4CisKKy8vIDB4MzgKKyNkZWZpbmUgSTJDUF9GSUZPX0FERFJfQ0xSX0NSX01BU0sJCQkJCTB4MDAwMQorI2RlZmluZSBJMkNQX0ZJRk9fQUREUl9DTFJfQ1JfU0hJRlQJCQkJCTAKKworLy8gMHg0MAorI2RlZmluZSBJMkNQX0lPX0NPTkZJR19TQ0xfSU9fTUFTSwkJCQkJCTB4MDAwMQorI2RlZmluZSBJMkNQX0lPX0NPTkZJR19TQ0xfSU9fU0hJRlQJCQkJCQkwCisjZGVmaW5lIEkyQ1BfSU9fQ09ORklHX1NEQV9JT19NQVNLCQkJCQkJMHgwMDAyCisjZGVmaW5lIEkyQ1BfSU9fQ09ORklHX1NEQV9JT19TSElGVAkJCQkJCTEKKyNkZWZpbmUgSTJDUF9JT19DT05GSUdfU1lOQ19FTl9NQVNLCQkJCQkJMHgwMDA0CisjZGVmaW5lIEkyQ1BfSU9fQ09ORklHX1NZTkNfRU5fU0hJRlQJCQkJCQkyCisjZGVmaW5lIEkyQ1BfSU9fQ09ORklHX0lETEVfT0VfRU5fTUFTSyAgICAgICAgICAgICAgICAgIAkJCTB4MDAwOCAgCisjZGVmaW5lIEkyQ1BfSU9fQ09ORklHX0lETEVfT0VfU0lGVCAgICAgICAgICAgICAgICAgICAgIAkJCTMgICAgICAgCisKKy8vIDB4NDgKKyNkZWZpbmUgSTJDUF9IU19IU19FTl9NQVNLCQkJCQkJCTB4MDAwMQorI2RlZmluZSBJMkNQX0hTX0hTX0VOX1NISUZUCQkJCQkJCTAKKyNkZWZpbmUgSTJDUF9IU19IU19OQUtfRVJSX0RFVF9FTl9NQVNLCQkJCTB4MDAwMgorI2RlZmluZSBJMkNQX0hTX0hTX05BS19FUlJfREVUX0VOX1NISUZUCQkJCTEKKyNkZWZpbmUgSTJDUF9IU19NQVNURVJfQ09ERV9NQVNLCQkJCQkJMHgwMDcwCisjZGVmaW5lIEkyQ1BfSFNfTUFTVEVSX0NPREVfU0hJRlQJCQkJCQk0CisjZGVmaW5lIEkyQ1BfSFNfSFNfU1RFUF9DTlRfRElWX01BU0sJCQkJCTB4MDcwMAorI2RlZmluZSBJMkNQX0hTX0hTX1NURVBfQ05UX0RJVl9TSElGVAkJCQkJOAorI2RlZmluZSBJMkNQX0hTX0hTX1NBTVBMRV9DTlRfRElWX01BU0sJCQkJMHg3MDAwCisjZGVmaW5lIEkyQ1BfSFNfSFNfU0FNUExFX0NOVF9ESVZfU0hJRlQJCQkJMTIKKworLy8gMHg1MAorI2RlZmluZSBJMkNQX1NPRlRSRVNFVF9TT0ZUUkVTRVRfTUFTSwkJCQkweDAwMDEKKyNkZWZpbmUgSTJDUF9TT0ZUUkVTRVRfU09GVFJFU0VUX1NISUZUCQkJCTAKKworLy8weDY0CisjZGVmaW5lIEkyQ1BfREVCVUdfU1RBVF9NQVNURVJfU1RBVF9NQVNLCQkJMHgwMDFmCisjZGVmaW5lIEkyQ1BfREVCVUdfU1RBVF9NQVNURVJfU1RBVF9TSElGVAkJCTAKKyNkZWZpbmUgSTJDUF9ERUJVR19TVEFUX01BU1RFUl9SRUFEX01BU0sJCQkweDAwMjAKKyNkZWZpbmUgSTJDUF9ERUJVR19TVEFUX01BU1RFUl9SRUFEX1NISUZUCQkJNQorI2RlZmluZSBJMkNQX0RFQlVHX1NUQVRfTUFTVEVSX1dSSVRFX01BU0sJCQkweDAwNDAKKyNkZWZpbmUgSTJDUF9ERUJVR19TVEFUX01BU1RFUl9XUklURV9TSElGVAkJCTYKKyNkZWZpbmUgSTJDUF9ERUJVR19TVEFUX0JVU19CVVNZX01BU0sJCQkJMHgwMDgwCisjZGVmaW5lIEkyQ1BfREVCVUdfU1RBVF9CVVNfQlVTWV9TSElGVAkJCQk3CisKKworCisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisvLyBDaDEgbWFjcm9zCisjZGVmaW5lIEkyQ19QTUlDX0NMRUFSX0ZJRk8odmFsKQkJCQlJMkNfUE1JQ19EUlZfV3JpdGVSZWcxNihJMkNQX0ZJRk9fQUREUl9DTFIsIChrYWxfdWludDE2KTEpCisjZGVmaW5lIEkyQ19QTUlDX0NMRUFSX0lOVFJfU1RBVCh2YWwpCQkJe1wKKwlrYWxfdWludDE2IHRtcDtcCisJdG1wID0gSTJDX1BNSUNfRFJWX1JlYWRSZWcxNihJMkNQX0lOVFJfU1RBVCk7XAorCXRtcCAmPSAoSTJDUF9JTlRSX1NUQVRfVFJBTlNfQ09NUF9NQVNLIHwgSTJDUF9JTlRSX1NUQVRfQUNLX0VSUl9NQVNLfEkyQ1BfSU5UUl9TVEFUX0hTTkFLX0VSUl9NQVNLfEkyQ1BfSU5UUl9TVEFUX1RJTUVPVVRfTUFTSyk7XAorCXRtcCB8PSAodmFsKTtcCisJSTJDX1BNSUNfRFJWX1dyaXRlUmVnMTYoSTJDUF9JTlRSX1NUQVQsIHRtcCk7XAorfQorI2RlZmluZSBJMkNfUE1JQ19TRVRfU0xBVkVfQUREUih2YWwpCQkJSTJDX1BNSUNfRFJWX1dyaXRlUmVnMTYoSTJDUF9TTEFWRV9BRERSLCAoa2FsX3VpbnQxNil2YWwpCisjZGVmaW5lIEkyQ19QTUlDX1NFVF9UUkFOU0ZFUl9MRU4obGVuMSwgbGVuMikJe1wKKwlrYWxfdWludDE2IHRtcDtcCisJdG1wID0gSTJDX1BNSUNfRFJWX1JlYWRSZWcxNihJMkNQX1RSQU5TRkVSX0xFTik7XAorCXRtcCAmPSB+KEkyQ1BfVFJBTlNGRVJfTEVOX1RSQU5TRkVSX0xFTl9NQVNLKTtcCisJdG1wIHw9ICgoa2FsX3VpbnQxNilsZW4xIDw8IEkyQ1BfVFJBTlNGRVJfTEVOX1RSQU5TRkVSX0xFTl9TSElGVCk7XAorCUkyQ19QTUlDX0RSVl9Xcml0ZVJlZzE2KEkyQ1BfVFJBTlNGRVJfTEVOLCB0bXApO1wKKwl0bXAgPSBJMkNfUE1JQ19EUlZfUmVhZFJlZzE2KEkyQ1BfVFJBTlNGRVJfTEVOX0FVWCk7XAorCXRtcCAmPSB+KEkyQ1BfVFJBTlNGRVJfTEVOX0FVWF9UUkFOU0ZFUl9MRU5fQVVYX01BU0spO1wKKwl0bXAgfD0gKChrYWxfdWludDE2KWxlbjEgPDwgSTJDUF9UUkFOU0ZFUl9MRU5fQVVYX1RSQU5TRkVSX0xFTl9BVVhfU0hJRlQpO1wKKwlJMkNfUE1JQ19EUlZfV3JpdGVSZWcxNihJMkNQX1RSQU5TRkVSX0xFTl9BVVgsIHRtcCk7XAorfQorCisjZGVmaW5lIEkyQ19QTUlDX1NFVF9USU1JTkcoc2FtcGxlX2NudCwgc3RlcF9jbnQpCXtcCisJa2FsX3VpbnQxNiB0bXA7XAorCXRtcCA9IEkyQ19QTUlDX0RSVl9SZWFkUmVnMTYoSTJDUF9USU1JTkcpO1wKKwl0bXAgJj0gfihJMkNQX1RJTUlOR19TVEVQX0NOVF9ESVZfTUFTSyB8IEkyQ1BfVElNSU5HX1NBTVBMRV9DTlRfRElWX01BU0spO1wKKwl0bXAgfD0gKChrYWxfdWludDE2KXNhbXBsZV9jbnQgPDwgSTJDUF9USU1JTkdfU0FNUExFX0NOVF9ESVZfU0hJRlQpO1wKKwl0bXAgfD0gKChrYWxfdWludDE2KXN0ZXBfY250IDw8IEkyQ1BfVElNSU5HX1NURVBfQ05UX0RJVl9TSElGVCk7XAorCUkyQ19QTUlDX0RSVl9Xcml0ZVJlZzE2KEkyQ1BfVElNSU5HLCB0bXApO1wKK30KKworI2RlZmluZSBJMkNfUE1JQ19TRVRfVFJBTlNBQ19MRU4obGVuKQkJSTJDX1BNSUNfRFJWX1dyaXRlUmVnMTYoSTJDUF9UUkFOU0FDX0xFTiwgKGthbF91aW50MTYpbGVuKTsKKyNkZWZpbmUgSTJDX1BNSUNfU0VUX0RJUl9DSEFOR0UodmFsKQkJe1wKKwlrYWxfdWludDE2IHRtcDtcCisJdG1wID0gSTJDX1BNSUNfRFJWX1JlYWRSZWcxNihJMkNQX0NUUkwpO1wKKwl0bXAgJj0gfkkyQ1BfQ1RSTF9ESVJfQ0hBTkdFX01BU0s7XAorCXRtcCB8PSAoKGthbF91aW50MTYpdmFsIDw8IEkyQ1BfQ1RSTF9ESVJfQ0hBTkdFX1NISUZUKTtcCisJSTJDX1BNSUNfRFJWX1dyaXRlUmVnMTYoSTJDUF9DVFJMLCB0bXApO1wKK30KKworCisjZGVmaW5lIEkyQ19QTUlDX1NFVF9BQ0tFUlJfREVUX0VOKHZhbCkJCXtcCisJa2FsX3VpbnQxNiB0bXA7XAorCXRtcCA9IEkyQ19QTUlDX0RSVl9SZWFkUmVnMTYoSTJDUF9DVFJMKTtcCisJdG1wICY9IH5JMkNQX0NUUkxfQUNLRVJSX0RFVF9FTl9NQVNLO1wKKwl0bXAgfD0gKChrYWxfdWludDE2KXZhbCA8PCBJMkNQX0NUUkxfQUNLRVJSX0RFVF9FTl9TSElGVCk7XAorCUkyQ19QTUlDX0RSVl9Xcml0ZVJlZzE2KEkyQ1BfQ1RSTCwgdG1wKTtcCit9CisKKyNkZWZpbmUgSTJDX1BNSUNfU0VUX0NMS19FWFRfRU4odmFsKQkJe1wKKwlrYWxfdWludDE2IHRtcDtcCisJdG1wID0gSTJDX1BNSUNfRFJWX1JlYWRSZWcxNihJMkNQX0NUUkwpO1wKKwl0bXAgJj0gfkkyQ1BfQ1RSTF9DTEtfRVhUX0VOX01BU0s7XAorCXRtcCB8PSAoKGthbF91aW50MTYpdmFsIDw8IEkyQ1BfQ1RSTF9DTEtfRVhUX0VOX1NISUZUKTtcCisJSTJDX1BNSUNfRFJWX1dyaXRlUmVnMTYoSTJDUF9DVFJMLCB0bXApO1wKK30KKworCisjZGVmaW5lIEkyQ19QTUlDX1NFVF9SRVNUQVJUKHZhbCkJCXtcCisJa2FsX3VpbnQxNiB0bXA7XAorCXRtcCA9IEkyQ19QTUlDX0RSVl9SZWFkUmVnMTYoSTJDUF9DVFJMKTtcCisJdG1wICY9IH5JMkNQX0NUUkxfUkVTVEFSVF9NQVNLO1wKKwl0bXAgfD0gKChrYWxfdWludDE2KXZhbCA8PCBJMkNQX0NUUkxfUkVTVEFSVF9TSElGVCk7XAorCUkyQ19QTUlDX0RSVl9Xcml0ZVJlZzE2KEkyQ1BfQ1RSTCwgdG1wKTtcCit9CisKKworI2RlZmluZSBJMkNfUE1JQ19TRVRfSU5UUih2YWwpCQl7XAorCWthbF91aW50MTYgdG1wO1wKKwl0bXAgPSBJMkNfUE1JQ19EUlZfUmVhZFJlZzE2KEkyQ1BfSU5UUl9NQVNLKTtcCisJdG1wIHw9ICh2YWwgJiAoSTJDUF9JTlRSX01BU0tfVFJBTlNfQ09NUF9NQVNLIHwgSTJDUF9JTlRSX01BU0tfQUNLX0VSUl9NQVNLIHwgSTJDUF9JTlRSX01BU0tfSFNOQUtfRVJSX01BU0spKTtcCisJSTJDX1BNSUNfRFJWX1dyaXRlUmVnMTYoSTJDUF9JTlRSX01BU0ssIChrYWxfdWludDE2KXRtcCk7XAorfQorCisjZGVmaW5lIEkyQ19QTUlDX0NMUl9JTlRSKHZhbCkJCXtcCisJa2FsX3VpbnQxNiB0bXA7XAorCXRtcCA9IEkyQ19QTUlDX0RSVl9SZWFkUmVnMTYoSTJDUF9JTlRSX01BU0spO1wKKwl0bXAgJj0gfih2YWwgJiAoSTJDUF9JTlRSX01BU0tfVFJBTlNfQ09NUF9NQVNLIHwgSTJDUF9JTlRSX01BU0tfQUNLX0VSUl9NQVNLIHwgSTJDUF9JTlRSX01BU0tfSFNOQUtfRVJSX01BU0spICk7XAorCUkyQ19QTUlDX0RSVl9Xcml0ZVJlZzE2KEkyQ1BfSU5UUl9NQVNLLCAoa2FsX3VpbnQxNil0bXApO1wKK30KKworCisjZGVmaW5lIEkyQ19QTUlDX1NFVF9EQVRBX1BPUlQodmFsKQkJCUkyQ19QTUlDX0RSVl9Xcml0ZVJlZzE2KEkyQ1BfREFUQV9QT1JULCAoa2FsX3VpbnQxNil2YWwpCisjZGVmaW5lIEkyQ19QTUlDX0dFVF9TVEFSVCgpCQkJCSgoSTJDX1BNSUNfRFJWX1JlYWRSZWcxNihJMkNQX1NUQVJUKSZJMkNQX1NUQVJUX1NUQVJUX01BU0spPj5JMkNQX1NUQVJUX1NUQVJUX1NISUZUKQorI2RlZmluZSBJMkNfUE1JQ19TRVRfU1RBUlQodmFsKQkJCQkJCUkyQ19QTUlDX0RSVl9Xcml0ZVJlZzE2KEkyQ1BfU1RBUlQsIEkyQ1BfU1RBUlRfU1RBUlRfTUFTSyk7CisKKworCisjZW5kaWYgLy8gI2lmIGRlZmluZWQoRFJWX0kyQ19QTUlDKQorCisjZW5kaWYgLy8gI2lmbmRlZiBfSTJDX1BNSUNfSFdfSAorCmRpZmYgLS1naXQgYS9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL2kyY19wbWljX3N3LmggYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL2kyY19wbWljX3N3LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTk1OWViMQotLS0gL2Rldi9udWxsCisrKyBiL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvaTJjX3BtaWNfc3cuaApAQCAtMCwwICsxLDI1MyBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDA1CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuIAorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZpbGVuYW1lOgorICogLS0tLS0tLS0tCisgKiAgICBpMmNfZHVhbF9zdy5oCisgKgorICogUHJvamVjdDoKKyAqIC0tLS0tLS0tCisgKiAgIE1hdWlfU29mdHdhcmUKKyAqCisgKiBEZXNjcmlwdGlvbjoKKyAqIC0tLS0tLS0tLS0tLQorICogICBUaGlzIGZpbGUgaXMgaW50ZW5kZWQgZm9yIEkyQyBEVUFMIGRyaXZlci4KKyAqCisgKiBBdXRob3I6CisgKiAtLS0tLS0tCisgKiAtLS0tLS0tCisgKgorICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKiAgICAgICAgICAgICBISVNUT1JZCisgKiBCZWxvdyB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIFVwcGVyIHRoaXMgbGluZSwgdGhpcyBwYXJ0IGlzIGNvbnRyb2xsZWQgYnkgUFZDUyBWTS4gRE8gTk9UIE1PRElGWSEhCisgKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWZuZGVmIF9fSTJDX1BNSUNfU1dfSF9fCisjZGVmaW5lIF9fSTJDX1BNSUNfU1dfSF9fCisKKyNkZWZpbmUgSTJDX1BNSUNfREJHX0xPR19FTkFCTEUKKyNkZWZpbmUgSTJDX1BNSUNfREJHX1BBVFRFUk5fRU5BQkxFCisvLyNkZWZpbmUgSTJDX1BNSUNfRElTQUJMRV9EQ00KKworI2lmIGRlZmluZWQoSTJDX1BNSUNfREJHX0xPR19FTkFCTEUpCisjZGVmaW5lIEkyQ19QTUlDX0xPRyBpMmNfcG1pY19sb2cKKyNlbHNlCisjZGVmaW5lIEkyQ19QTUlDX0xPRyguLi4pCisjZW5kaWYKKwordHlwZWRlZiBlbnVtCit7CisgICAgCUkyQ19QTUlDX1JFQURZX1NUQVRFID0gMCwKKwlJMkNfUE1JQ19SRUFEX1NUQVRFLAorCUkyQ19QTUlDX1dSSVRFX1NUQVRFCit9STJDX1BNSUNfU1RBVEU7CisKK3R5cGVkZWYgZW51bQoreworICAgIAlJMkNfUE1JQ19RVUVSWSA9IDAsCisJSTJDX1BNSUNfUkVBRCwKKwlJMkNfUE1JQ19XUklURQorfUkyQ19QTUlDX1BPTExJTkdfVFlQRTsKKworCisvKiBHQ0MgcG9ydGluZyByZWxhdGVkICovCisjaWYgZGVmaW5lZChfX1VCTF9fKSB8fCBkZWZpbmVkKF9fRlVFX18pCisjaWZkZWYgX19NVEtfVEFSR0VUX18KKworI2RlZmluZSBfX2kyY3NlY3Rpb24oUykgX19hdHRyaWJ1dGVfXyAoKHNlY3Rpb24gKCNTKSkpCisvKiBUYWcgdmFyaWFibGVzIHdpdGggdGhpcyAqLworI2RlZmluZSBfX2VtaWluaXRydyBfX2kyY3NlY3Rpb24oRU1JSU5JVFJXKQorI2RlZmluZSBfX2VtaWluaXR6aSBfX2kyY3NlY3Rpb24oRU1JSU5JVFpJKQorLyogVGFnIGNvbnN0YW50cyB3aXRoIHRoaXMgKi8KKyNkZWZpbmUgX19lbWlpbml0Y29uc3QgX19pMmNzZWN0aW9uKEVNSUlOSVRDT05TVCkKKy8qIFRhZyBmdW5jdGlvbiB3aXRoIHRoaXMgKi8KKyNkZWZpbmUgX19lbWlpbml0Y29kZSBfX2kyY3NlY3Rpb24oRU1JSU5JVENPREUpCisKKyNlbmRpZiAvKiBfX01US19UQVJHRVRfXyAqLworI2Vsc2UgLy8jaWYgZGVmaW5lZChfX1VCTF9fKSB8fCBkZWZpbmVkKF9fRlVFX18pCisKKyNkZWZpbmUgX19lbWlpbml0cncKKyNkZWZpbmUgX19lbWlpbml0emkKKyNkZWZpbmUgX19lbWlpbml0Y29uc3QKKyNkZWZpbmUgX19lbWlpbml0Y29kZQorCisjZW5kaWYgLy8jaWYgZGVmaW5lZChfX1VCTF9fKSB8fCBkZWZpbmVkKF9fRlVFX18pCisKK3R5cGVkZWYgZW51bSAKK3sKKwlJMkNfYnl0ZV9yZXR1cm4sCisJSTJDX2J5dGVfd3JpdGUsCisJSTJDX2ZpZWxkX3dyaXRlLAkJCisJSTJDX3JlYWRfc3dfZW5kLAorCUkyQ193cml0ZV9zd19lbmQsCisJSTJDX3BvbGxpbmdfZmluaXNoX3JlYWRpbmcsCisJSTJDX3BvbGxpbmdfZmluaXNoX3dyaXRpbmcsCisJSTJDX3BvbGxpbmdfZmluaXNoX3JlYWRpbmdfZXJyb3IsCisJSTJDX3BvbGxpbmdfZmluaXNoX3dyaXRpbmdfZXJyb3IsCisJSTJDX3BvbGxpbmdfb3RoZXJfcmVhZGluZywKKwlJMkNfcG9sbGluZ19vdGhlcl93cml0aW5nLAorCUkyQ19wb2xsaW5nX2ZpbmlzaF9vdGhlcl9yZWFkaW5nLAorCUkyQ19wb2xsaW5nX2ZpbmlzaF9vdGhlcl93cml0aW5nLAorCUkyQ19wb2xsaW5nX2ZpbmlzaF9vdGhlcl9yZWFkaW5nX2Vycm9yLAorCUkyQ19wb2xsaW5nX2ZpbmlzaF9vdGhlcl93cml0aW5nX2Vycm9yLAorCUkyQ19wb2xsaW5nX3JkeV9xdWVyeSwKKwlJMkNfcG9sbGluZ19yZHlfcmVhZCwKKwlJMkNfcG9sbGluZ19yZHlfd3JpdGUsCisJSTJDX3BvbGxpbmdfb3RoZXJfZmluaXNoX21pbmUKK31JMkNfUE1JQ19EQkdfSU5GTzsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIEkyQ19QTUlDX0RCR19JTkZPIHR5cGU7CisgICBrYWxfdWludDMyIHFiaXQ7CisgICBrYWxfdWludDMyIHRpbWU7CisgICBrYWxfdWludDMyIGlycW1hc2s7CisgICBrYWxfdWludDMyIHRva2VuOworICAga2FsX3VpbnQzMiBod293bmVyOworICAga2FsX3VpbnQzMiBQRE5TdGF0dXM7Cit9STJDX1BNSUNfREJHX0xPRzsKKworZXh0ZXJuIHZvaWQgaTJjX3BtaWNfbG9nKEkyQ19QTUlDX0RCR19JTkZPIHR5cGUsa2FsX3VpbnQzMiB2YXIpOworCisKKyNlbmRpZiAvLyAjaWZuZGVmIF9fSTJDX1BNSUNfU1dfSF9fCisKZGlmZiAtLWdpdCBhL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMva2V5cGFkLmggYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL2tleXBhZC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIxOTNmN2YKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL2tleXBhZC5oCkBAIC0wLDAgKzEsNjY1IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMDUKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4gCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRmlsZW5hbWU6CisgKiAtLS0tLS0tLS0KKyAqICAgIGtleXBhZF9zdy5oCisgKgorICogUHJvamVjdDoKKyAqIC0tLS0tLS0tCisgKiAgIE1hdWlfU29mdHdhcmUKKyAqCisgKiBEZXNjcmlwdGlvbjoKKyAqIC0tLS0tLS0tLS0tLQorICogICBUaGlzIGZpbGUgaXMgaW50ZW5kcyBmb3Iga2V5cGFkIGRyaXZlciBhbmQgYWRhcHRpb24uCisgKgorICogQXV0aG9yOgorICogLS0tLS0tLQorICogLS0tLS0tLQorICoKKyAqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICogICAgICAgICAgICAgSElTVE9SWQorICogQmVsb3cgdGhpcyBsaW5lLCB0aGlzIHBhcnQgaXMgY29udHJvbGxlZCBieSBQVkNTIFZNLiBETyBOT1QgTU9ESUZZISEKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiBVcHBlciB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZm5kZWYgX0tFWVBBRF9ICisjZGVmaW5lIF9LRVlQQURfSAorCisjaW5jbHVkZSAiZHJ2X2ZlYXR1cmVzLmgiCisjaW5jbHVkZSAiaW50ckN0cmwuaCIKKyNpbmNsdWRlICJkcnZfY29tbS5oIgorI2luY2x1ZGUgImthbF9nZW5lcmFsX3R5cGVzLmgiCisjaW5jbHVkZSAia2FsX3B1YmxpY19kZWZzLmgiCisjaW5jbHVkZSAia2FsX3B1YmxpY19hcGkuaCIKKyNpbmNsdWRlICJrZXlwYWRfc3cuaCIKKyNpbmNsdWRlICJkY2wuaCIKKworCit0eXBlZGVmIGVudW0geworICAga2JkXzFfa2V5X2RldF9tb2RlID0gMCwKKyAgIGtiZF8yX2tleXNfZGV0X21vZGUsCisgICBrYmRfM19rZXlzX2RldF9tb2RlCit9IGtiZF9rZXlfZGV0X21vZGU7CisKKworCisKKworI2RlZmluZSBfX0RDTF9LQkRfU1VQUE9SVF9fCisKKyNpZiBkZWZpbmVkKF9fRVhURU5EX1FXRVJUWV9LRVlQQURfXykKKworI2RlZmluZSBLQkRfTUFTS0lSUSAgICAgICAgICBTZXRJTlRNYXNrKElSUV9LUEFEX0NPREUpCisjZGVmaW5lIEtCRF9VTk1BU0tJUlEgICAgICBSZXN0b3JlSU5UTWFzayhJUlFfS1BBRF9DT0RFKQorI2Vsc2UKKworI2RlZmluZSBLQkRfTUFTS0lSUSAgICAgICAgICBJUlFNYXNrKElSUV9LUEFEX0NPREUpCisjZGVmaW5lIEtCRF9VTk1BU0tJUlEgICAgICBJUlFVbm1hc2soSVJRX0tQQURfQ09ERSkKKworI2VuZGlmIC8vI2lmIGRlZmluZWQoX19FWFRFTkRfUVdFUlRZX0tFWVBBRF9fKQorCisjaWZkZWYgX19FWFRSQV9BX0JfS0VZX1NVUFBPUlRfXworI2RlZmluZSBLQkRfRVhfR1BUX0hETF9DTlQgMgorI2Vsc2UKKyNkZWZpbmUgS0JEX0VYX0dQVF9IRExfQ05UICAwCisjZW5kaWYKKworI2lmIGRlZmluZWQoX19UV09fS0VZX0RFVEVDVElPTl9TV0lUQ0hBQkxFX18pCisgICAjZGVmaW5lIEtCRF9LRVlfREVURUNUSU9OX0NOVCAyCisjZWxpZiBkZWZpbmVkKF9fVEhSRUVfS0VZX0RFVEVDVElPTl9TV0lUQ0hBQkxFX18pCisgICAjZGVmaW5lIEtCRF9LRVlfREVURUNUSU9OX0NOVCAzCisjZWxzZQorICAgICNkZWZpbmUgS0JEX0tFWV9ERVRFQ1RJT05fQ05UIDEKKyNlbmRpZiAKKworI2RlZmluZSBLQkRfR1BUX0hETF9DTlQgKEtCRF9FWF9HUFRfSERMX0NOVCArIEtCRF9LRVlfREVURUNUSU9OX0NOVCkKKworI2RlZmluZSBFVkVOVF9SRVFVRVNURUQgIChLQkRfU1RBVFVTX0NIQU5HRV9FVkVOVHxLQkRfU1dJVENIX0RFVENUSU9OX01PREVfRVZFTlQgfEtFWV9VUF9FVkVOVHwgS0VZX0RPV05fRVZFTlR8IEtFWV9SSUdIVF9FVkVOVCB8IEtFWV9MRUZUX0VWRU5UKQorCisjaWYgZGVmaW5lZChUV09fS0VZX0VOQUJMRSkKKyAgICNpZiBkZWZpbmVkKF9fVFdPX0tFWV9ERVRFQ1RJT05fU1dJVENIQUJMRV9fKSB8fCBkZWZpbmVkKF9fVEhSRUVfS0VZX0RFVEVDVElPTl9TV0lUQ0hBQkxFX18pCisgICAjZXJyb3IgIiBrYmQgY29uZmlnIGNvbmZsaWN0cyEhIgorICAgI2VuZGlmCisjZW5kaWYKKworCit0eXBlZGVmIHN0cnVjdAoreworICAgIGthbF91aW50MzIgIGtiZG1hcF9yZWc7CisgICAga2FsX3VpbnQzMiAgIGtiZG1hcF9yZWcxOyAKKyAgIGthbF91aW50MzIgICAga2JkbWFwX3JlZzI7IAorfWtiZF9tYXBfcmVnX3N0cnVjdDsKKwordHlwZWRlZiBlbnVtCit7CisgICAgS0VZX0RJUkVDVElPTl9FVkVOVF9OVWxsLAorICAgIEtCRF9TVEFUVVNfQ0hBTkdFX0VWRU5UID0gMHgwMSwgLyprZXlwYWQgc3RhdHVzIGNoYW5nZXMgZXZlbnQgaWQgKi8KKyAgICBLQkRfU1dJVENIX0RFVENUSU9OX01PREVfRVZFTlQgPSAweDAyLCAvKmtleXBhZCBzd2l0Y2ggZGV0ZWN0aW9uIG1vZGUgZXZlbnQgaWQqLworICAgIAorICAgIEtFWV9VUF9FVkVOVCA9IDB4MTAsCisgICAgS0VZX0RPV05fRVZFTlQgPSAweDIwLAorICAgIEtFWV9MRUZUX0VWRU5UID0gMHg0MCwKKyAgICBLRVlfUklHSFRfRVZFTlQgPSAweDgwLAorICAgIEtFWV9ESVJFQ1RJT05fRVZFTlRfQUxMID0gMHhGMAorfWtiZF90YXNrX2V2ZW50OworCisKK3R5cGVkZWYgc3RydWN0Cit7CisgICBrYWxfZXZlbnRncnBpZCAgICBldmVudDsgIAorICAgRENMX0hBTkRMRQlncHRoYW5kbGVbS0JEX0dQVF9IRExfQ05UXTsKKyAgIAorI2lmZGVmIF9fRVhUUkFfQV9CX0tFWV9TVVBQT1JUX18KKwlrYWxfYm9vbCAgICAgICBleHRfc3RhdHVzWzJdOworI2VuZGlmLypfX0VYVFJBX0FfQl9LRVlfU1VQUE9SVF9fKi8KKworI2lmZGVmIF9fS0JEXzJTVEVQX0tFWV9TVVBQT1JUX18KK0RDTF9IQU5ETEUgICAgICAgICBrYmRfMmtleV9oYW5kbGU7ICAgCisjZW5kaWYKKyNpZiBkZWZpbmVkKF9fRVhURU5EX1FXRVJUWV9LRVlQQURfXykKKyAgIERDTF9IQU5ETEUgICAgICAgICBrYmRfZXh0ZW5kX2dwdGhhbmRsZTsKKyAgIGthbF91aW50MzIgICAgICAgIHBvbGxpbmdfdGltZW91dDsKKyNlbmRpZiAvLyNpZiBkZWZpbmVkKF9fRVhURU5EX1FXRVJUWV9LRVlQQURfXykKKyAgIGthbF91aW50MzIgICAgICAgIGxvbmdwcmVzc190aW1lb3V0OworICAga2FsX3VpbnQzMiAgICAgICAgcmVwZWF0X3RpbWU7Cit9IGtiZF9zdHJ1Y3Q7CisKKworI2lmIGRlZmluZWQoX19FWFRFTkRfUVdFUlRZX0tFWVBBRF9fKQorCit0eXBlZGVmIHN0cnVjdAoreworICAgIGthbF9ib29sICAgIGtleV9jb2x1bW5fYWxsX2xvd19HTkRbS0JEX0NPTFVNTl07IC8vY29sdW1uIGFsbCBsb3cgY2F1c2UgYnkgR05EX1JPVworICAgIGthbF9ib29sICAgIGtleV9jb2x1bW5fYWxsX2xvd19HUE9bS0JEX0NPTFVNTl07IC8vY29sdW1uIGFsbCBsb3cgY2F1c2UgYnkgR1BPX1JPVworfWtleXBhZF9FeHRfUXdlcnR5S2V5X1N0YXR1czsKKyB0eXBlZGVmIHN0cnVjdAorIHsKKyAgICBrYWxfYm9vbCAgICBrZXlfY29sdW1uX2FsbF9sb3dfR05EW0tCRF9DT0xVTU5dOyAvL2NvbHVtbiBhbGwgbG93IGNhdXNlIGJ5IEdORF9ST1cKKyAgICBrYWxfYm9vbCAgICBrZXlfY29sdW1uX2FsbF9sb3dfR1BPW0tCRF9DT0xVTU5dOyAvL2NvbHVtbiBhbGwgbG93IGNhdXNlIGJ5IEdQT19ST1cKKyAgICAKKyAgICBrYWxfdWludDggICBrYmRfcHJlc3NfR05EX2NvbHVtbltLQkRfS0VZX0RFVEVDVElPTl9DTlRdOyAvLyB3aGljaCBjb2x1bW4gcHJlc3NlZAorICAgIGthbF91aW50OCAgIGtiZF9wcmVzc19HUE9fY29sdW1uW0tCRF9LRVlfREVURUNUSU9OX0NOVF07IC8vIHdoaWNoIGNvbHVtbiBwcmVzc2VkCisgfWtleXBhZF9FeHRfUXdlcnR5S2V5X2RldGVjdF9pbmZvX3N0cnVjdDsKKyAKKyNlbmRpZgorCisgLyprZXlwYWQgZGV0ZWN0IGtleXMgcmVzdWx0IGR1cmluZyBvbmUga2V5IGV2ZW50Ki8KKyB0eXBlZGVmIHN0cnVjdCAKKyB7CisgI2lmIGRlZmluZWQoX19FWFRFTkRfUVdFUlRZX0tFWVBBRF9fKQorICAgICAgICBrZXlwYWRfRXh0X1F3ZXJ0eUtleV9kZXRlY3RfaW5mb19zdHJ1Y3QgIGtiZF9FeHRfUXdlcnR5X2tleV9pbmZvOworI2VuZGlmCisgICAga2FsX3VpbnQ4ICAga2V5X3ByZXNzY291bnQ7CisgICAga2FsX3VpbnQ4ICAga2V5X3JlbGVhc2Vjb3VudDsKKyAgICBrYWxfdWludDggICBrZXlfdG90YWxfY291bnQ7CisKKyAgICBrYWxfdWludDggICBrYmRfcHJlc3Nfa2V5W0tCRF9LRVlfREVURUNUSU9OX0NOVF07CisgICAga2FsX3VpbnQ4ICAga2JkX3JlbGVhc2Vfa2V5W0tCRF9LRVlfREVURUNUSU9OX0NOVF07CisKKyB9IGtleXBhZF9kZXRlY3RfaW5mb19zdHJ1Y3Q7CisKK3R5cGVkZWYgZW51bQoreworICAgIE5vcm1hbF9ST1cgPSAwLAorICAgIEV4dF9HUE9fUk9XLAorICAgIEV4dF9HTkRfUk9XCit9S2V5cGFkX1JPV19UeXBlOworCisvKmV2ZXJ5IGtleSBpbmZvcm1hdGlvbiovCisgdHlwZWRlZiBzdHJ1Y3QKKyB7CisgICAga2FsX2Jvb2wgYktleVN0YXR1czsgICAgICAgICAgICAgICAgLyowOiBwcmVzczsgMTogcmVsZWFzZSAqLworICAgIGthbF91aW50MTYga2V5X2luZGV4OyAgICAgICAgICAgICAgIC8qa2V5IGluZGV4IGRlZmluZWQgZHVyaW5nIGN1c3RvbWl6YXRpb24qLworCisjaWYgZGVmaW5lZChfX0VYVEVORF9RV0VSVFlfS0VZUEFEX18pCisgICAga2FsX3VpbnQ4IGtleV9jb2x1bW47ICAgICAgICAgICAgIC8qZXh0ZW5kIGtleXMgaW4gd2hpY2ggY29sdW1uKi8gIAorICAgIEtleXBhZF9ST1dfVHlwZSBSb3dfVHlwZTsKKyNlbmRpZgorIH1rZXlwYWRfa2V5X2luZm87CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAga2JkX21hcF9yZWdfc3RydWN0IGtiZF9tYXBfcmVnOyAgICAKKyNpZiBkZWZpbmVkKF9fRVhURU5EX1FXRVJUWV9LRVlQQURfXykKKyAgICBrYWxfYm9vbCAgICBrZXlfY29sdW1uX2FsbF9sb3dfR05EW0tCRF9DT0xVTU5dOyAvL2NvbHVtbiBhbGwgbG93IGNhdXNlIGJ5IEdORF9ST1cKKyAgICBrYWxfYm9vbCAgICBrZXlfY29sdW1uX2FsbF9sb3dfR1BPW0tCRF9DT0xVTU5dOyAvL2NvbHVtbiBhbGwgbG93IGNhdXNlIGJ5IEdQT19ST1cKKyAgICBrYWxfYm9vbCAgICBleHRlbmRfc3dpdGNoX21vZGVfa2V5Oy8vd2hlbiBzd2l0Y2ggbW9kZSwgdGhlIGV4dGVuZCBrZXkgaXMgcHJlc3NlZAorICAgIGthbF91aW50OCAgIGV4dGVuZF9rZXlfc3dpdGNoX3ByZXNzZWRfbnVtOworICAgIGthbF91aW50OCAgIGtiZF9zd2l0Y2hfbW9kZV9leHRlbmRfcHJlc3Nfa2V5W0tCRF9LRVlfREVURUNUSU9OX0NOVF07CisgICAgCisjZW5kaWYKKworfWtleXBhZF9zdGF0dXNfc3RydWN0OworCisjaWYgIWRlZmluZWQoS0JEX0RFVEVDVF9PTkxZX09ORV9LRVkpICYmIGRlZmluZWQoX19FWFRSQV9BX0JfS0VZX1NVUFBPUlRfXykKKyAgICAgIGV4dGVybiBjb25zdCBrYWxfdWludDggICAgRVhUUkFfQV9LRVlfRUlOVF9OTzsKKyAgICAgIGV4dGVybiBjb25zdCBrYWxfdWludDggICAgRVhUUkFfQl9LRVlfRUlOVF9OTzsKKyAgICAgICNkZWZpbmUgIEVJTlRfQV9LRVkgICAgIEVYVFJBX0FfS0VZX0VJTlRfTk8KKyAgICAgICNkZWZpbmUgIEVJTlRfQl9LRVkgICAgIEVYVFJBX0JfS0VZX0VJTlRfTk8KKyNlbmRpZgorCisjaWYgZGVmaW5lZChfX1RDMDFfXykKKyNkZWZpbmUga2JkX3B1c2hfdGltZV9zdGFtcCgpIFwKK3tcCisgIGthbF9nZXRfdGltZSgmKGtiZF9idWZmZXIua2JkX2RhdGFfYnVmZmVyW2tiZF9idWZmZXIua2JkX2RhdGFfYnVmZmVyX3dpbmRleF0ua2V5dGltZXN0YW1wKSk7XAorfQorCisjZGVmaW5lIGtiZF9wb3BfdGltZV9zdGFtcChfa2V5X2RhdGEpIFwKK3tcCitrYmRfZGF0YSoga2V5X2RhdGEgPSAoa2JkX2RhdGEqKShfa2V5X2RhdGEpO1wKK2tleV9kYXRhLT5rZXl0aW1lc3RhbXAgPSBrYmRfYnVmZmVyLmtiZF9kYXRhX2J1ZmZlcltrYmRfYnVmZmVyLmtiZF9kYXRhX2J1ZmZlcl9yaW5kZXhdLmtleXRpbWVzdGFtcDtcCit9CisKKyNlbHNlCisjZGVmaW5lIGtiZF9wdXNoX3RpbWVfc3RhbXAoKSA7CisjZGVmaW5lIGtiZF9wb3BfdGltZV9zdGFtcChfa2V5X2RhdGEpIDsKKyNlbmRpZgorCitleHRlcm4gdm9pZCBrYmRidWZmZXJfZ2V0X3Jvb21sZWZ0XyhrYWxfdWludDgqIHBsZWZ0KTsKKworI2RlZmluZSBrYmRidWZmZXJfZ2V0X3Jvb21sZWZ0KF9sZWZ0KSAgIFwKK3tcCisgICBrYmRidWZmZXJfZ2V0X3Jvb21sZWZ0XygmKF9sZWZ0KSk7XAorfQorCisKK2V4dGVybiB2b2lkIEtiZF9Jbml0aWF6ZSh2b2lkKTsKK2V4dGVybiBrYWxfYm9vbCBLYmRfR2V0RGV0ZWN0aW9uTW9kZShrYWxfdWludDggKnBtb2RlKTsKK2V4dGVybiBrYWxfYm9vbCBrYmRfU2V0RGV0ZWN0aW9uTW9kZShrYmRfa2V5X2RldF9tb2RlIG1vZGUpOworZXh0ZXJuIGthbF9ib29sIGtiZF9Jc0tleVN1cHBvcnRlZChrYWxfdWludDgga2V5KTsKK2V4dGVybiBrYWxfYm9vbCBrYmRfSXNLZXltdXRpcGxlKGthbF91aW50OCBrZXkpOworZXh0ZXJuIGthbF91aW50MzIgS2JkX0dldEtleUNvdW50KHZvaWQpOworZXh0ZXJuIGthbF9ib29sIEtiZF9HZXRLZXlEYXRhcyhrYmRfZGF0YSAqa2V5ZGF0YSk7CitleHRlcm4ga2FsX2Jvb2wgS2JkX1BlZWtLZXlEYXRhcyhrYmRfZGF0YSAqa2V5ZGF0YSwga2FsX2Jvb2wgc3BlY2lmeV9yZWFkLCAKKwkJCQkJCQkJCQkJa2FsX3VpbnQzMiByZWFkX3BvaW50ZXIsa2FsX3VpbnQzMiogY3VycmVudF9yZWFkX3BvaW50ZXIpOworZXh0ZXJuIGthbF91aW50MzIga2JkX1NlbmRLZXkoa2FsX3VpbnQ4IGtleSk7CitleHRlcm4gdm9pZCBLYmRfU2V0TG9uZ1ByZVRpbWUoa2FsX3VpbnQzMiB0aWNrcyk7CitleHRlcm4gdm9pZCBLYmRfU2V0UmVwZWF0UHJlVGltZShrYWxfdWludDMyIHRpY2tzKTsKKworCisvLyNpbmNsdWRlICJ1c190aW1lci5oIgorZXh0ZXJuIGthbF91aW50MzIgTDFJX0dldFRpbWVTdGFtcCh2b2lkKTsKKyNkZWZpbmUgS0JEX0dldFRpbWVTdGFtcCBMMUlfR2V0VGltZVN0YW1wCisjaWYgZGVmaW5lZChfX01US19JTlRFUk5BTF9fKSAmJiAhZGVmaW5lZChfX01BVUlfQkFTSUNfXykgJiYgZGVmaW5lZChfX0RSVl9EQkdfTUVNT1JZX1RSQUNFX1NVUFBPUlRfXykgJiYgZGVmaW5lZChfX0VYVEVORF9RV0VSVFlfS0VZUEFEX18pCisjZGVmaW5lIERSVl9LQkRfTUVNT1JZX1RSQUNFCit0eXBlZGVmIHN0cnVjdHsKKyAgIGthbF91aW50MTYgICAgICB0YWc7CisgICBrYWxfdWludDMyICAgICAgdGltZTsKKyAgIGthbF91aW50MzIgICAgICBkYXRhMTsKKyAgIGthbF91aW50MzIgICAgICBkYXRhMjsKK31LQkRfRFJWX0RCR19EQVRBOworI2RlZmluZSBNQVhfS0JEX0RSVl9EQkdfSU5GT19TSVpFIDUxMgordHlwZWRlZiBzdHJ1Y3R7CisgICBLQkRfRFJWX0RCR19EQVRBICAgZGJnX2RhdGFbTUFYX0tCRF9EUlZfREJHX0lORk9fU0laRV07CisgICBrYWxfdWludDE2ICAgICAgICAgZGJnX2RhdGFfaWR4OworfUtCRF9EUlZfREJHX1NUUlVDVDsKK2V4dGVybiB2b2lkIGtiZF9kcnZfZGJnX3RyYWNlKGthbF91aW50MTYgaW5kZXgsIGthbF91aW50MzIgdGltZSwga2FsX3VpbnQzMiBkYXRhMSwga2FsX3VpbnQzMiBkYXRhMik7CisjZGVmaW5lIEtCRF9EQkcoYSxiLGMsZCkga2JkX2Rydl9kYmdfdHJhY2UoYSxiLGMsZCk7CisjZWxzZSAvLyNpZiBkZWZpbmVkKF9fTVRLX0lOVEVSTkFMX18pICYmICFkZWZpbmVkKExPV19DT1NUX1NVUFBPUlQpCisjZGVmaW5lIEtCRF9EQkcoYSxiLGMsZCkgOworI2VuZGlmIC8vI2lmIGRlZmluZWQoX19NVEtfSU5URVJOQUxfXykgJiYgIWRlZmluZWQoTE9XX0NPU1RfU1VQUE9SVCkKKworCisjaWYgZGVmaW5lZChfX0RSVl9DT01NX1JFR19EQkdfXykgJiYgZGVmaW5lZChfX0RSVl9LQkRfUkVHX0RCR19fKQorI2RlZmluZSBEUlZfS0JEX1dyaXRlUmVnKGFkZHIsZGF0YSkgICAgICAgICAgICAgIERSVl9EQkdfV3JpdGVSZWcoYWRkcixkYXRhKQorI2RlZmluZSBEUlZfS0JEX1JlZyhhZGRyKSAgICAgICAgICAgICAgICAgICAgICAgIERSVl9EQkdfUmVnKGFkZHIpICAgICAgICAgICAgICAgICAgICAgIAorI2RlZmluZSBEUlZfS0JEX1dyaXRlUmVnMzIoYWRkcixkYXRhKSAgICAgICAgICAgIERSVl9EQkdfV3JpdGVSZWczMihhZGRyLGRhdGEpICAgICAgICAgIAorI2RlZmluZSBEUlZfS0JEX1JlZzMyKGFkZHIpICAgICAgICAgICAgICAgICAgICAgIERSVl9EQkdfUmVnMzIoYWRkcikgICAgICAgICAgICAgICAgICAgIAorI2RlZmluZSBEUlZfS0JEX1dyaXRlUmVnOChhZGRyLGRhdGEpICAgICAgICAgICAgIERSVl9EQkdfV3JpdGVSZWc4KGFkZHIsZGF0YSkgICAgICAgICAgIAorI2RlZmluZSBEUlZfS0JEX1JlZzgoYWRkcikgICAgICAgICAgICAgICAgICAgICAgIERSVl9EQkdfUmVnOChhZGRyKSAgICAgICAgICAgICAgICAgICAgIAorI2RlZmluZSBEUlZfS0JEX0NsZWFyQml0cyhhZGRyLGRhdGEpICAgICAgICAgICAgIERSVl9EQkdfQ2xlYXJCaXRzKGFkZHIsZGF0YSkgICAgICAgICAgIAorI2RlZmluZSBEUlZfS0JEX1NldEJpdHMoYWRkcixkYXRhKSAgICAgICAgICAgICAgIERSVl9EQkdfU2V0Qml0cyhhZGRyLGRhdGEpICAgICAgICAgICAgIAorI2RlZmluZSBEUlZfS0JEX1NldERhdGEoYWRkciwgYml0bWFzaywgdmFsdWUpICAgIERSVl9EQkdfU2V0RGF0YShhZGRyLCBiaXRtYXNrLCB2YWx1ZSkgIAorI2RlZmluZSBEUlZfS0JEX0NsZWFyQml0czMyKGFkZHIsZGF0YSkgICAgICAgICAgIERSVl9EQkdfQ2xlYXJCaXRzMzIoYWRkcixkYXRhKSAgICAgICAgIAorI2RlZmluZSBEUlZfS0JEX1NldEJpdHMzMihhZGRyLGRhdGEpICAgICAgICAgICAgIERSVl9EQkdfU2V0Qml0czMyKGFkZHIsZGF0YSkgICAgICAgICAgIAorI2RlZmluZSBEUlZfS0JEX1NldERhdGEzMihhZGRyLCBiaXRtYXNrLCB2YWx1ZSkgIERSVl9EQkdfU2V0RGF0YTMyKGFkZHIsIGJpdG1hc2ssIHZhbHVlKQorI2RlZmluZSBEUlZfS0JEX0NsZWFyQml0czgoYWRkcixkYXRhKSAgICAgICAgICAgIERSVl9EQkdfQ2xlYXJCaXRzOChhZGRyLGRhdGEpICAgICAgICAgIAorI2RlZmluZSBEUlZfS0JEX1NldEJpdHM4KGFkZHIsZGF0YSkgICAgICAgICAgICAgIERSVl9EQkdfU2V0Qml0czgoYWRkcixkYXRhKSAgICAgICAgICAgIAorI2RlZmluZSBEUlZfS0JEX1NldERhdGE4KGFkZHIsIGJpdG1hc2ssIHZhbHVlKSAgIERSVl9EQkdfU2V0RGF0YTgoYWRkciwgYml0bWFzaywgdmFsdWUpIAorI2Vsc2UKKyNkZWZpbmUgRFJWX0tCRF9Xcml0ZVJlZyhhZGRyLGRhdGEpICAgICAgICAgICAgICBEUlZfV3JpdGVSZWcoYWRkcixkYXRhKQorI2RlZmluZSBEUlZfS0JEX1JlZyhhZGRyKSAgICAgICAgICAgICAgICAgICAgICAgIERSVl9SZWcoYWRkcikgICAgICAgICAgICAgICAgICAgICAgCisjZGVmaW5lIERSVl9LQkRfV3JpdGVSZWczMihhZGRyLGRhdGEpICAgICAgICAgICAgRFJWX1dyaXRlUmVnMzIoYWRkcixkYXRhKSAgICAgICAgICAKKyNkZWZpbmUgRFJWX0tCRF9SZWczMihhZGRyKSAgICAgICAgICAgICAgICAgICAgICBEUlZfUmVnMzIoYWRkcikgICAgICAgICAgICAgICAgICAgIAorI2RlZmluZSBEUlZfS0JEX1dyaXRlUmVnOChhZGRyLGRhdGEpICAgICAgICAgICAgIERSVl9Xcml0ZVJlZzgoYWRkcixkYXRhKSAgICAgICAgICAgCisjZGVmaW5lIERSVl9LQkRfUmVnOChhZGRyKSAgICAgICAgICAgICAgICAgICAgICAgRFJWX1JlZzgoYWRkcikgICAgICAgICAgICAgICAgICAgICAKKyNkZWZpbmUgRFJWX0tCRF9DbGVhckJpdHMoYWRkcixkYXRhKSAgICAgICAgICAgICBEUlZfQ2xlYXJCaXRzKGFkZHIsZGF0YSkgICAgICAgICAgIAorI2RlZmluZSBEUlZfS0JEX1NldEJpdHMoYWRkcixkYXRhKSAgICAgICAgICAgICAgIERSVl9TZXRCaXRzKGFkZHIsZGF0YSkgICAgICAgICAgICAgCisjZGVmaW5lIERSVl9LQkRfU2V0RGF0YShhZGRyLCBiaXRtYXNrLCB2YWx1ZSkgICAgRFJWX1NldERhdGEoYWRkciwgYml0bWFzaywgdmFsdWUpICAKKyNkZWZpbmUgRFJWX0tCRF9DbGVhckJpdHMzMihhZGRyLGRhdGEpICAgICAgICAgICBEUlZfQ2xlYXJCaXRzMzIoYWRkcixkYXRhKSAgICAgICAgIAorI2RlZmluZSBEUlZfS0JEX1NldEJpdHMzMihhZGRyLGRhdGEpICAgICAgICAgICAgIERSVl9TZXRCaXRzMzIoYWRkcixkYXRhKSAgICAgICAgICAgCisjZGVmaW5lIERSVl9LQkRfU2V0RGF0YTMyKGFkZHIsIGJpdG1hc2ssIHZhbHVlKSAgRFJWX1NldERhdGEzMihhZGRyLCBiaXRtYXNrLCB2YWx1ZSkKKyNkZWZpbmUgRFJWX0tCRF9DbGVhckJpdHM4KGFkZHIsZGF0YSkgICAgICAgICAgICBEUlZfQ2xlYXJCaXRzOChhZGRyLGRhdGEpICAgICAgICAgIAorI2RlZmluZSBEUlZfS0JEX1NldEJpdHM4KGFkZHIsZGF0YSkgICAgICAgICAgICAgIERSVl9TZXRCaXRzOChhZGRyLGRhdGEpICAgICAgICAgICAgCisjZGVmaW5lIERSVl9LQkRfU2V0RGF0YTgoYWRkciwgYml0bWFzaywgdmFsdWUpICAgRFJWX1NldERhdGE4KGFkZHIsIGJpdG1hc2ssIHZhbHVlKSAKKyNlbmRpZiAvLyNpZiBkZWZpbmVkKF9fRFJWX0NPTU1fUkVHX0RCR19fKSAmJiBkZWZpbmVkKF9fRFJWX0tCRF9SRUdfREJHX18pCisKKyNlbmRpZgorCisKKworCisKZGlmZiAtLWdpdCBhL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMva2V5cGFkX3RyYy5oIGIvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9rZXlwYWRfdHJjLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWU4MTIwZgotLS0gL2Rldi9udWxsCisrKyBiL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMva2V5cGFkX3RyYy5oCkBAIC0wLDAgKzEsMTA0IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMDUKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4gCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEZpbGVuYW1lOgorICogLS0tLS0tLS0tCisgKiAgIGtleXBhZF90cmMuaAorICoKKyAqIFByb2plY3Q6CisgKiAtLS0tLS0tLQorICogICBNQVVJCisgKgorICogRGVzY3JpcHRpb246CisgKiAtLS0tLS0tLS0tLS0KKyAqICAgVGhpcyBpcyB0cmFjZSBtYXAgZGVmaW5pdGlvbiBmb3Iga2V5cGFkIGRyaXZlcgorICoKKyAqIEF1dGhvcjoKKyAqIC0tLS0tLS0KKyAqIC0tLS0tLS0KKyAqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZm5kZWYgX0tFWVBBRF9UUkNfSAorI2RlZmluZSBfS0VZUEFEX1RSQ19ICisKKworI2lmbmRlZiBHRU5fRk9SX1BDCisKKyAgICNpZm5kZWYgX1NUQUNLX0NPTkZJR19ICisgICAjZXJyb3IgInN0YWNrX2NvbmZpZy5oIHNob3VsZCBiZSBpbmNsdWRlZCBiZWZvcmUgdHN0X2NvbmZpZy5oIgorICAgI2VuZGlmCisKKyNlbHNlCisgICAjaW5jbHVkZSAia2FsX3RyYWNlLmgiCisjZW5kaWYgLyogR0VOX0ZPUl9QQyAqLworCisKKyNpZm5kZWYgX0tBTF9UUkFDRV9ICisgICAjZXJyb3IgImthbF90cmFjZS5oIHNob3VsZCBiZSBpbmNsdWRlZCBiZWZvcmUgdHN0X3RyYWNlLmgiCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEdFTl9GT1JfUEMpCisjaWYgZGVmaW5lZChfX1RTVF9NT0RVTEVfXykgfHwgZGVmaW5lZChfX0NVU1RPTV9SRUxFQVNFX18pCisgICAgI2luY2x1ZGUgImtleXBhZF90cmNfZ2VuLmgiCisjZW5kaWYgLyogVFNUIFRyYWNlIERlZmludGlvbiAqLworI2VuZGlmCitCRUdJTl9UUkFDRV9NQVAoTU9EX0RSVktCRCkKKworICAgVFJDX01TRyhLQkRfUkVQRUFUX0hBTkRMRVJfTk9fUk9PTSwiS0JEIHJlcGVhdCBoYW5kbGVyOiBubyByb29tIGZvciByZXBlYXRlZCBldmVudCIpCisgICBUUkNfTVNHKEtCRF9MT05HUFJFU1NfSEFORExFUl9OT19ST09NLCJLQkQgbG9uZ3ByZXNzIGhhbmRsZXI6IG5vIHJvb20gZm9yIGxvbmdwcmVzcyBldmVudCIpCisgICBUUkNfTVNHKEtCRF8yU1RFUF9LRVlfSEFORExFUl9OT19ST09NLCJLQkQgMi1zdGVwIGtleSBoYW5kbGVyOiBubyByb29tIGZvciAyLXN0ZXAga2V5IGV2ZW50IikKKyAgIFRSQ19NU0coS0JEX1BVVF9EQVRBX1RPX0JVRkZFUiwiS0JEIHB1dCBkYXRhIHRvIHJpbmcgYnVmZmVyOiBldmVudDogJWQsIGRhdGE6ICVkIikKKyAgIFRSQ19NU0coS0JEX1BVVF9UV09fREFUQV9UT19CVUZGRVIsIktCRCBwdXQgZGF0YSB0byByaW5nIGJ1ZmZlcjogZXZlbnQ6ICVkLCBkYXRhMTogJWQsIGRhdGEyOiAlZCIpCisgICBUUkNfTVNHKEtCRF9HRVRfVFdPX0tFWV9EQVRBLCJLQkQgZ2V0IHR3byBrZXk6IGV2ZW50OiAlZCwgZGF0YTE6ICVkLCBkYXRhMjogJWQiKQorICAgVFJDX01TRyhLQkRfR0VUX09ORV9LRVlfREFUQSwiS0JEIGdldCBvbmUga2V5OiBldmVudDogJWQsIGRhdGE6ICVkIikKKyAgIFRSQ19NU0coS0JEX0RFVEVDVF9NT0RFX1NXSVRDSCwiS0JEIGRldGVjdCBtb2RlIHN3aXRjaCB0byAlZCIpCisgICBUUkNfTVNHKEtCRF9ERVRFQ1RfTU9ERV9TV0lUQ0hfTk9UX1NVUFBPUlQsIktCRCBkZXRlY3QgbW9kZSBzd2l0Y2ggbm90IHN1cHBvcnRlZCIpCisgICBUUkNfTVNHKEtCRF9FWFRfQV9CX0tFWV9TVVBQT1JULCJLQkQgZXh0cmEgQSwgQiBrZXkgc3VwcG9ydCIpCisgICBUUkNfTVNHKEtCRF9FWFRfMlNURVBfS0VZX1NVUFBPUlQsIktCRCAyLXN0ZXAga2V5IHN1cHBvcnQiKQorICAgVFJDX01TRyhLQkRfTVVMVElQTEVfS0VZLCJLQkQgJWQgaXMgYSBtdWx0aXBsZSBrZXkiKQorICAgVFJDX01TRyhLQkRfTk9UX01VTFRJUExFX0tFWSwiS0JEICVkIGlzIE5PVCBhIG11bHRpcGxlIGtleSIpCisgICBUUkNfTVNHKEtCRF8yU1RFUF9LRVlfUVVFUlksIktCRCAyLXN0ZXAga2V5OiAlZCIpCisgICBUUkNfTVNHKEtCRF9LRVlfUVVFUllfU1VQUE9SVEVELCJLQkQga2V5OiAlZCBpcyBzdXBwb3J0ZWQiKQorICAgVFJDX01TRyhLQkRfS0VZX1FVRVJZX05PVF9TVVBQT1JURUQsIktCRCBrZXk6ICVkIGlzIE5PVCBzdXBwb3J0ZWQiKQorICAgCisgICAKKworCQorRU5EX1RSQUNFX01BUChNT0RfRFJWS0JEKQorCisjZW5kaWYgLyogX1RQX1RSQ19IICovCisKKwpkaWZmIC0tZ2l0IGEvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9tdDY1NzFfcG1pY193cmFwX2h3LmggYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL210NjU3MV9wbWljX3dyYXBfaHcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMjBmM2ZhCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9tdDY1NzFfcG1pY193cmFwX2h3LmgKQEAgLTAsMCArMSwzMTUgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxMgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLiAKKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGaWxlbmFtZToKKyAqIC0tLS0tLS0tLQorICogIG10NjU4Ml9wbWljX3dyYXBfaHcuaAorICoKKyAqIFByb2plY3Q6CisgKiAtLS0tLS0tLQorICogIE1hdWlfU29mdHdhcmUKKyAqCisgKiBEZXNjcmlwdGlvbjoKKyAqIC0tLS0tLS0tLS0tLQorICoJVGhpcyBpcyBtdDY1NzEgcG1pYyB3cmFwcGVyIGgvdyByZWdpc3RlcgorICoKKyAqIEF1dGhvcjoKKyAqIC0tLS0tLS0KKyAqIC0tLS0tLS0KKyAqCisgKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqICAgICAgICAgICAgIEhJU1RPUlkKKyAqIEJlbG93IHRoaXMgbGluZSwgdGhpcyBwYXJ0IGlzIGNvbnRyb2xsZWQgYnkgUFZDUyBWTS4gRE8gTk9UIE1PRElGWSEhCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiBVcHBlciB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyAKKyNpZm5kZWYgX19NVDY1NzFfUE1JQ19XUkFQX0hXX0hfXworI2RlZmluZSBfX01UNjU3MV9QTUlDX1dSQVBfSFdfSF9fCisKKyNpZiAhZGVmaW5lZChGUEdBX0NUUCkKKyNpbmNsdWRlICJyZWdfYmFzZS5oIgorCisjZGVmaW5lIFBNSUNfV1JBUF9CQVNFICAgICAgICAgICAgICAgICAgKEFQX1BNSUNfV1JBUF9CQVNFKQorI2RlZmluZSBUT1BfQ0xPQ0tfQ1RSTF9CQVNFICAgICAJCShBUF9UT1BfQ0xPQ0tfQ1RSTF9CQVNFKQorI2RlZmluZSBUT1BSR1VfQkFTRSAgICAgICAgICAgICAJCShBUF9UT1BSR1VfQkFTRSkKKworI2Vsc2UKKyNkZWZpbmUgUE1JQ19XUkFQX0JBU0UJCQkJCSgweDEwMDBGMDAwKQorI2RlZmluZSBUT1BfQ0xPQ0tfQ1RSTF9CQVNFICAgICAJCSgweDEwMDAwMDAwKQorI2RlZmluZSBUT1BSR1VfQkFTRSAgICAgICAgICAgICAJCSgweDEwMDA3MDAwKQorCisjZW5kaWYKKworI2RlZmluZSBDTEtfU0VMXzAgICAgICAgICAgICAgICAJCShUT1BfQ0xPQ0tfQ1RSTF9CQVNFICsgMHgwMDApCisjZGVmaW5lIENMS19TV0NHXzEgICAgICAgICAgICAgIAkJKFRPUF9DTE9DS19DVFJMX0JBU0UgKyAweDAyNCkKKyNkZWZpbmUgQ0xLX1NFVENHXzEgICAgICAgICAgICAgCQkoVE9QX0NMT0NLX0NUUkxfQkFTRSArIDB4MDU0KQorI2RlZmluZSBDTEtfU0VUQ0dfMyAgICAgICAgICAgICAJCShUT1BfQ0xPQ0tfQ1RSTF9CQVNFICsgMHgwNUMpCisjZGVmaW5lIENMS19DTFJDR18xICAgICAgICAgICAgIAkJKFRPUF9DTE9DS19DVFJMX0JBU0UgKyAweDA4NCkKKyNkZWZpbmUgV0RUX1NXU1lTUlNUICAgICAgICAgICAgCQkoVE9QUkdVX0JBU0UgKyAweDAxOCkKKyNkZWZpbmUgV0RUX0ZBU1RfU1dTWVNSU1QgICAgICAgICAgICAgICAgICAgICAgIChUT1BSR1VfQkFTRSArIDB4NDA4KQorCisjZGVmaW5lIElORlJBX0dMT0JBTENPTl9SU1QwICAgICAgICAgICAgKEFQX0lORlJBQ0ZHX0FPX2Jhc2UgKyAweDAzMCkKKworI2RlZmluZSBQTUlDX1dSQVBfTVVYX1NFTCAgICAgICAgICAgICAgIChQTUlDX1dSQVBfQkFTRSsweDApCisjZGVmaW5lIFBNSUNfV1JBUF9XUkFQX0VOICAgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4NCkKKyNkZWZpbmUgUE1JQ19XUkFQX0RJT19FTiAgICAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg4KQorI2RlZmluZSBQTUlDX1dSQVBfU0lETFkgICAgICAgICAgICAgICAgIChQTUlDX1dSQVBfQkFTRSsweEMpCisjZGVmaW5lIFBNSUNfV1JBUF9PUF9UWVBFICAgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4MTApCisjZGVmaW5lIFBNSUNfV1JBUF9NU0JfRklSU1QgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4MTQpCisjZGVmaW5lIFBNSUNfV1JBUF9SRERNWSAgICAgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4MTgpCisjZGVmaW5lIFBNSUNfV1JBUF9TSV9DS19DT04gICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4MUMpCisjZGVmaW5lIFBNSUNfV1JBUF9DU0hFWFRfV1JJVEUgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4MjApCisjZGVmaW5lIFBNSUNfV1JBUF9DU0hFWFRfUkVBRCAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4MjQpCisjZGVmaW5lIFBNSUNfV1JBUF9DU0xFWFRfU1RBUlQgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4MjgpCisjZGVmaW5lIFBNSUNfV1JBUF9DU0xFWFRfRU5EICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4MkMpCisjZGVmaW5lIFBNSUNfV1JBUF9TVEFVUERfUFJEICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4MzApCisjZGVmaW5lIFBNSUNfV1JBUF9TVEFVUERfR1JQRU4gICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4MzQpCisjZGVmaW5lIFBNSUNfV1JBUF9TVEFVUERfTUFOX1RSSUcgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4MzgpCisjZGVmaW5lIFBNSUNfV1JBUF9TVEFVUERfU1RBICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4M0MpCisjZGVmaW5lIFBNSUNfV1JBUF9HUFNfU1RBICAgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4NDApCisjZGVmaW5lIFBNSUNfV1JBUF9XUkFQX1NUQSAgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4NDQpCisjZGVmaW5lIFBNSUNfV1JBUF9IQVJCX0lOSVQgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4NDgpCisjZGVmaW5lIFBNSUNfV1JBUF9IQVJCX0hQUklPICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4NEMpCisjZGVmaW5lIFBNSUNfV1JBUF9ISVBSSU9fQVJCX0VOICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4NTApCisjZGVmaW5lIFBNSUNfV1JBUF9IQVJCX1NUQTAgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4NTQpCisjZGVmaW5lIFBNSUNfV1JBUF9IQVJCX1NUQTEgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4NTgpCisjZGVmaW5lIFBNSUNfV1JBUF9NQU5fRU4gICAgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4NUMpCisjZGVmaW5lIFBNSUNfV1JBUF9NQU5fQ01EICAgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4NjApCisjZGVmaW5lIFBNSUNfV1JBUF9NQU5fUkRBVEEgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4NjQpCisjZGVmaW5lIFBNSUNfV1JBUF9NQU5fVkxEQ0xSICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4NjgpCisjZGVmaW5lIFBNSUNfV1JBUF9XQUNTMF9FTiAgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4NkMpCisjZGVmaW5lIFBNSUNfV1JBUF9JTklUX0RPTkUwICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4NzApCisjZGVmaW5lIFBNSUNfV1JBUF9XQUNTMF9DTUQgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4NzQpCisjZGVmaW5lIFBNSUNfV1JBUF9XQUNTMF9SREFUQSAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4NzgpCisjZGVmaW5lIFBNSUNfV1JBUF9XQUNTMF9WTERDTFIgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4N0MpCisjZGVmaW5lIFBNSUNfV1JBUF9XQUNTMV9FTiAgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4ODApCisjZGVmaW5lIFBNSUNfV1JBUF9JTklUX0RPTkUxICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4ODQpCisjZGVmaW5lIFBNSUNfV1JBUF9XQUNTMV9DTUQgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4ODgpCisjZGVmaW5lIFBNSUNfV1JBUF9XQUNTMV9SREFUQSAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4OEMpCisjZGVmaW5lIFBNSUNfV1JBUF9XQUNTMV9WTERDTFIgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4OTApCisjZGVmaW5lIFBNSUNfV1JBUF9XQUNTMl9FTiAgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4OTQpCisjZGVmaW5lIFBNSUNfV1JBUF9JTklUX0RPTkUyICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4OTgpCisjZGVmaW5lIFBNSUNfV1JBUF9XQUNTMl9DTUQgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4OUMpCisjZGVmaW5lIFBNSUNfV1JBUF9XQUNTMl9SREFUQSAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4QTApCisjZGVmaW5lIFBNSUNfV1JBUF9XQUNTMl9WTERDTFIgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4QTQpCisjZGVmaW5lIFBNSUNfV1JBUF9JTlRfRU4gICAgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4QTgpCisjZGVmaW5lIFBNSUNfV1JBUF9JTlRfRkxHX1JBVyAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4QUMpCisjZGVmaW5lIFBNSUNfV1JBUF9JTlRfRkxHICAgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4QjApCisjZGVmaW5lIFBNSUNfV1JBUF9JTlRfQ0xSICAgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4QjQpCisjZGVmaW5lIFBNSUNfV1JBUF9TSUdfQURSICAgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4QjgpCisjZGVmaW5lIFBNSUNfV1JBUF9TSUdfTU9ERSAgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4QkMpCisjZGVmaW5lIFBNSUNfV1JBUF9TSUdfVkFMVUUgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4QzApCisjZGVmaW5lIFBNSUNfV1JBUF9TSUdfRVJSVkFMICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4QzQpCisjZGVmaW5lIFBNSUNfV1JBUF9DUkNfRU4gICAgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4QzgpCisjZGVmaW5lIFBNSUNfV1JBUF9USU1FUl9FTiAgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4Q0MpCisjZGVmaW5lIFBNSUNfV1JBUF9USU1FUl9TVEEgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4RDApCisjZGVmaW5lIFBNSUNfV1JBUF9XRFRfVU5JVCAgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4RDQpCisjZGVmaW5lIFBNSUNfV1JBUF9XRFRfU1JDX0VOICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4RDgpCisjZGVmaW5lIFBNSUNfV1JBUF9XRFRfRkxHICAgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4REMpCisjZGVmaW5lIFBNSUNfV1JBUF9ERUJVR19JTlRfU0VMICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4RTApCisjZGVmaW5lIFBNSUNfV1JBUF9EVkZTX0FEUjAgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4RTQpCisjZGVmaW5lIFBNSUNfV1JBUF9EVkZTX1dEQVRBMCAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4RTgpCisjZGVmaW5lIFBNSUNfV1JBUF9EVkZTX0FEUjEgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4RUMpCisjZGVmaW5lIFBNSUNfV1JBUF9EVkZTX1dEQVRBMSAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4RjApCisjZGVmaW5lIFBNSUNfV1JBUF9EVkZTX0FEUjIgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4RjQpCisjZGVmaW5lIFBNSUNfV1JBUF9EVkZTX1dEQVRBMiAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4RjgpCisjZGVmaW5lIFBNSUNfV1JBUF9EVkZTX0FEUjMgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4RkMpCisjZGVmaW5lIFBNSUNfV1JBUF9EVkZTX1dEQVRBMyAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4MTAwKQorI2RlZmluZSBQTUlDX1dSQVBfRFZGU19BRFI0ICAgICAgICAgICAgIChQTUlDX1dSQVBfQkFTRSsweDEwNCkKKyNkZWZpbmUgUE1JQ19XUkFQX0RWRlNfV0RBVEE0ICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgxMDgpCisjZGVmaW5lIFBNSUNfV1JBUF9EVkZTX0FEUjUgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4MTBDKQorI2RlZmluZSBQTUlDX1dSQVBfRFZGU19XREFUQTUgICAgICAgICAgIChQTUlDX1dSQVBfQkFTRSsweDExMCkKKyNkZWZpbmUgUE1JQ19XUkFQX0RWRlNfQURSNiAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgxMTQpCisjZGVmaW5lIFBNSUNfV1JBUF9EVkZTX1dEQVRBNiAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4MTE4KQorI2RlZmluZSBQTUlDX1dSQVBfRFZGU19BRFI3ICAgICAgICAgICAgIChQTUlDX1dSQVBfQkFTRSsweDExQykKKyNkZWZpbmUgUE1JQ19XUkFQX0RWRlNfV0RBVEE3ICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgxMjApCisjZGVmaW5lIFBNSUNfV1JBUF9DSVBIRVJfS0VZX1NFTCAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4MTI0KQorI2RlZmluZSBQTUlDX1dSQVBfQ0lQSEVSX0lWX1NFTCAgICAgICAgIChQTUlDX1dSQVBfQkFTRSsweDEyOCkKKyNkZWZpbmUgUE1JQ19XUkFQX0NJUEhFUl9FTiAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgxMkMpCisjZGVmaW5lIFBNSUNfV1JBUF9DSVBIRVJfUkRZICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4MTMwKQorI2RlZmluZSBQTUlDX1dSQVBfQ0lQSEVSX01PREUgICAgICAgICAgIChQTUlDX1dSQVBfQkFTRSsweDEzNCkKKyNkZWZpbmUgUE1JQ19XUkFQX0NJUEhFUl9TV1JTVCAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgxMzgpCisjZGVmaW5lIFBNSUNfV1JBUF9EQ01fRU4gICAgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4MTNDKQorI2RlZmluZSBQTUlDX1dSQVBfRENNX0RCQ19QUkQgICAgICAgICAgIChQTUlDX1dSQVBfQkFTRSsweDE0MCkKKyNkZWZpbmUgUE1JQ19XUkFQX0FEQ19DTURfQUREUiAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgxNDQpCisjZGVmaW5lIFBNSUNfV1JBUF9QV1JBUF9BRENfQ01EICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4MTQ4KQorI2RlZmluZSBQTUlDX1dSQVBfQURDX1JEWV9BRERSICAgICAgICAgIChQTUlDX1dSQVBfQkFTRSsweDE0QykKKyNkZWZpbmUgUE1JQ19XUkFQX0FEQ19SREFUQV9BRERSMSAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgxNTApCisjZGVmaW5lIFBNSUNfV1JBUF9BRENfUkRBVEFfQUREUjIgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4MTU0KQorI2RlZmluZSBQTUlDX1dSQVBfU1dSU1QgICAgICAgICAgICAgICAgIChQTUlDX1dSQVBfQkFTRSsweDE4MCkKKyNkZWZpbmUgUE1JQ19XUkFQX0RFQlVHX1NFTCAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgxOTApCisKKy8vIEJpdCBDb250cm9sCisjZGVmaW5lIEdFVF9TVEFVUERfRExFX0NOVCh4KSAgICAgICAgKCh4Pj4wKSAgJiAweDAwMDAwMDA3KQorI2RlZmluZSBHRVRfU1RBVVBEX0FMRV9DTlQoeCkgICAgICAgICgoeD4+MykgICYgMHgwMDAwMDAwNykKKyNkZWZpbmUgR0VUX1NUQVVQRF9GU00oeCkgICAgICAgICAgICAoKHg+PjYpICAmIDB4MDAwMDAwMDcpCisjZGVmaW5lIEdFVF9QV1JBUF9HUFNfQUNLKHgpICAgICAgICAgKCh4Pj4wKSAgJiAweDAwMDAwMDAxKQorI2RlZmluZSBHRVRfR1BTX1BXUkFQX1JFUSh4KSAgICAgICAgICgoeD4+MSkgICYgMHgwMDAwMDAwMSkKKyNkZWZpbmUgR0VUX0dQU0lORl9ETEVfQ05UKHgpICAgICAgICAoKHg+PjQpICAmIDB4MDAwMDAwMDMpCisjZGVmaW5lIEdFVF9HUFNJTkZfQUxFX0NOVCh4KSAgICAgICAgKCh4Pj42KSAgJiAweDAwMDAwMDAzKQorI2RlZmluZSBHRVRfR1BTX0lORl9GU00oeCkgICAgICAgICAgICgoeD4+OCkgICYgMHgwMDAwMDAwNykKKyNkZWZpbmUgR0VUX1BXUkFQX0dQU19XREFUQSh4KSAgICAgICAoKHg+PjE1KSAmIDB4MDAwMWZmZmYpCisjZGVmaW5lIEdFVF9XUkFQX0NIX0RMRV9SRVNUQ05UKHgpICAgKCh4Pj4wKSAgJiAweDAwMDAwMDA3KQorI2RlZmluZSBHRVRfV1JBUF9DSF9BTEVfUkVTVENOVCh4KSAgICgoeD4+MykgICYgMHgwMDAwMDAwMykKKyNkZWZpbmUgR0VUX1dSQVBfQUdfRExFX1JFU1RDTlQoeCkgICAoKHg+PjUpICAmIDB4MDAwMDAwMDMpCisjZGVmaW5lIEdFVF9XUkFQX0NIX1coeCkgICAgICAgICAgICAgKCh4Pj43KSAgJiAweDAwMDAwMDAxKQorI2RlZmluZSBHRVRfV1JBUF9DSF9SRVEoeCkgICAgICAgICAgICgoeD4+OCkgICYgMHgwMDAwMDAwMSkKKyNkZWZpbmUgR0VUX0FHX1dSQVBfVyh4KSAgICAgICAgICAgICAoKHg+PjkpICAmIDB4MDAwMDAwMDEpCisjZGVmaW5lIEdFVF9BR19XUkFQX1JFUSh4KSAgICAgICAgICAgKCh4Pj4xMCkgJiAweDAwMDAwMDAxKQorI2RlZmluZSBHRVRfV1JBUF9GU00oeCkgICAgICAgICAgICAgICgoeD4+MTEpICYgMHgwMDAwMDAwZikKKyNkZWZpbmUgR0VUX0hBUkJfV1JBUF9XREFUQSh4KSAgICAgICAoKHg+PjApICAmIDB4MDAwMGZmZmYpCisjZGVmaW5lIEdFVF9IQVJCX1dSQVBfQURSKHgpICAgICAgICAgKCh4Pj4xNikgJiAweDAwMDA3ZmZmKQorI2RlZmluZSBHRVRfSEFSQl9XUkFQX1JFUSh4KSAgICAgICAgICgoeD4+MzEpICYgMHgwMDAwMDAwMSkKKyNkZWZpbmUgR0VUX0hBUkJfRExFX0VNUFRZKHgpICAgICAgICAoKHg+PjApICAmIDB4MDAwMDAwMDEpCisjZGVmaW5lIEdFVF9IQVJCX0RMRV9GVUxMKHgpICAgICAgICAgKCh4Pj4xKSAgJiAweDAwMDAwMDAxKQorI2RlZmluZSBHRVRfSEFSQl9WTEQoeCkgICAgICAgICAgICAgICgoeD4+MikgICYgMHgwMDAwMDAwMSkKKyNkZWZpbmUgR0VUX0hBUkJfRExFX09XTih4KSAgICAgICAgICAoKHg+PjMpICAmIDB4MDAwMDAwMGYpCisjZGVmaW5lIEdFVF9IQVJCX09XTih4KSAgICAgICAgICAgICAgKCh4Pj43KSAgJiAweDAwMDAwMDBmKQorI2RlZmluZSBHRVRfSEFSQl9ETEVfUkVTVENOVCh4KSAgICAgICgoeD4+MTEpICYgMHgwMDAwMDAwZikKKyNkZWZpbmUgR0VUX0FHX0hBUkJfUkVRKHgpICAgICAgICAgICAoKHg+PjE1KSAmIDB4MDAwMDAwN2YpCisjZGVmaW5lIEdFVF9IQVJCX1dSQVBfVyh4KSAgICAgICAgICAgKCh4Pj4yMikgJiAweDAwMDAwMDAxKQorI2RlZmluZSBHRVRfSEFSQl9XUkFQX1JFUTAoeCkgICAgICAgICgoeD4+MjMpICYgMHgwMDAwMDAwMSkKKyNkZWZpbmUgR0VUX1NQSV9XREFUQSh4KSAgICAgICAgICAgICAoKHg+PjApICAmIDB4MDAwMDAwZmYpCisjZGVmaW5lIEdFVF9TUElfT1AoeCkgICAgICAgICAgICAgICAgKCh4Pj44KSAgJiAweDAwMDAwMDFmKQorI2RlZmluZSBHRVRfU1BJX1coeCkgICAgICAgICAgICAgICAgICgoeD4+MTMpICYgMHgwMDAwMDAwMSkKKyNkZWZpbmUgR0VUX01BTl9SREFUQSh4KSAgICAgICAgICAgICAoKHg+PjApICAmIDB4MDAwMDAwZmYpCisjZGVmaW5lIEdFVF9NQU5fRlNNKHgpICAgICAgICAgICAgICAgKCh4Pj44KSAgJiAweDAwMDAwMDA3KQorI2RlZmluZSBHRVRfTUFOX1JFUSh4KSAgICAgICAgICAgICAgICgoeD4+MTEpICYgMHgwMDAwMDAwMSkKKyNkZWZpbmUgR0VUX1dBQ1MwX1dEQVRBKHgpICAgICAgICAgICAoKHg+PjApICAmIDB4MDAwMGZmZmYpCisjZGVmaW5lIEdFVF9XQUNTMF9BRFIoeCkgICAgICAgICAgICAgKCh4Pj4xNikgJiAweDAwMDA3ZmZmKQorI2RlZmluZSBHRVRfV0FDUzBfV1JJVEUoeCkgICAgICAgICAgICgoeD4+MzEpICYgMHgwMDAwMDAwMSkKKyNkZWZpbmUgR0VUX1dBQ1MwX1JEQVRBKHgpICAgICAgICAgICAoKHg+PjApICAmIDB4MDAwMGZmZmYpCisjZGVmaW5lIEdFVF9XQUNTMF9GU00oeCkgICAgICAgICAgICAgKCh4Pj4xNikgJiAweDAwMDAwMDA3KQorI2RlZmluZSBHRVRfV0FDUzBfUkVRKHgpICAgICAgICAgICAgICgoeD4+MTkpICYgMHgwMDAwMDAwMSkKKyNkZWZpbmUgR0VUX1NZTkNfSURMRTAoeCkgICAgICAgICAgICAoKHg+PjIwKSAmIDB4MDAwMDAwMDEpCisjZGVmaW5lIEdFVF9JTklUX0RPTkUwKHgpICAgICAgICAgICAgKCh4Pj4yMSkgJiAweDAwMDAwMDAxKQorI2RlZmluZSBHRVRfV0FDUzFfV0RBVEEoeCkgICAgICAgICAgICgoeD4+MCkgICYgMHgwMDAwZmZmZikKKyNkZWZpbmUgR0VUX1dBQ1MxX0FEUih4KSAgICAgICAgICAgICAoKHg+PjE2KSAmIDB4MDAwMDdmZmYpCisjZGVmaW5lIEdFVF9XQUNTMV9XUklURSh4KSAgICAgICAgICAgKCh4Pj4zMSkgJiAweDAwMDAwMDAxKQorI2RlZmluZSBHRVRfV0FDUzFfUkRBVEEoeCkgICAgICAgICAgICgoeD4+MCkgICYgMHgwMDAwZmZmZikKKyNkZWZpbmUgR0VUX1dBQ1MxX0ZTTSh4KSAgICAgICAgICAgICAoKHg+PjE2KSAmIDB4MDAwMDAwMDcpCisjZGVmaW5lIEdFVF9XQUNTMV9SRVEoeCkgICAgICAgICAgICAgKCh4Pj4xOSkgJiAweDAwMDAwMDAxKQorI2RlZmluZSBHRVRfU1lOQ19JRExFMSh4KSAgICAgICAgICAgICgoeD4+MjApICYgMHgwMDAwMDAwMSkKKyNkZWZpbmUgR0VUX0lOSVRfRE9ORTEoeCkgICAgICAgICAgICAoKHg+PjIxKSAmIDB4MDAwMDAwMDEpCisjZGVmaW5lIEdFVF9XQUNTMl9XREFUQSh4KSAgICAgICAgICAgKCh4Pj4wKSAgJiAweDAwMDBmZmZmKQorI2RlZmluZSBHRVRfV0FDUzJfQURSKHgpICAgICAgICAgICAgICgoeD4+MTYpICYgMHgwMDAwN2ZmZikKKyNkZWZpbmUgR0VUX1dBQ1MyX1dSSVRFKHgpICAgICAgICAgICAoKHg+PjMxKSAmIDB4MDAwMDAwMDEpCisjZGVmaW5lIEdFVF9XQUNTMl9SREFUQSh4KSAgICAgICAgICAgKCh4Pj4wKSAgJiAweDAwMDBmZmZmKQorI2RlZmluZSBHRVRfV0FDUzJfRlNNKHgpICAgICAgICAgICAgICgoeD4+MTYpICYgMHgwMDAwMDAwNykKKyNkZWZpbmUgR0VUX1dBQ1MyX1JFUSh4KSAgICAgICAgICAgICAoKHg+PjE5KSAmIDB4MDAwMDAwMDEpCisjZGVmaW5lIEdFVF9TWU5DX0lETEUyKHgpICAgICAgICAgICAgKCh4Pj4yMCkgJiAweDAwMDAwMDAxKQorI2RlZmluZSBHRVRfSU5JVF9ET05FMih4KSAgICAgICAgICAgICgoeD4+MjEpICYgMHgwMDAwMDAwMSkgICAKKworI2RlZmluZSBHRVRfV0FDU19SREFUQSh4KSAgICAgICAgICAgICgoeD4+MCkgICYgMHgwMDAwZmZmZikgICAgICAKKyNkZWZpbmUgR0VUX1dBQ1NfRlNNKHgpICAgICAgICAgICAgICAoKHg+PjE2KSAmIDB4MDAwMDAwMDcpICAgICAgCisjZGVmaW5lIEdFVF9XQUNTX1JFUSh4KSAgICAgICAgICAgICAgKCh4Pj4xOSkgJiAweDAwMDAwMDAxKSAgICAgIAorI2RlZmluZSBHRVRfU1lOQ19JRExFKHgpICAgICAgICAgICAgICgoeD4+MjApICYgMHgwMDAwMDAwMSkgICAgICAKKyNkZWZpbmUgR0VUX0lOSVRfRE9ORSh4KSAgICAgICAgICAgICAoKHg+PjIxKSAmIDB4MDAwMDAwMDEpICAgICAKKworI2RlZmluZSBTUElfQVVUT19NT0RFICAgICAgICAgICAwCisjZGVmaW5lIFNQSV9NQU5VQUxfTU9ERSAgICAgICAgIDEKKyNkZWZpbmUgSEFSQl9IUFJJT19BTEwgICAgICAgICAgMHgxRkYKKyNkZWZpbmUgSEFSQl9IUFJJT19SUkFQQiAgICAgICAgKDEgPDwgOCkKKyNkZWZpbmUgSEFSQl9IUFJJT19QRVJJX1BXUkFQICAgKDEgPDwgNykKKyNkZWZpbmUgSEFSQl9IUFJJT19TVEFVUEQgICAgICAgKDEgPDwgNikKKyNkZWZpbmUgSEFSQl9IUFJJT19FUkMgICAgICAgICAgKDEgPDwgNSkKKyNkZWZpbmUgSEFSQl9IUFJJT19EVkZTSU5GICAgICAgKDEgPDwgNCkKKyNkZWZpbmUgSEFSQl9IUFJJT19XQUNTMiAgICAgICAgKDEgPDwgMykKKyNkZWZpbmUgSEFSQl9IUFJJT19XQUNTMSAgICAgICAgKDEgPDwgMikKKyNkZWZpbmUgSEFSQl9IUFJJT19XQUNTMCAgICAgICAgKDEgPDwgMSkKKyNkZWZpbmUgSEFSQl9IUFJJT19NRElORiAgICAgICAgKDEgPDwgMCkKKworCisvLyBDdXJyZW50IFdSQVAgRlNNIHN0YXRlcy4KKyNkZWZpbmUgV1JBUF9GU01fSURMRV9TVEFURSAgICAgICAgICAgICAgICAgMHgwCisjZGVmaW5lIFdSQVBfRlNNX0NTTF9BRFJfU1RBUlRfU1RBVEUgICAgICAgIDB4MgorI2RlZmluZSBXUkFQX0ZTTV9BRFJfU1RBVEUgICAgICAgICAgICAgICAgICAweDQKKyNkZWZpbmUgV1JBUF9GU01fQ1NMX0FEUl9FTkRfU1RBVEUgICAgICAgICAgMHg2CisjZGVmaW5lIFdSQVBfRlNNX0NTSF9BRFJfU1RBVEUgICAgICAgICAgICAgIDB4OAorI2RlZmluZSBXUkFQX0ZTTV9DU0xfREFUQV9TVEFSVF9TVEFURSAgICAgICAweEEKKyNkZWZpbmUgV1JBUF9GU01fREFUQV9TVEFURSAgICAgICAgICAgICAgICAgMHhDCisjZGVmaW5lIFdSQVBfRlNNX0NTTF9EQVRBX0VORF9TVEFURSAgICAgICAgIDB4RQorI2RlZmluZSBXUkFQX0ZTTV9DU0hfREFUQV9TVEFURSAgICAgICAgICAgICAweEYKKworI2RlZmluZSBXQUNTX0lOSVRfRE9ORV9OT1RfRklOSVNIRUQgICAgICAgICAwCisjZGVmaW5lIFdBQ1NfSU5JVF9ET05FX0ZJTklTSEVEICAgICAgICAgICAgIDEKKworCisjZGVmaW5lIFdBQ1NfU1lOQ19NT0RVTEVfQlVTWSAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgV0FDU19TWU5DX01PRFVMRV9JRExFICAgICAgICAgICAgICAgMQorCisvLyBDdXJyZW50IFdBQ1MgRlNNIHN0YXRlcy4KKyNkZWZpbmUgV0FDU19GU01fSURMRV9TVEFURSAgICAgICAgICAgICAgICAgMHgwCisjZGVmaW5lIFdBQ1NfRlNNX1JFUV9TVEFURSAgICAgICAgICAgICAgICAgIDB4MgorI2RlZmluZSBXQUNTX0ZTTV9XRkRMRV9TVEFURSAgICAgICAgICAgICAgICAweDQKKyNkZWZpbmUgV0FDU19GU01fV0ZWTERDTFJfU1RBVEUgICAgICAgICAgICAgMHg2CisKKy8vIEN1cnJlbnQgTUFOIEZTTSBzdGF0ZXMuCisjZGVmaW5lIE1BTl9GU01fSURMRV9TVEFURSAgICAgICAgICAgICAgICAgIDB4MAorI2RlZmluZSBNQU5fRlNNX1JFUV9TVEFURSAgICAgICAgICAgICAgICAgICAweDIKKyNkZWZpbmUgTUFOX0ZTTV9XRkRMRV9TVEFURSAgICAgICAgICAgICAgICAgMHg0CisjZGVmaW5lIE1BTl9GU01fV0ZWTERDTFJfU1RBVEUgICAgICAgICAgICAgIDB4NgorCisvLyBDdXJyZW50IFNUQVVQRCBGU00gc3RhdGVzLgorI2RlZmluZSBTVEFVUERfRlNNX0lETEVfU1RBVEUgICAgICAgICAgICAgICAweDAKKyNkZWZpbmUgU1RBVVBEX0ZTTV9SRVFfU1RBVEUgICAgICAgICAgICAgICAgMHgyCisjZGVmaW5lIFNUQVVQRF9GU01fV0ZETEVfU1RBVEUgICAgICAgICAgICAgIDB4NAorCisjZGVmaW5lIERFV19SRUFEX1RFU1RfVkFMVUUgICAgICAgICAgICAgICAgIDB4NUFBNQorCisvLy0tLS0tbWFjcm8gZm9yIG1hbnVhbCBjb21tbmQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyNkZWZpbmUgT1BfV1IgICAgKDB4MSkKKworI2RlZmluZSBPUF9DU0ggICAoMHgwKQorI2RlZmluZSBPUF9DU0wgICAoMHgxKQorI2RlZmluZSBPUF9PVVRTICAoMHg4KQorI2RlZmluZSBPUF9PVVREICAoMHg5KQorI2RlZmluZSBPUF9JTlMgICAoMHhDKQorI2RlZmluZSBPUF9JTkQgICAoMHhEKQorCisgI2VuZGlmIC8vIF9fTVQ2NTcxX1BNSUNfV1JBUF9IV19IX18gICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCmRpZmYgLS1naXQgYS9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL210NjU3MV9wbWljX3dyYXBfc3cuaCBiL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvbXQ2NTcxX3BtaWNfd3JhcF9zdy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVmMDBjNmMKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL210NjU3MV9wbWljX3dyYXBfc3cuaApAQCAtMCwwICsxLDE4NCBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDEyCisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuIAorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZpbGVuYW1lOgorICogLS0tLS0tLS0tCisgKiAgbXQ2NTcxX3BtaWNfd3JhcF9zdy5oCisgKgorICogUHJvamVjdDoKKyAqIC0tLS0tLS0tCisgKiAgTWF1aV9Tb2Z0d2FyZQorICoKKyAqIERlc2NyaXB0aW9uOgorICogLS0tLS0tLS0tLS0tCisgKglUaGlzIGlzIGZvciBtdDY1NzEgcG1pYyB3cmFwcGVyIGRyaXZlciBzL3cgdXNhZ2UKKyAqCisgKiBBdXRob3I6CisgKiAtLS0tLS0tCisgKiAtLS0tLS0tCisgKgorICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKiAgICAgICAgICAgICBISVNUT1JZCisgKiBCZWxvdyB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiBVcHBlciB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZm5kZWYgX19NVDY1NzFfUE1JQ19XUkFQX1NXX0hfXworI2RlZmluZSBfX01UNjU3MV9QTUlDX1dSQVBfU1dfSF9fCisKKyNpbmNsdWRlICJkcnZfY29tbS5oIgorI2RlZmluZSBQTUlDX1dSQVBfUkVBRCAgICAgICAgICAgICAgMAorI2RlZmluZSBQTUlDX1dSQVBfV1JJVEUgICAgICAgICAgICAgMQorCisjZGVmaW5lIFBNSUNfV1JBUF9SRUdfQ0xPQ0tfU0FGRV9NT0RFICAgMAorCisjZGVmaW5lIFBNSUNfV1JBUF9SRUdfQ0xPQ0tfMDZNSFogICAgICAgMQorI2RlZmluZSBQTUlDX1dSQVBfUkVHX0NMT0NLXzEyTUhaICAgICAgIDIKKworI2RlZmluZSBQTUlDX1dSQVBfUkVHX0NMT0NLXzE4TUhaICAgICAgIDEKKyNkZWZpbmUgUE1JQ19XUkFQX1JFR19DTE9DS18zNk1IWiAgICAgICAyCisKKyNkZWZpbmUgREVXX1dSSVRFX1RFU1RfVkFMVUUgICAgICAgICAgICAweEE1NUEKKworI2RlZmluZSBQTUlDX1dSQVBfSU5WQUxJRF9SVyAgICAgICAgICAgIDB4MTAKKyNkZWZpbmUgUE1JQ19XUkFQX0lOVkFMSURfQUREUiAgICAgICAgICAweDExCisjZGVmaW5lIFBNSUNfV1JBUF9JTlZBTElEX1dEQVRBICAgICAgICAgMHgxMgorI2RlZmluZSBQTUlDX1dSQVBfSU5WQUxJRF9PUCAgICAgICAgICAgIDB4MTMKKyNkZWZpbmUgUE1JQ19XUkFQX0lOVkFMSURfQVJHVU1FTlQgICAgICAweDE0CisKKyNkZWZpbmUgUE1JQ19XUkFQX0lOSVRfU0lETFlfRkFJTAkweDIwCisjZGVmaW5lIFBNSUNfV1JBUF9JTklUX1JFR19DTEtfRkFJTAkweDIxCisjZGVmaW5lIFBNSUNfV1JBUF9JTklUX0RVQUxfTU9ERV9GQUlMCTB4MjIKKyNkZWZpbmUgUE1JQ19XUkFQX0lOSVRfQ0lQSEVSX0ZBSUwJMHgyMworCisjZGVmaW5lIFBNSUNfV1JBUF9OT1RfSU5JVF9ET05FICAgICAgICAgMHgzMAorI2RlZmluZSBQTUlDX1dSQVBfTk9UX0lOSVRfRE9ORV9SRUFEICAgIDB4MzEKKyNkZWZpbmUgUE1JQ19XUkFQX1JFQURfVEVTVF9GQUlMICAgICAgICAweDMyCisjZGVmaW5lIFBNSUNfV1JBUF9XUklURV9URVNUX0ZBSUwgICAgICAgMHgzMworI2RlZmluZSBQTUlDX1dSQVBfU1dJVENIX0RJT19GQUlMICAgICAgIDB4MzQKKyNkZWZpbmUgUE1JQ19XUkFQX1JFQURfRkFJTCAgICAgICAgICAgICAweDM1CisjZGVmaW5lIFBNSUNfV1JBUF9XUklURV9GQUlMICAgICAgICAgICAgMHgzNgorI2RlZmluZSBQTUlDX1dSQVBfREVXX0VWRU5UX1RFU1RfRkFJTCAgIDB4MzcKKyNkZWZpbmUgUE1JQ19XUkFQX01BTlVBTF9NT0RFX05PVF9JRExFICAweDM4CisjZGVmaW5lIFBNSUNfV1JBUF9TVEFVUERfRlNNX05PVF9JRExFICAgMHgzOQorCisKKyNkZWZpbmUgUE1JQ19XUkFQX1RJTUVfT1VUX0ZBSUwgICAgICAgICAweEZGCisKKyNkZWZpbmUgT1BfUkQgICAgICAgKDB4MCkKKyNkZWZpbmUgT1BfV1IgICAgICAgKDB4MSkKKworI2RlZmluZSBPUF9DU0ggICAgICAoMHgwKQorI2RlZmluZSBPUF9DU0wgICAgICAoMHgxKQorI2RlZmluZSBPUF9DSyAgICAgICAoMHgyKQorI2RlZmluZSBPUF9PVVRTICAgICAoMHg4KQorI2RlZmluZSBPUF9PVVREICAgICAoMHg5KQorI2RlZmluZSBPUF9JTlMgICAgICAoMHhDKQorI2RlZmluZSBPUF9JTkQgICAgICAoMHhEKQorCisjZGVmaW5lIERSVl9Xcml0ZVJlZyhhZGRyLGRhdGEpICAgICAoKCoodm9sYXRpbGUga2FsX3VpbnQxNiAqKShhZGRyKSkgPSAoa2FsX3VpbnQxNikoZGF0YSkpCisjZGVmaW5lIERSVl9SZWcoYWRkcikgICAgICAgICAgICAgICAoKih2b2xhdGlsZSBrYWxfdWludDE2ICopKGFkZHIpKQorI2RlZmluZSBEUlZfV3JpdGVSZWczMihhZGRyLGRhdGEpICAgKCgqKHZvbGF0aWxlIGthbF91aW50MzIgKikoYWRkcikpID0gKGthbF91aW50MzIpKGRhdGEpKQorI2RlZmluZSBEUlZfUmVnMzIoYWRkcikgICAgICAgICAgICAgKCoodm9sYXRpbGUga2FsX3VpbnQzMiAqKShhZGRyKSkKKyNkZWZpbmUgRFJWX1dyaXRlUmVnOChhZGRyLGRhdGEpICAgICgoKih2b2xhdGlsZSBrYWxfdWludDggKikoYWRkcikpID0gKGthbF91aW50OCkoZGF0YSkpCisjZGVmaW5lIERSVl9SZWc4KGFkZHIpICAgICAgICAgICAgICAoKih2b2xhdGlsZSBrYWxfdWludDggKikoYWRkcikpCisKKyNkZWZpbmUgRFJWX0NsZWFyQml0czMyKGFkZHIsZGF0YSkgICAgIHtcCisgICBrYWxfdWludDMyIHRlbXA7XAorICAgdGVtcCA9IERSVl9SZWczMihhZGRyKTtcCisgICB0ZW1wICY9fihkYXRhKTtcCisgICBEUlZfV3JpdGVSZWczMihhZGRyLHRlbXApO1wKK30KKworI2RlZmluZSBEUlZfU2V0Qml0czMyKGFkZHIsZGF0YSkgICAgIHtcCisgICBrYWxfdWludDMyIHRlbXA7XAorICAgdGVtcCA9IERSVl9SZWczMihhZGRyKTtcCisgICB0ZW1wIHw9IChkYXRhKTtcCisgICBEUlZfV3JpdGVSZWczMihhZGRyLHRlbXApO1wKK30KKworI2lmIGRlZmluZWQoX19EUlZfQ09NTV9SRUdfREJHX18pICYmIGRlZmluZWQoX19EUlZfUE1JQ19XUkFQX1JFR19EQkdfXykKKyNkZWZpbmUgUE1JQ19XUkFQX0RSVl9DbGVhckJpdHMxNihhZGRyLGRhdGEpICAgICAgICBEUlZfREJHX0NsZWFyQml0cyhhZGRyLGRhdGEpCisjZGVmaW5lIFBNSUNfV1JBUF9EUlZfU2V0Qml0czE2KGFkZHIpICAgICAgICAgICAgICAgRFJWX0RCR19TZXRCaXRzKGFkZHIpCisjZGVmaW5lIFBNSUNfV1JBUF9EUlZfV3JpdGVSZWcxNihhZGRyLCBkYXRhKSAgICAgICAgRFJWX0RCR19Xcml0ZVJlZyhhZGRyLCBkYXRhKQorI2RlZmluZSBQTUlDX1dSQVBfRFJWX1JlYWRSZWcxNihhZGRyKSAgICAgICAgICAgICAgIERSVl9EQkdfUmVnKGFkZHIpCisjZGVmaW5lIFBNSUNfV1JBUF9EUlZfQ2xlYXJCaXRzMzIoYWRkciwgZGF0YSkgICAgICAgRFJWX0RCR19DbGVhckJpdHMzMihhZGRyLCBkYXRhKQorI2RlZmluZSBQTUlDX1dSQVBfRFJWX1NldEJpdHMzMihhZGRyLCBkYXRhKSAgICAgICAgIERSVl9EQkdfU2V0Qml0czMyKGFkZHIsIGRhdGEpCisjZGVmaW5lIFBNSUNfV1JBUF9EUlZfU2V0RGF0YShhZGRyLCBiaXRtYXNrLCB2YWx1ZSkgICAgIERSVl9TZXREYXRhKGFkZHIsIGJpdG1hc2ssIHZhbHVlKQorI2RlZmluZSBQTUlDX1dSQVBfRFJWX1dyaXRlUmVnMzIoYWRkcixkYXRhKSAgICAgICAgIERSVl9EQkdfV3JpdGVSZWczMihhZGRyLGRhdGEpCisjZGVmaW5lIFBNSUNfV1JBUF9EUlZfUmVnMzIoYWRkcikgICAgICAgICAgICAgICAgICAgRFJWX0RCR19SZWczMihhZGRyKQorI2Vsc2UgLy8gI2lmIGRlZmluZWQoX19EUlZfQ09NTV9SRUdfREJHX18pICYmIGRlZmluZWQoX19EUlZfUlRDX1JFR19EQkdfXykKKyNkZWZpbmUgUE1JQ19XUkFQX0RSVl9DbGVhckJpdHMxNihhZGRyLCBkYXRhKSAgICAgICBEUlZfQ2xlYXJCaXRzKGFkZHIsZGF0YSkKKyNkZWZpbmUgUE1JQ19XUkFQX0RSVl9TZXRCaXRzMTYoYWRkciwgZGF0YSkgICAgICAgICBEUlZfU2V0Qml0cyhhZGRyLGRhdGEpCisjZGVmaW5lIFBNSUNfV1JBUF9EUlZfV3JpdGVSZWcxNihhZGRyLCBkYXRhKSAgICAgICAgRFJWX1dyaXRlUmVnKGFkZHIsIGRhdGEpCisjZGVmaW5lIFBNSUNfV1JBUF9EUlZfUmVhZFJlZzE2KGFkZHIpICAgICAgICAgICAgICAgRFJWX1JlZyhhZGRyKQorI2RlZmluZSBQTUlDX1dSQVBfRFJWX0NsZWFyQml0czMyKGFkZHIsIGRhdGEpICAgICAgIERSVl9DbGVhckJpdHMzMihhZGRyLCBkYXRhKQorI2RlZmluZSBQTUlDX1dSQVBfRFJWX1NldEJpdHMzMihhZGRyLCBkYXRhKSAgICAgICAgIERSVl9TZXRCaXRzMzIoYWRkciwgZGF0YSkKKyNkZWZpbmUgUE1JQ19XUkFQX0RSVl9TZXREYXRhKGFkZHIsIGJpdG1hc2ssIHZhbHVlKSAgICAgRFJWX1NldERhdGEoYWRkciwgYml0bWFzaywgdmFsdWUpCisjZGVmaW5lIFBNSUNfV1JBUF9EUlZfV3JpdGVSZWczMihhZGRyLGRhdGEpICAgICAgICAgRFJWX1dyaXRlUmVnMzIoYWRkcixkYXRhKQorI2RlZmluZSBQTUlDX1dSQVBfRFJWX1JlZzMyKGFkZHIpICAgICAgICAgICAgICAgICAgIERSVl9SZWczMihhZGRyKQorI2VuZGlmIC8vICNpZiBkZWZpbmVkKF9fRFJWX0NPTU1fUkVHX0RCR19fKSAmJiBkZWZpbmVkKF9fRFJWX1JUQ19SRUdfREJHX18pCisKK2thbF91aW50MzIgRHJ2UFdSQVBfSW5pdCh2b2lkKTsKK2thbF91aW50MzIgRHJ2UFdSQVBfV0FDUzJfTm9DaGsoa2FsX3VpbnQzMiB3cml0ZSwga2FsX3VpbnQzMiBhZHIsIGthbF91aW50MzIgd2RhdGEsIGthbF91aW50MzIgKnJkYXRhKTsKKy8va2FsX3VpbnQzMiBEcnZQV1JBUF9XQUNTMChrYWxfdWludDMyIHdyaXRlLCBrYWxfdWludDMyIGFkciwga2FsX3VpbnQzMiB3ZGF0YSwga2FsX3VpbnQzMiAqcmRhdGEpOwora2FsX3VpbnQzMiBEcnZQV1JBUF9XQUNTMChrYWxfdWludDMyIHdyaXRlLCBrYWxfdWludDMyIGFkciwga2FsX3VpbnQzMiB3ZGF0YSwga2FsX3VpbnQxNiAqcmRhdGEpOworLy9rYWxfdWludDMyIERydlBXUkFQX1dBQ1MxKGthbF91aW50MzIgd3JpdGUsIGthbF91aW50MzIgYWRyLCBrYWxfdWludDMyIHdkYXRhLCBrYWxfdWludDMyICpyZGF0YSk7CitrYWxfdWludDMyIERydlBXUkFQX1dBQ1MxKGthbF91aW50MzIgd3JpdGUsIGthbF91aW50MzIgYWRyLCBrYWxfdWludDMyIHdkYXRhLCBrYWxfdWludDE2ICpyZGF0YSk7CitrYWxfdWludDMyIERydlBXUkFQX1dBQ1MyKGthbF91aW50MzIgd3JpdGUsIGthbF91aW50MzIgYWRyLCBrYWxfdWludDMyIHdkYXRhLCBrYWxfdWludDMyICpyZGF0YSk7CitrYWxfdWludDMyIERydlBXUkFQX01hbihrYWxfdWludDMyIHdyaXRlLCBrYWxfdWludDMyIG9wLCBrYWxfdWludDMyIHdkYXRhLCBrYWxfdWludDMyICpyZGF0YSApOwora2FsX3VpbnQzMiBEcnZQV1JBUF9NYW5BY2Nlc3Moa2FsX3VpbnQzMiB3cml0ZSwga2FsX3VpbnQzMiBhZHIsIGthbF91aW50MzIgd2RhdGEsIGthbF91aW50MzIgKnJkYXRhKTsKK2thbF91aW50MzIgRHJ2UFdSQVBfSW5pdERpbyhrYWxfYm9vbCBkaW9fZW4pOwora2FsX3VpbnQzMiBEcnZQV1JBUF9Td2l0Y2hEaW8oa2FsX2Jvb2wgZGlvX2VuKTsKK2thbF91aW50MzIgRHJ2UFdSQVBfSW5pdENJUEhFUih2b2lkKTsKK2thbF91aW50MzIgRHJ2UFdSQVBfRW5hYmxlQ0lQSEVSKHZvaWQpOwora2FsX3VpbnQzMiBEcnZQV1JBUF9EaXNhYmxlQ0lQSEVSKHZvaWQpOwordm9pZCBEcnZQV1JBUF9SZXNldFNQSVNMVih2b2lkKTsKK3ZvaWQgRHJ2UFdSQVBfU3dpdGNoTXV4KGthbF91aW50OCBtdXhfc2VsX25ldyk7CitrYWxfdWludDMyIERydlBXUkFQX0luaXRTaVN0cm9iZSh2b2lkKTsKK2thbF91aW50MzIgRHJ2UFdSQVBfU3RhVXBkVHJpZyhrYWxfdWludDMyIG1vZGUpOwordm9pZCBEcnZQV1JBUF9BbGlnbkNSQyh2b2lkKTsKK2thbF91aW50MzIgRHJ2UFdSQVBfSW5pdFJlZ0NsayhrYWxfdWludDMyIHJlZ2NrX3NlbCk7CisKK3R5cGVkZWYga2FsX3VpbnQzMiAoKmxvb3BfY29uZGl0aW9uX2ZwKShrYWxfdWludDMyKTsgLy8gRGVmaW5lIGEgZnVuY3Rpb24gcG9pbnRlcgorCisjZW5kaWYgLy8gX19NVDY1NzFfUE1JQ19XUkFQX1NXX0hfXwpkaWZmIC0tZ2l0IGEvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9tdDY1NzJfcG1pY193cmFwX2h3LmggYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL210NjU3Ml9wbWljX3dyYXBfaHcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYzBkNzI1Ci0tLSAvZGV2L251bGwKKysrIGIvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9tdDY1NzJfcG1pY193cmFwX2h3LmgKQEAgLTAsMCArMSwzMjcgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxMgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLiAKKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGaWxlbmFtZToKKyAqIC0tLS0tLS0tLQorICogIG10NjU4Ml9wbWljX3dyYXBfaHcuaAorICoKKyAqIFByb2plY3Q6CisgKiAtLS0tLS0tLQorICogIE1hdWlfU29mdHdhcmUKKyAqCisgKiBEZXNjcmlwdGlvbjoKKyAqIC0tLS0tLS0tLS0tLQorICoJVGhpcyBpcyBtdDY1NzIgcG1pYyB3cmFwcGVyIGgvdyByZWdpc3RlcgorICoKKyAqIEF1dGhvcjoKKyAqIC0tLS0tLS0KKyAqIC0tLS0tLS0KKyAqCisgKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqICAgICAgICAgICAgIEhJU1RPUlkKKyAqIEJlbG93IHRoaXMgbGluZSwgdGhpcyBwYXJ0IGlzIGNvbnRyb2xsZWQgYnkgUFZDUyBWTS4gRE8gTk9UIE1PRElGWSEhCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogVXBwZXIgdGhpcyBsaW5lLCB0aGlzIHBhcnQgaXMgY29udHJvbGxlZCBieSBQVkNTIFZNLiBETyBOT1QgTU9ESUZZISEKKyAqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisgCisjaWZuZGVmIF9fTVQ2NTcyX1BNSUNfV1JBUF9IV19IX18KKyNkZWZpbmUgX19NVDY1NzJfUE1JQ19XUkFQX0hXX0hfXworCisjaWYgIWRlZmluZWQoRlBHQV9DVFApCisjaW5jbHVkZSAicmVnX2Jhc2UuaCIKKworI2RlZmluZSBQTUlDX1dSQVBfQkFTRSAgICAgICAgICAgICAgICAgIChBUF9QTUlDX1dSQVBfQkFTRSkKKyNkZWZpbmUgVE9QX0NMT0NLX0NUUkxfQkFTRSAgICAgCQkoQVBfVE9QX0NMT0NLX0NUUkxfQkFTRSkKKyNkZWZpbmUgVE9QUkdVX0JBU0UgICAgICAgICAgICAgCQkoQVBfVE9QUkdVX0JBU0UpCisKKyNlbHNlCisjZGVmaW5lIFBNSUNfV1JBUF9CQVNFCQkJCQkoMHgxMDAwRjAwMCkKKyNkZWZpbmUgVE9QX0NMT0NLX0NUUkxfQkFTRSAgICAgCQkoMHgxMDAwMDAwMCkKKyNkZWZpbmUgVE9QUkdVX0JBU0UgICAgICAgICAgICAgCQkoMHgxMDAwNzAwMCkKKworI2VuZGlmCisKKyNkZWZpbmUgQ0xLX1NFTF8wICAgICAgICAgICAgICAgCQkoVE9QX0NMT0NLX0NUUkxfQkFTRSArIDB4MDAwKQorI2RlZmluZSBDTEtfU1dDR18xICAgICAgICAgICAgICAJCShUT1BfQ0xPQ0tfQ1RSTF9CQVNFICsgMHgwMjQpCisjZGVmaW5lIENMS19TRVRDR18xICAgICAgICAgICAgIAkJKFRPUF9DTE9DS19DVFJMX0JBU0UgKyAweDA1NCkKKyNkZWZpbmUgQ0xLX1NFVENHXzMgICAgICAgICAgICAgCQkoVE9QX0NMT0NLX0NUUkxfQkFTRSArIDB4MDVDKQorI2RlZmluZSBDTEtfQ0xSQ0dfMSAgICAgICAgICAgICAJCShUT1BfQ0xPQ0tfQ1RSTF9CQVNFICsgMHgwODQpCisjZGVmaW5lIFdEVF9TV1NZU1JTVCAgICAgICAgICAgIAkJKFRPUFJHVV9CQVNFICsgMHgwMTgpCisKKyNkZWZpbmUgSU5GUkFfR0xPQkFMQ09OX1JTVDAgICAgICAgICAgICAoQVBfSU5GUkFDRkdfQU9fYmFzZSArIDB4MDMwKQorCisjZGVmaW5lIFBNSUNfV1JBUF9NVVhfU0VMICAgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4MCkKKyNkZWZpbmUgUE1JQ19XUkFQX1dSQVBfRU4gICAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg0KQorI2RlZmluZSBQTUlDX1dSQVBfRElPX0VOICAgICAgICAgICAgICAgIChQTUlDX1dSQVBfQkFTRSsweDgpCisjZGVmaW5lIFBNSUNfV1JBUF9TSURMWSAgICAgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4QykKKyNkZWZpbmUgUE1JQ19XUkFQX09QX1RZUEUgICAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgxMCkKKyNkZWZpbmUgUE1JQ19XUkFQX01TQl9GSVJTVCAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgxNCkKKyNkZWZpbmUgUE1JQ19XUkFQX1JERE1ZICAgICAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgxOCkKKyNkZWZpbmUgUE1JQ19XUkFQX1NJX0NLX0NPTiAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgxQykKKyNkZWZpbmUgUE1JQ19XUkFQX0NTSEVYVF9XUklURSAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgyMCkKKyNkZWZpbmUgUE1JQ19XUkFQX0NTSEVYVF9SRUFEICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgyNCkKKyNkZWZpbmUgUE1JQ19XUkFQX0NTTEVYVF9TVEFSVCAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgyOCkKKyNkZWZpbmUgUE1JQ19XUkFQX0NTTEVYVF9FTkQgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgyQykKKyNkZWZpbmUgUE1JQ19XUkFQX1NUQVVQRF9QUkQgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgzMCkKKyNkZWZpbmUgUE1JQ19XUkFQX1NUQVVQRF9HUlBFTiAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgzNCkKKyNkZWZpbmUgUE1JQ19XUkFQX1NUQVVQRF9NQU5fVFJJRyAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgzOCkKKyNkZWZpbmUgUE1JQ19XUkFQX1NUQVVQRF9TVEEgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgzQykKKyNkZWZpbmUgUE1JQ19XUkFQX0dQU19TVEEgICAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg0MCkKKyNkZWZpbmUgUE1JQ19XUkFQX1dSQVBfU1RBICAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg0NCkKKyNkZWZpbmUgUE1JQ19XUkFQX0hBUkJfSU5JVCAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg0OCkKKyNkZWZpbmUgUE1JQ19XUkFQX0hBUkJfSFBSSU8gICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg0QykKKyNkZWZpbmUgUE1JQ19XUkFQX0hJUFJJT19BUkJfRU4gICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg1MCkKKyNkZWZpbmUgUE1JQ19XUkFQX0hBUkJfU1RBMCAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg1NCkKKyNkZWZpbmUgUE1JQ19XUkFQX0hBUkJfU1RBMSAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg1OCkKKyNkZWZpbmUgUE1JQ19XUkFQX01BTl9FTiAgICAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg1QykKKyNkZWZpbmUgUE1JQ19XUkFQX01BTl9DTUQgICAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg2MCkKKyNkZWZpbmUgUE1JQ19XUkFQX01BTl9SREFUQSAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg2NCkKKyNkZWZpbmUgUE1JQ19XUkFQX01BTl9WTERDTFIgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg2OCkKKyNkZWZpbmUgUE1JQ19XUkFQX1dBQ1MwX0VOICAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg2QykKKyNkZWZpbmUgUE1JQ19XUkFQX0lOSVRfRE9ORTAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg3MCkKKyNkZWZpbmUgUE1JQ19XUkFQX1dBQ1MwX0NNRCAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg3NCkKKyNkZWZpbmUgUE1JQ19XUkFQX1dBQ1MwX1JEQVRBICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg3OCkKKyNkZWZpbmUgUE1JQ19XUkFQX1dBQ1MwX1ZMRENMUiAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg3QykKKyNkZWZpbmUgUE1JQ19XUkFQX1dBQ1MxX0VOICAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg4MCkKKyNkZWZpbmUgUE1JQ19XUkFQX0lOSVRfRE9ORTEgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg4NCkKKyNkZWZpbmUgUE1JQ19XUkFQX1dBQ1MxX0NNRCAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg4OCkKKyNkZWZpbmUgUE1JQ19XUkFQX1dBQ1MxX1JEQVRBICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg4QykKKyNkZWZpbmUgUE1JQ19XUkFQX1dBQ1MxX1ZMRENMUiAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg5MCkKKyNkZWZpbmUgUE1JQ19XUkFQX1dBQ1MyX0VOICAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg5NCkKKyNkZWZpbmUgUE1JQ19XUkFQX0lOSVRfRE9ORTIgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg5OCkKKyNkZWZpbmUgUE1JQ19XUkFQX1dBQ1MyX0NNRCAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg5QykKKyNkZWZpbmUgUE1JQ19XUkFQX1dBQ1MyX1JEQVRBICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhBMCkKKyNkZWZpbmUgUE1JQ19XUkFQX1dBQ1MyX1ZMRENMUiAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhBNCkKKyNkZWZpbmUgUE1JQ19XUkFQX0lOVF9FTiAgICAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhBOCkKKyNkZWZpbmUgUE1JQ19XUkFQX0lOVF9GTEdfUkFXICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhBQykKKyNkZWZpbmUgUE1JQ19XUkFQX0lOVF9GTEcgICAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhCMCkKKyNkZWZpbmUgUE1JQ19XUkFQX0lOVF9DTFIgICAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhCNCkKKyNkZWZpbmUgUE1JQ19XUkFQX1NJR19BRFIgICAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhCOCkKKyNkZWZpbmUgUE1JQ19XUkFQX1NJR19NT0RFICAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhCQykKKyNkZWZpbmUgUE1JQ19XUkFQX1NJR19WQUxVRSAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhDMCkKKyNkZWZpbmUgUE1JQ19XUkFQX1NJR19FUlJWQUwgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhDNCkKKyNkZWZpbmUgUE1JQ19XUkFQX0NSQ19FTiAgICAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhDOCkKKyNkZWZpbmUgUE1JQ19XUkFQX1RJTUVSX0VOICAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhDQykKKyNkZWZpbmUgUE1JQ19XUkFQX1RJTUVSX1NUQSAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhEMCkKKyNkZWZpbmUgUE1JQ19XUkFQX1dEVF9VTklUICAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhENCkKKyNkZWZpbmUgUE1JQ19XUkFQX1dEVF9TUkNfRU4gICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhEOCkKKyNkZWZpbmUgUE1JQ19XUkFQX1dEVF9GTEcgICAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhEQykKKyNkZWZpbmUgUE1JQ19XUkFQX0RFQlVHX0lOVF9TRUwgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhFMCkKKyNkZWZpbmUgUE1JQ19XUkFQX0RWRlNfQURSMCAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhFNCkKKyNkZWZpbmUgUE1JQ19XUkFQX0RWRlNfV0RBVEEwICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhFOCkKKyNkZWZpbmUgUE1JQ19XUkFQX0RWRlNfQURSMSAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhFQykKKyNkZWZpbmUgUE1JQ19XUkFQX0RWRlNfV0RBVEExICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhGMCkKKyNkZWZpbmUgUE1JQ19XUkFQX0RWRlNfQURSMiAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhGNCkKKyNkZWZpbmUgUE1JQ19XUkFQX0RWRlNfV0RBVEEyICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhGOCkKKyNkZWZpbmUgUE1JQ19XUkFQX0RWRlNfQURSMyAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhGQykKKyNkZWZpbmUgUE1JQ19XUkFQX0RWRlNfV0RBVEEzICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgxMDApCisjZGVmaW5lIFBNSUNfV1JBUF9EVkZTX0FEUjQgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4MTA0KQorI2RlZmluZSBQTUlDX1dSQVBfRFZGU19XREFUQTQgICAgICAgICAgIChQTUlDX1dSQVBfQkFTRSsweDEwOCkKKyNkZWZpbmUgUE1JQ19XUkFQX0RWRlNfQURSNSAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgxMEMpCisjZGVmaW5lIFBNSUNfV1JBUF9EVkZTX1dEQVRBNSAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4MTEwKQorI2RlZmluZSBQTUlDX1dSQVBfRFZGU19BRFI2ICAgICAgICAgICAgIChQTUlDX1dSQVBfQkFTRSsweDExNCkKKyNkZWZpbmUgUE1JQ19XUkFQX0RWRlNfV0RBVEE2ICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgxMTgpCisjZGVmaW5lIFBNSUNfV1JBUF9EVkZTX0FEUjcgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4MTFDKQorI2RlZmluZSBQTUlDX1dSQVBfRFZGU19XREFUQTcgICAgICAgICAgIChQTUlDX1dSQVBfQkFTRSsweDEyMCkKKyNkZWZpbmUgUE1JQ19XUkFQX0NJUEhFUl9LRVlfU0VMICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgxMjQpCisjZGVmaW5lIFBNSUNfV1JBUF9DSVBIRVJfSVZfU0VMICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4MTI4KQorI2RlZmluZSBQTUlDX1dSQVBfQ0lQSEVSX0VOICAgICAgICAgICAgIChQTUlDX1dSQVBfQkFTRSsweDEyQykKKyNkZWZpbmUgUE1JQ19XUkFQX0NJUEhFUl9SRFkgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgxMzApCisjZGVmaW5lIFBNSUNfV1JBUF9DSVBIRVJfTU9ERSAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4MTM0KQorI2RlZmluZSBQTUlDX1dSQVBfQ0lQSEVSX1NXUlNUICAgICAgICAgIChQTUlDX1dSQVBfQkFTRSsweDEzOCkKKyNkZWZpbmUgUE1JQ19XUkFQX0RDTV9FTiAgICAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgxM0MpCisjZGVmaW5lIFBNSUNfV1JBUF9EQ01fREJDX1BSRCAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4MTQwKQorI2RlZmluZSBQTUlDX1dSQVBfQURDX0NNRF9BRERSICAgICAgICAgIChQTUlDX1dSQVBfQkFTRSsweDE0NCkKKyNkZWZpbmUgUE1JQ19XUkFQX1BXUkFQX0FEQ19DTUQgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgxNDgpCisjZGVmaW5lIFBNSUNfV1JBUF9BRENfUkRZX0FERFIgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4MTRDKQorI2RlZmluZSBQTUlDX1dSQVBfQURDX1JEQVRBX0FERFIxICAgICAgIChQTUlDX1dSQVBfQkFTRSsweDE1MCkKKyNkZWZpbmUgUE1JQ19XUkFQX0FEQ19SREFUQV9BRERSMiAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgxNTQpCisjZGVmaW5lIFBNSUNfV1JBUF9TV1JTVCAgICAgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4MTgwKQorI2RlZmluZSBQTUlDX1dSQVBfREVCVUdfU0VMICAgICAgICAgICAgIChQTUlDX1dSQVBfQkFTRSsweDE5MCkKKworLy8gQml0IENvbnRyb2wKKyNkZWZpbmUgR0VUX1NUQVVQRF9ETEVfQ05UKHgpICAgICAgICAoKHg+PjApICAmIDB4MDAwMDAwMDcpCisjZGVmaW5lIEdFVF9TVEFVUERfQUxFX0NOVCh4KSAgICAgICAgKCh4Pj4zKSAgJiAweDAwMDAwMDA3KQorI2RlZmluZSBHRVRfU1RBVVBEX0ZTTSh4KSAgICAgICAgICAgICgoeD4+NikgICYgMHgwMDAwMDAwNykKKyNkZWZpbmUgR0VUX1BXUkFQX0dQU19BQ0soeCkgICAgICAgICAoKHg+PjApICAmIDB4MDAwMDAwMDEpCisjZGVmaW5lIEdFVF9HUFNfUFdSQVBfUkVRKHgpICAgICAgICAgKCh4Pj4xKSAgJiAweDAwMDAwMDAxKQorI2RlZmluZSBHRVRfR1BTSU5GX0RMRV9DTlQoeCkgICAgICAgICgoeD4+NCkgICYgMHgwMDAwMDAwMykKKyNkZWZpbmUgR0VUX0dQU0lORl9BTEVfQ05UKHgpICAgICAgICAoKHg+PjYpICAmIDB4MDAwMDAwMDMpCisjZGVmaW5lIEdFVF9HUFNfSU5GX0ZTTSh4KSAgICAgICAgICAgKCh4Pj44KSAgJiAweDAwMDAwMDA3KQorI2RlZmluZSBHRVRfUFdSQVBfR1BTX1dEQVRBKHgpICAgICAgICgoeD4+MTUpICYgMHgwMDAxZmZmZikKKyNkZWZpbmUgR0VUX1dSQVBfQ0hfRExFX1JFU1RDTlQoeCkgICAoKHg+PjApICAmIDB4MDAwMDAwMDcpCisjZGVmaW5lIEdFVF9XUkFQX0NIX0FMRV9SRVNUQ05UKHgpICAgKCh4Pj4zKSAgJiAweDAwMDAwMDAzKQorI2RlZmluZSBHRVRfV1JBUF9BR19ETEVfUkVTVENOVCh4KSAgICgoeD4+NSkgICYgMHgwMDAwMDAwMykKKyNkZWZpbmUgR0VUX1dSQVBfQ0hfVyh4KSAgICAgICAgICAgICAoKHg+PjcpICAmIDB4MDAwMDAwMDEpCisjZGVmaW5lIEdFVF9XUkFQX0NIX1JFUSh4KSAgICAgICAgICAgKCh4Pj44KSAgJiAweDAwMDAwMDAxKQorI2RlZmluZSBHRVRfQUdfV1JBUF9XKHgpICAgICAgICAgICAgICgoeD4+OSkgICYgMHgwMDAwMDAwMSkKKyNkZWZpbmUgR0VUX0FHX1dSQVBfUkVRKHgpICAgICAgICAgICAoKHg+PjEwKSAmIDB4MDAwMDAwMDEpCisjZGVmaW5lIEdFVF9XUkFQX0ZTTSh4KSAgICAgICAgICAgICAgKCh4Pj4xMSkgJiAweDAwMDAwMDBmKQorI2RlZmluZSBHRVRfSEFSQl9XUkFQX1dEQVRBKHgpICAgICAgICgoeD4+MCkgICYgMHgwMDAwZmZmZikKKyNkZWZpbmUgR0VUX0hBUkJfV1JBUF9BRFIoeCkgICAgICAgICAoKHg+PjE2KSAmIDB4MDAwMDdmZmYpCisjZGVmaW5lIEdFVF9IQVJCX1dSQVBfUkVRKHgpICAgICAgICAgKCh4Pj4zMSkgJiAweDAwMDAwMDAxKQorI2RlZmluZSBHRVRfSEFSQl9ETEVfRU1QVFkoeCkgICAgICAgICgoeD4+MCkgICYgMHgwMDAwMDAwMSkKKyNkZWZpbmUgR0VUX0hBUkJfRExFX0ZVTEwoeCkgICAgICAgICAoKHg+PjEpICAmIDB4MDAwMDAwMDEpCisjZGVmaW5lIEdFVF9IQVJCX1ZMRCh4KSAgICAgICAgICAgICAgKCh4Pj4yKSAgJiAweDAwMDAwMDAxKQorI2RlZmluZSBHRVRfSEFSQl9ETEVfT1dOKHgpICAgICAgICAgICgoeD4+MykgICYgMHgwMDAwMDAwZikKKyNkZWZpbmUgR0VUX0hBUkJfT1dOKHgpICAgICAgICAgICAgICAoKHg+PjcpICAmIDB4MDAwMDAwMGYpCisjZGVmaW5lIEdFVF9IQVJCX0RMRV9SRVNUQ05UKHgpICAgICAgKCh4Pj4xMSkgJiAweDAwMDAwMDBmKQorI2RlZmluZSBHRVRfQUdfSEFSQl9SRVEoeCkgICAgICAgICAgICgoeD4+MTUpICYgMHgwMDAwMDA3ZikKKyNkZWZpbmUgR0VUX0hBUkJfV1JBUF9XKHgpICAgICAgICAgICAoKHg+PjIyKSAmIDB4MDAwMDAwMDEpCisjZGVmaW5lIEdFVF9IQVJCX1dSQVBfUkVRMCh4KSAgICAgICAgKCh4Pj4yMykgJiAweDAwMDAwMDAxKQorI2RlZmluZSBHRVRfU1BJX1dEQVRBKHgpICAgICAgICAgICAgICgoeD4+MCkgICYgMHgwMDAwMDBmZikKKyNkZWZpbmUgR0VUX1NQSV9PUCh4KSAgICAgICAgICAgICAgICAoKHg+PjgpICAmIDB4MDAwMDAwMWYpCisjZGVmaW5lIEdFVF9TUElfVyh4KSAgICAgICAgICAgICAgICAgKCh4Pj4xMykgJiAweDAwMDAwMDAxKQorI2RlZmluZSBHRVRfTUFOX1JEQVRBKHgpICAgICAgICAgICAgICgoeD4+MCkgICYgMHgwMDAwMDBmZikKKyNkZWZpbmUgR0VUX01BTl9GU00oeCkgICAgICAgICAgICAgICAoKHg+PjgpICAmIDB4MDAwMDAwMDcpCisjZGVmaW5lIEdFVF9NQU5fUkVRKHgpICAgICAgICAgICAgICAgKCh4Pj4xMSkgJiAweDAwMDAwMDAxKQorI2RlZmluZSBHRVRfV0FDUzBfV0RBVEEoeCkgICAgICAgICAgICgoeD4+MCkgICYgMHgwMDAwZmZmZikKKyNkZWZpbmUgR0VUX1dBQ1MwX0FEUih4KSAgICAgICAgICAgICAoKHg+PjE2KSAmIDB4MDAwMDdmZmYpCisjZGVmaW5lIEdFVF9XQUNTMF9XUklURSh4KSAgICAgICAgICAgKCh4Pj4zMSkgJiAweDAwMDAwMDAxKQorI2RlZmluZSBHRVRfV0FDUzBfUkRBVEEoeCkgICAgICAgICAgICgoeD4+MCkgICYgMHgwMDAwZmZmZikKKyNkZWZpbmUgR0VUX1dBQ1MwX0ZTTSh4KSAgICAgICAgICAgICAoKHg+PjE2KSAmIDB4MDAwMDAwMDcpCisjZGVmaW5lIEdFVF9XQUNTMF9SRVEoeCkgICAgICAgICAgICAgKCh4Pj4xOSkgJiAweDAwMDAwMDAxKQorI2RlZmluZSBHRVRfU1lOQ19JRExFMCh4KSAgICAgICAgICAgICgoeD4+MjApICYgMHgwMDAwMDAwMSkKKyNkZWZpbmUgR0VUX0lOSVRfRE9ORTAoeCkgICAgICAgICAgICAoKHg+PjIxKSAmIDB4MDAwMDAwMDEpCisjZGVmaW5lIEdFVF9XQUNTMV9XREFUQSh4KSAgICAgICAgICAgKCh4Pj4wKSAgJiAweDAwMDBmZmZmKQorI2RlZmluZSBHRVRfV0FDUzFfQURSKHgpICAgICAgICAgICAgICgoeD4+MTYpICYgMHgwMDAwN2ZmZikKKyNkZWZpbmUgR0VUX1dBQ1MxX1dSSVRFKHgpICAgICAgICAgICAoKHg+PjMxKSAmIDB4MDAwMDAwMDEpCisjZGVmaW5lIEdFVF9XQUNTMV9SREFUQSh4KSAgICAgICAgICAgKCh4Pj4wKSAgJiAweDAwMDBmZmZmKQorI2RlZmluZSBHRVRfV0FDUzFfRlNNKHgpICAgICAgICAgICAgICgoeD4+MTYpICYgMHgwMDAwMDAwNykKKyNkZWZpbmUgR0VUX1dBQ1MxX1JFUSh4KSAgICAgICAgICAgICAoKHg+PjE5KSAmIDB4MDAwMDAwMDEpCisjZGVmaW5lIEdFVF9TWU5DX0lETEUxKHgpICAgICAgICAgICAgKCh4Pj4yMCkgJiAweDAwMDAwMDAxKQorI2RlZmluZSBHRVRfSU5JVF9ET05FMSh4KSAgICAgICAgICAgICgoeD4+MjEpICYgMHgwMDAwMDAwMSkKKyNkZWZpbmUgR0VUX1dBQ1MyX1dEQVRBKHgpICAgICAgICAgICAoKHg+PjApICAmIDB4MDAwMGZmZmYpCisjZGVmaW5lIEdFVF9XQUNTMl9BRFIoeCkgICAgICAgICAgICAgKCh4Pj4xNikgJiAweDAwMDA3ZmZmKQorI2RlZmluZSBHRVRfV0FDUzJfV1JJVEUoeCkgICAgICAgICAgICgoeD4+MzEpICYgMHgwMDAwMDAwMSkKKyNkZWZpbmUgR0VUX1dBQ1MyX1JEQVRBKHgpICAgICAgICAgICAoKHg+PjApICAmIDB4MDAwMGZmZmYpCisjZGVmaW5lIEdFVF9XQUNTMl9GU00oeCkgICAgICAgICAgICAgKCh4Pj4xNikgJiAweDAwMDAwMDA3KQorI2RlZmluZSBHRVRfV0FDUzJfUkVRKHgpICAgICAgICAgICAgICgoeD4+MTkpICYgMHgwMDAwMDAwMSkKKyNkZWZpbmUgR0VUX1NZTkNfSURMRTIoeCkgICAgICAgICAgICAoKHg+PjIwKSAmIDB4MDAwMDAwMDEpCisjZGVmaW5lIEdFVF9JTklUX0RPTkUyKHgpICAgICAgICAgICAgKCh4Pj4yMSkgJiAweDAwMDAwMDAxKSAgIAorCisjZGVmaW5lIEdFVF9XQUNTX1JEQVRBKHgpICAgICAgICAgICAgKCh4Pj4wKSAgJiAweDAwMDBmZmZmKSAgICAgIAorI2RlZmluZSBHRVRfV0FDU19GU00oeCkgICAgICAgICAgICAgICgoeD4+MTYpICYgMHgwMDAwMDAwNykgICAgICAKKyNkZWZpbmUgR0VUX1dBQ1NfUkVRKHgpICAgICAgICAgICAgICAoKHg+PjE5KSAmIDB4MDAwMDAwMDEpICAgICAgCisjZGVmaW5lIEdFVF9TWU5DX0lETEUoeCkgICAgICAgICAgICAgKCh4Pj4yMCkgJiAweDAwMDAwMDAxKSAgICAgIAorI2RlZmluZSBHRVRfSU5JVF9ET05FKHgpICAgICAgICAgICAgICgoeD4+MjEpICYgMHgwMDAwMDAwMSkgICAgIAorCisjZGVmaW5lIFNQSV9BVVRPX01PREUgICAgICAgICAgIDAKKyNkZWZpbmUgU1BJX01BTlVBTF9NT0RFICAgICAgICAgMQorI2RlZmluZSBIQVJCX0hQUklPX0FMTCAgICAgICAgICAweDFGRgorI2RlZmluZSBIQVJCX0hQUklPX1JSQVBCICAgICAgICAoMSA8PCA4KQorI2RlZmluZSBIQVJCX0hQUklPX1BFUklfUFdSQVAgICAoMSA8PCA3KQorI2RlZmluZSBIQVJCX0hQUklPX1NUQVVQRCAgICAgICAoMSA8PCA2KQorI2RlZmluZSBIQVJCX0hQUklPX0VSQyAgICAgICAgICAoMSA8PCA1KQorI2RlZmluZSBIQVJCX0hQUklPX0RWRlNJTkYgICAgICAoMSA8PCA0KQorI2RlZmluZSBIQVJCX0hQUklPX1dBQ1MyICAgICAgICAoMSA8PCAzKQorI2RlZmluZSBIQVJCX0hQUklPX1dBQ1MxICAgICAgICAoMSA8PCAyKQorI2RlZmluZSBIQVJCX0hQUklPX1dBQ1MwICAgICAgICAoMSA8PCAxKQorI2RlZmluZSBIQVJCX0hQUklPX01ESU5GICAgICAgICAoMSA8PCAwKQorCisKKy8vIEN1cnJlbnQgV1JBUCBGU00gc3RhdGVzLgorI2RlZmluZSBXUkFQX0ZTTV9JRExFX1NUQVRFICAgICAgICAgICAgICAgICAweDAKKyNkZWZpbmUgV1JBUF9GU01fQ1NMX0FEUl9TVEFSVF9TVEFURSAgICAgICAgMHgyCisjZGVmaW5lIFdSQVBfRlNNX0FEUl9TVEFURSAgICAgICAgICAgICAgICAgIDB4NAorI2RlZmluZSBXUkFQX0ZTTV9DU0xfQURSX0VORF9TVEFURSAgICAgICAgICAweDYKKyNkZWZpbmUgV1JBUF9GU01fQ1NIX0FEUl9TVEFURSAgICAgICAgICAgICAgMHg4CisjZGVmaW5lIFdSQVBfRlNNX0NTTF9EQVRBX1NUQVJUX1NUQVRFICAgICAgIDB4QQorI2RlZmluZSBXUkFQX0ZTTV9EQVRBX1NUQVRFICAgICAgICAgICAgICAgICAweEMKKyNkZWZpbmUgV1JBUF9GU01fQ1NMX0RBVEFfRU5EX1NUQVRFICAgICAgICAgMHhFCisjZGVmaW5lIFdSQVBfRlNNX0NTSF9EQVRBX1NUQVRFICAgICAgICAgICAgIDB4RgorCisjZGVmaW5lIFdBQ1NfSU5JVF9ET05FX05PVF9GSU5JU0hFRCAgICAgICAgIDAKKyNkZWZpbmUgV0FDU19JTklUX0RPTkVfRklOSVNIRUQgICAgICAgICAgICAgMQorCisKKyNkZWZpbmUgV0FDU19TWU5DX01PRFVMRV9CVVNZICAgICAgICAgICAgICAgMAorI2RlZmluZSBXQUNTX1NZTkNfTU9EVUxFX0lETEUgICAgICAgICAgICAgICAxCisKKy8vIEN1cnJlbnQgV0FDUyBGU00gc3RhdGVzLgorI2RlZmluZSBXQUNTX0ZTTV9JRExFX1NUQVRFICAgICAgICAgICAgICAgICAweDAKKyNkZWZpbmUgV0FDU19GU01fUkVRX1NUQVRFICAgICAgICAgICAgICAgICAgMHgyCisjZGVmaW5lIFdBQ1NfRlNNX1dGRExFX1NUQVRFICAgICAgICAgICAgICAgIDB4NAorI2RlZmluZSBXQUNTX0ZTTV9XRlZMRENMUl9TVEFURSAgICAgICAgICAgICAweDYKKworLy8gQ3VycmVudCBNQU4gRlNNIHN0YXRlcy4KKyNkZWZpbmUgTUFOX0ZTTV9JRExFX1NUQVRFICAgICAgICAgICAgICAgICAgMHgwCisjZGVmaW5lIE1BTl9GU01fUkVRX1NUQVRFICAgICAgICAgICAgICAgICAgIDB4MgorI2RlZmluZSBNQU5fRlNNX1dGRExFX1NUQVRFICAgICAgICAgICAgICAgICAweDQKKyNkZWZpbmUgTUFOX0ZTTV9XRlZMRENMUl9TVEFURSAgICAgICAgICAgICAgMHg2CisKKy8vIEN1cnJlbnQgU1RBVVBEIEZTTSBzdGF0ZXMuCisjZGVmaW5lIFNUQVVQRF9GU01fSURMRV9TVEFURSAgICAgICAgICAgICAgIDB4MAorI2RlZmluZSBTVEFVUERfRlNNX1JFUV9TVEFURSAgICAgICAgICAgICAgICAweDIKKyNkZWZpbmUgU1RBVVBEX0ZTTV9XRkRMRV9TVEFURSAgICAgICAgICAgICAgMHg0CisKKyNkZWZpbmUgREVXX1JFQURfVEVTVF9WQUxVRSAgICAgICAgICAgICAgICAgMHg1QUE1CisKKy8vLS0tLS1tYWNybyBmb3IgbWFudWFsIGNvbW1uZCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorI2RlZmluZSBPUF9XUiAgICAoMHgxKQorCisjZGVmaW5lIE9QX0NTSCAgICgweDApCisjZGVmaW5lIE9QX0NTTCAgICgweDEpCisjZGVmaW5lIE9QX09VVFMgICgweDgpCisjZGVmaW5lIE9QX09VVEQgICgweDkpCisjZGVmaW5lIE9QX0lOUyAgICgweEMpCisjZGVmaW5lIE9QX0lORCAgICgweEQpCisKKyAjZW5kaWYgLy8gX19NVDY1NzJfUE1JQ19XUkFQX0hXX0hfXyAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKZGlmZiAtLWdpdCBhL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvbXQ2NTcyX3BtaWNfd3JhcF9zdy5oIGIvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9tdDY1NzJfcG1pY193cmFwX3N3LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTk5ZWZiYQotLS0gL2Rldi9udWxsCisrKyBiL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvbXQ2NTcyX3BtaWNfd3JhcF9zdy5oCkBAIC0wLDAgKzEsMTkzIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTIKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4gCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRmlsZW5hbWU6CisgKiAtLS0tLS0tLS0KKyAqICBtdDY1NzJfcG1pY193cmFwX3N3LmgKKyAqCisgKiBQcm9qZWN0OgorICogLS0tLS0tLS0KKyAqICBNYXVpX1NvZnR3YXJlCisgKgorICogRGVzY3JpcHRpb246CisgKiAtLS0tLS0tLS0tLS0KKyAqCVRoaXMgaXMgZm9yIG10NjU3MiBwbWljIHdyYXBwZXIgZHJpdmVyIHMvdyB1c2FnZQorICoKKyAqIEF1dGhvcjoKKyAqIC0tLS0tLS0KKyAqIC0tLS0tLS0KKyAqCisgKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqICAgICAgICAgICAgIEhJU1RPUlkKKyAqIEJlbG93IHRoaXMgbGluZSwgdGhpcyBwYXJ0IGlzIGNvbnRyb2xsZWQgYnkgUFZDUyBWTS4gRE8gTk9UIE1PRElGWSEhCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIFVwcGVyIHRoaXMgbGluZSwgdGhpcyBwYXJ0IGlzIGNvbnRyb2xsZWQgYnkgUFZDUyBWTS4gRE8gTk9UIE1PRElGWSEhCisgKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmbmRlZiBfX01UNjU3Ml9QTUlDX1dSQVBfU1dfSF9fCisjZGVmaW5lIF9fTVQ2NTcyX1BNSUNfV1JBUF9TV19IX18KKworI2luY2x1ZGUgImRydl9jb21tLmgiCisjZGVmaW5lIFBNSUNfV1JBUF9SRUFEICAgICAgICAgICAgICAwCisjZGVmaW5lIFBNSUNfV1JBUF9XUklURSAgICAgICAgICAgICAxCisKKyNkZWZpbmUgUE1JQ19XUkFQX1JFR19DTE9DS19TQUZFX01PREUgICAwCisKKyNkZWZpbmUgUE1JQ19XUkFQX1JFR19DTE9DS18wNk1IWiAgICAgICAxCisjZGVmaW5lIFBNSUNfV1JBUF9SRUdfQ0xPQ0tfMTJNSFogICAgICAgMgorCisjZGVmaW5lIFBNSUNfV1JBUF9SRUdfQ0xPQ0tfMThNSFogICAgICAgMQorI2RlZmluZSBQTUlDX1dSQVBfUkVHX0NMT0NLXzM2TUhaICAgICAgIDIKKworI2RlZmluZSBERVdfV1JJVEVfVEVTVF9WQUxVRSAgICAgICAgICAgIDB4QTU1QQorCisjZGVmaW5lIFBNSUNfV1JBUF9JTlZBTElEX1JXICAgICAgICAgICAgMHgxMAorI2RlZmluZSBQTUlDX1dSQVBfSU5WQUxJRF9BRERSICAgICAgICAgIDB4MTEKKyNkZWZpbmUgUE1JQ19XUkFQX0lOVkFMSURfV0RBVEEgICAgICAgICAweDEyCisjZGVmaW5lIFBNSUNfV1JBUF9JTlZBTElEX09QICAgICAgICAgICAgMHgxMworI2RlZmluZSBQTUlDX1dSQVBfSU5WQUxJRF9BUkdVTUVOVCAgICAgIDB4MTQKKworI2RlZmluZSBQTUlDX1dSQVBfSU5JVF9TSURMWV9GQUlMCTB4MjAKKyNkZWZpbmUgUE1JQ19XUkFQX0lOSVRfUkVHX0NMS19GQUlMCTB4MjEKKyNkZWZpbmUgUE1JQ19XUkFQX0lOSVRfRFVBTF9NT0RFX0ZBSUwJMHgyMgorI2RlZmluZSBQTUlDX1dSQVBfSU5JVF9DSVBIRVJfRkFJTAkweDIzCisKKyNkZWZpbmUgUE1JQ19XUkFQX05PVF9JTklUX0RPTkUgICAgICAgICAweDMwCisjZGVmaW5lIFBNSUNfV1JBUF9OT1RfSU5JVF9ET05FX1JFQUQgICAgMHgzMQorI2RlZmluZSBQTUlDX1dSQVBfUkVBRF9URVNUX0ZBSUwgICAgICAgIDB4MzIKKyNkZWZpbmUgUE1JQ19XUkFQX1dSSVRFX1RFU1RfRkFJTCAgICAgICAweDMzCisjZGVmaW5lIFBNSUNfV1JBUF9TV0lUQ0hfRElPX0ZBSUwgICAgICAgMHgzNAorI2RlZmluZSBQTUlDX1dSQVBfUkVBRF9GQUlMICAgICAgICAgICAgIDB4MzUKKyNkZWZpbmUgUE1JQ19XUkFQX1dSSVRFX0ZBSUwgICAgICAgICAgICAweDM2CisjZGVmaW5lIFBNSUNfV1JBUF9ERVdfRVZFTlRfVEVTVF9GQUlMICAgMHgzNworI2RlZmluZSBQTUlDX1dSQVBfTUFOVUFMX01PREVfTk9UX0lETEUgIDB4MzgKKyNkZWZpbmUgUE1JQ19XUkFQX1NUQVVQRF9GU01fTk9UX0lETEUgICAweDM5CisKKworI2RlZmluZSBQTUlDX1dSQVBfVElNRV9PVVRfRkFJTCAgICAgICAgIDB4RkYKKworI2RlZmluZSBPUF9SRCAgICAgICAoMHgwKQorI2RlZmluZSBPUF9XUiAgICAgICAoMHgxKQorCisjZGVmaW5lIE9QX0NTSCAgICAgICgweDApCisjZGVmaW5lIE9QX0NTTCAgICAgICgweDEpCisjZGVmaW5lIE9QX0NLICAgICAgICgweDIpCisjZGVmaW5lIE9QX09VVFMgICAgICgweDgpCisjZGVmaW5lIE9QX09VVEQgICAgICgweDkpCisjZGVmaW5lIE9QX0lOUyAgICAgICgweEMpCisjZGVmaW5lIE9QX0lORCAgICAgICgweEQpCisKKyNkZWZpbmUgRFJWX1dyaXRlUmVnKGFkZHIsZGF0YSkgICAgICgoKih2b2xhdGlsZSBrYWxfdWludDE2ICopKGFkZHIpKSA9IChrYWxfdWludDE2KShkYXRhKSkKKyNkZWZpbmUgRFJWX1JlZyhhZGRyKSAgICAgICAgICAgICAgICgqKHZvbGF0aWxlIGthbF91aW50MTYgKikoYWRkcikpCisjZGVmaW5lIERSVl9Xcml0ZVJlZzMyKGFkZHIsZGF0YSkgICAoKCoodm9sYXRpbGUga2FsX3VpbnQzMiAqKShhZGRyKSkgPSAoa2FsX3VpbnQzMikoZGF0YSkpCisjZGVmaW5lIERSVl9SZWczMihhZGRyKSAgICAgICAgICAgICAoKih2b2xhdGlsZSBrYWxfdWludDMyICopKGFkZHIpKQorI2RlZmluZSBEUlZfV3JpdGVSZWc4KGFkZHIsZGF0YSkgICAgKCgqKHZvbGF0aWxlIGthbF91aW50OCAqKShhZGRyKSkgPSAoa2FsX3VpbnQ4KShkYXRhKSkKKyNkZWZpbmUgRFJWX1JlZzgoYWRkcikgICAgICAgICAgICAgICgqKHZvbGF0aWxlIGthbF91aW50OCAqKShhZGRyKSkKKworI2RlZmluZSBEUlZfQ2xlYXJCaXRzMzIoYWRkcixkYXRhKSAgICAge1wKKyAgIGthbF91aW50MzIgdGVtcDtcCisgICB0ZW1wID0gRFJWX1JlZzMyKGFkZHIpO1wKKyAgIHRlbXAgJj1+KGRhdGEpO1wKKyAgIERSVl9Xcml0ZVJlZzMyKGFkZHIsdGVtcCk7XAorfQorCisjZGVmaW5lIERSVl9TZXRCaXRzMzIoYWRkcixkYXRhKSAgICAge1wKKyAgIGthbF91aW50MzIgdGVtcDtcCisgICB0ZW1wID0gRFJWX1JlZzMyKGFkZHIpO1wKKyAgIHRlbXAgfD0gKGRhdGEpO1wKKyAgIERSVl9Xcml0ZVJlZzMyKGFkZHIsdGVtcCk7XAorfQorCisjaWYgZGVmaW5lZChfX0RSVl9DT01NX1JFR19EQkdfXykgJiYgZGVmaW5lZChfX0RSVl9QTUlDX1dSQVBfUkVHX0RCR19fKQorI2RlZmluZSBQTUlDX1dSQVBfRFJWX0NsZWFyQml0czE2KGFkZHIsZGF0YSkgICAgICAgIERSVl9EQkdfQ2xlYXJCaXRzKGFkZHIsZGF0YSkKKyNkZWZpbmUgUE1JQ19XUkFQX0RSVl9TZXRCaXRzMTYoYWRkcikgICAgICAgICAgICAgICBEUlZfREJHX1NldEJpdHMoYWRkcikKKyNkZWZpbmUgUE1JQ19XUkFQX0RSVl9Xcml0ZVJlZzE2KGFkZHIsIGRhdGEpICAgICAgICBEUlZfREJHX1dyaXRlUmVnKGFkZHIsIGRhdGEpCisjZGVmaW5lIFBNSUNfV1JBUF9EUlZfUmVhZFJlZzE2KGFkZHIpICAgICAgICAgICAgICAgRFJWX0RCR19SZWcoYWRkcikKKyNkZWZpbmUgUE1JQ19XUkFQX0RSVl9DbGVhckJpdHMzMihhZGRyLCBkYXRhKSAgICAgICBEUlZfREJHX0NsZWFyQml0czMyKGFkZHIsIGRhdGEpCisjZGVmaW5lIFBNSUNfV1JBUF9EUlZfU2V0Qml0czMyKGFkZHIsIGRhdGEpICAgICAgICAgRFJWX0RCR19TZXRCaXRzMzIoYWRkciwgZGF0YSkKKyNkZWZpbmUgUE1JQ19XUkFQX0RSVl9TZXREYXRhKGFkZHIsIGJpdG1hc2ssIHZhbHVlKSAgICAgRFJWX1NldERhdGEoYWRkciwgYml0bWFzaywgdmFsdWUpCisjZGVmaW5lIFBNSUNfV1JBUF9EUlZfV3JpdGVSZWczMihhZGRyLGRhdGEpICAgICAgICAgRFJWX0RCR19Xcml0ZVJlZzMyKGFkZHIsZGF0YSkKKyNkZWZpbmUgUE1JQ19XUkFQX0RSVl9SZWczMihhZGRyKSAgICAgICAgICAgICAgICAgICBEUlZfREJHX1JlZzMyKGFkZHIpCisjZWxzZSAvLyAjaWYgZGVmaW5lZChfX0RSVl9DT01NX1JFR19EQkdfXykgJiYgZGVmaW5lZChfX0RSVl9SVENfUkVHX0RCR19fKQorI2RlZmluZSBQTUlDX1dSQVBfRFJWX0NsZWFyQml0czE2KGFkZHIsIGRhdGEpICAgICAgIERSVl9DbGVhckJpdHMoYWRkcixkYXRhKQorI2RlZmluZSBQTUlDX1dSQVBfRFJWX1NldEJpdHMxNihhZGRyLCBkYXRhKSAgICAgICAgIERSVl9TZXRCaXRzKGFkZHIsZGF0YSkKKyNkZWZpbmUgUE1JQ19XUkFQX0RSVl9Xcml0ZVJlZzE2KGFkZHIsIGRhdGEpICAgICAgICBEUlZfV3JpdGVSZWcoYWRkciwgZGF0YSkKKyNkZWZpbmUgUE1JQ19XUkFQX0RSVl9SZWFkUmVnMTYoYWRkcikgICAgICAgICAgICAgICBEUlZfUmVnKGFkZHIpCisjZGVmaW5lIFBNSUNfV1JBUF9EUlZfQ2xlYXJCaXRzMzIoYWRkciwgZGF0YSkgICAgICAgRFJWX0NsZWFyQml0czMyKGFkZHIsIGRhdGEpCisjZGVmaW5lIFBNSUNfV1JBUF9EUlZfU2V0Qml0czMyKGFkZHIsIGRhdGEpICAgICAgICAgRFJWX1NldEJpdHMzMihhZGRyLCBkYXRhKQorI2RlZmluZSBQTUlDX1dSQVBfRFJWX1NldERhdGEoYWRkciwgYml0bWFzaywgdmFsdWUpICAgICBEUlZfU2V0RGF0YShhZGRyLCBiaXRtYXNrLCB2YWx1ZSkKKyNkZWZpbmUgUE1JQ19XUkFQX0RSVl9Xcml0ZVJlZzMyKGFkZHIsZGF0YSkgICAgICAgICBEUlZfV3JpdGVSZWczMihhZGRyLGRhdGEpCisjZGVmaW5lIFBNSUNfV1JBUF9EUlZfUmVnMzIoYWRkcikgICAgICAgICAgICAgICAgICAgRFJWX1JlZzMyKGFkZHIpCisjZW5kaWYgLy8gI2lmIGRlZmluZWQoX19EUlZfQ09NTV9SRUdfREJHX18pICYmIGRlZmluZWQoX19EUlZfUlRDX1JFR19EQkdfXykKKwora2FsX3VpbnQzMiBEcnZQV1JBUF9Jbml0KHZvaWQpOwora2FsX3VpbnQzMiBEcnZQV1JBUF9XQUNTMl9Ob0NoayhrYWxfdWludDMyIHdyaXRlLCBrYWxfdWludDMyIGFkciwga2FsX3VpbnQzMiB3ZGF0YSwga2FsX3VpbnQzMiAqcmRhdGEpOworLy9rYWxfdWludDMyIERydlBXUkFQX1dBQ1MwKGthbF91aW50MzIgd3JpdGUsIGthbF91aW50MzIgYWRyLCBrYWxfdWludDMyIHdkYXRhLCBrYWxfdWludDMyICpyZGF0YSk7CitrYWxfdWludDMyIERydlBXUkFQX1dBQ1MwKGthbF91aW50MzIgd3JpdGUsIGthbF91aW50MzIgYWRyLCBrYWxfdWludDMyIHdkYXRhLCBrYWxfdWludDE2ICpyZGF0YSk7CisvL2thbF91aW50MzIgRHJ2UFdSQVBfV0FDUzEoa2FsX3VpbnQzMiB3cml0ZSwga2FsX3VpbnQzMiBhZHIsIGthbF91aW50MzIgd2RhdGEsIGthbF91aW50MzIgKnJkYXRhKTsKK2thbF91aW50MzIgRHJ2UFdSQVBfV0FDUzEoa2FsX3VpbnQzMiB3cml0ZSwga2FsX3VpbnQzMiBhZHIsIGthbF91aW50MzIgd2RhdGEsIGthbF91aW50MTYgKnJkYXRhKTsKK2thbF91aW50MzIgRHJ2UFdSQVBfV0FDUzIoa2FsX3VpbnQzMiB3cml0ZSwga2FsX3VpbnQzMiBhZHIsIGthbF91aW50MzIgd2RhdGEsIGthbF91aW50MzIgKnJkYXRhKTsKK2thbF91aW50MzIgRHJ2UFdSQVBfTWFuKGthbF91aW50MzIgd3JpdGUsIGthbF91aW50MzIgb3AsIGthbF91aW50MzIgd2RhdGEsIGthbF91aW50MzIgKnJkYXRhICk7CitrYWxfdWludDMyIERydlBXUkFQX01hbkFjY2VzcyhrYWxfdWludDMyIHdyaXRlLCBrYWxfdWludDMyIGFkciwga2FsX3VpbnQzMiB3ZGF0YSwga2FsX3VpbnQzMiAqcmRhdGEpOwora2FsX3VpbnQzMiBEcnZQV1JBUF9Jbml0RGlvKGthbF9ib29sIGRpb19lbik7CitrYWxfdWludDMyIERydlBXUkFQX1N3aXRjaERpbyhrYWxfYm9vbCBkaW9fZW4pOwora2FsX3VpbnQzMiBEcnZQV1JBUF9Jbml0Q0lQSEVSKHZvaWQpOwora2FsX3VpbnQzMiBEcnZQV1JBUF9FbmFibGVDSVBIRVIodm9pZCk7CitrYWxfdWludDMyIERydlBXUkFQX0Rpc2FibGVDSVBIRVIodm9pZCk7Cit2b2lkIERydlBXUkFQX1Jlc2V0U1BJU0xWKHZvaWQpOwordm9pZCBEcnZQV1JBUF9Td2l0Y2hNdXgoa2FsX3VpbnQ4IG11eF9zZWxfbmV3KTsKK2thbF91aW50MzIgRHJ2UFdSQVBfSW5pdFNpU3Ryb2JlKHZvaWQpOwora2FsX3VpbnQzMiBEcnZQV1JBUF9TdGFVcGRUcmlnKGthbF91aW50MzIgbW9kZSk7Cit2b2lkIERydlBXUkFQX0FsaWduQ1JDKHZvaWQpOwora2FsX3VpbnQzMiBEcnZQV1JBUF9Jbml0UmVnQ2xrKGthbF91aW50MzIgcmVnY2tfc2VsKTsKKwordHlwZWRlZiBrYWxfdWludDMyICgqbG9vcF9jb25kaXRpb25fZnApKGthbF91aW50MzIpOyAvLyBEZWZpbmUgYSBmdW5jdGlvbiBwb2ludGVyCisKKyNlbmRpZiAvLyBfX01UNjU3Ml9QTUlDX1dSQVBfU1dfSF9fCmRpZmYgLS1naXQgYS9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL210NjU4Ml9wbWljX3dyYXBfaHcuaCBiL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvbXQ2NTgyX3BtaWNfd3JhcF9ody5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRmODU3MjQKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL210NjU4Ml9wbWljX3dyYXBfaHcuaApAQCAtMCwwICsxLDMxNSBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDEyCisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuIAorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZpbGVuYW1lOgorICogLS0tLS0tLS0tCisgKiAgbXQ2NTgyX3BtaWNfd3JhcF9ody5oCisgKgorICogUHJvamVjdDoKKyAqIC0tLS0tLS0tCisgKiAgTWF1aV9Tb2Z0d2FyZQorICoKKyAqIERlc2NyaXB0aW9uOgorICogLS0tLS0tLS0tLS0tCisgKglUaGlzIGlzIG10NjU4MiBwbWljIHdyYXBwZXIgaC93IHJlZ2lzdGVyCisgKgorICogQXV0aG9yOgorICogLS0tLS0tLQorICogLS0tLS0tLQorICoKKyAqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICogICAgICAgICAgICAgSElTVE9SWQorICogQmVsb3cgdGhpcyBsaW5lLCB0aGlzIHBhcnQgaXMgY29udHJvbGxlZCBieSBQVkNTIFZNLiBETyBOT1QgTU9ESUZZISEKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIFVwcGVyIHRoaXMgbGluZSwgdGhpcyBwYXJ0IGlzIGNvbnRyb2xsZWQgYnkgUFZDUyBWTS4gRE8gTk9UIE1PRElGWSEhCisgKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworIAorI2lmbmRlZiBfX01UNjU4Ml9QTUlDX1dSQVBfSFdfSF9fCisjZGVmaW5lIF9fTVQ2NTgyX1BNSUNfV1JBUF9IV19IX18KKworI2lmICFkZWZpbmVkKEZQR0FfQ1RQKQorI2luY2x1ZGUgInJlZ19iYXNlLmgiCisjZGVmaW5lIFBNSUNfV1JBUF9CQVNFICAgICAgICAgICAgICAgICAgKEFQX1BNSUNfV1JBUF9CQVNFKQorI2RlZmluZSBDS1NZU19CQVNFICAgICAgICAgICAgICAgICAgICAgIChBUF9DS1NZU19CQVNFKQorI2RlZmluZSBBUF9JTkZSQUNGR19BT19iYXNlCQkJCShBUF9JTkZSQUNGR19BT19CQVNFKQorCisjZWxzZQorI2RlZmluZSBBUF9QTUlDX1dSQVBfYmFzZSBQTUlDX1dSQVBfQkFTRQorI2RlZmluZSBBUF9JTkZSQUNGR19BT19iYXNlIElORlJBQ0ZHX0JBU0UKKyNkZWZpbmUgQ0tTWVNfQkFTRSAgICAgICAgICAgICAgICAgICAgICAoMHgxMDAwMDAwMCkKKworI2VuZGlmCisKKyNkZWZpbmUgQ0xLX0NGR180X0NMUiAgICAgICAgICAgICAgICAgICAoQ0tTWVNfQkFTRSArIDB4MDg4KQorCisjZGVmaW5lIElORlJBX0dMT0JBTENPTl9SU1QwICAgICAgICAgICAgKEFQX0lORlJBQ0ZHX0FPX2Jhc2UgKyAweDAzMCkKKworI2RlZmluZSBQTUlDX1dSQVBfTVVYX1NFTCAgICAgICAgICAgICAgIChQTUlDX1dSQVBfQkFTRSsweDApCisjZGVmaW5lIFBNSUNfV1JBUF9XUkFQX0VOICAgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4NCkKKyNkZWZpbmUgUE1JQ19XUkFQX0RJT19FTiAgICAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg4KQorI2RlZmluZSBQTUlDX1dSQVBfU0lETFkgICAgICAgICAgICAgICAgIChQTUlDX1dSQVBfQkFTRSsweEMpCisjZGVmaW5lIFBNSUNfV1JBUF9PUF9UWVBFICAgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4MTApCisjZGVmaW5lIFBNSUNfV1JBUF9NU0JfRklSU1QgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4MTQpCisjZGVmaW5lIFBNSUNfV1JBUF9SRERNWSAgICAgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4MTgpCisjZGVmaW5lIFBNSUNfV1JBUF9TSV9DS19DT04gICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4MUMpCisjZGVmaW5lIFBNSUNfV1JBUF9DU0hFWFRfV1JJVEUgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4MjApCisjZGVmaW5lIFBNSUNfV1JBUF9DU0hFWFRfUkVBRCAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4MjQpCisjZGVmaW5lIFBNSUNfV1JBUF9DU0xFWFRfU1RBUlQgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4MjgpCisjZGVmaW5lIFBNSUNfV1JBUF9DU0xFWFRfRU5EICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4MkMpCisjZGVmaW5lIFBNSUNfV1JBUF9TVEFVUERfUFJEICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4MzApCisjZGVmaW5lIFBNSUNfV1JBUF9TVEFVUERfR1JQRU4gICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4MzQpCisjZGVmaW5lIFBNSUNfV1JBUF9TVEFVUERfTUFOX1RSSUcgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4MzgpCisjZGVmaW5lIFBNSUNfV1JBUF9TVEFVUERfU1RBICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4M0MpCisjZGVmaW5lIFBNSUNfV1JBUF9HUFNfU1RBICAgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4NDApCisjZGVmaW5lIFBNSUNfV1JBUF9XUkFQX1NUQSAgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4NDQpCisjZGVmaW5lIFBNSUNfV1JBUF9IQVJCX0lOSVQgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4NDgpCisjZGVmaW5lIFBNSUNfV1JBUF9IQVJCX0hQUklPICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4NEMpCisjZGVmaW5lIFBNSUNfV1JBUF9ISVBSSU9fQVJCX0VOICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4NTApCisjZGVmaW5lIFBNSUNfV1JBUF9IQVJCX1NUQTAgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4NTQpCisjZGVmaW5lIFBNSUNfV1JBUF9IQVJCX1NUQTEgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4NTgpCisjZGVmaW5lIFBNSUNfV1JBUF9NQU5fRU4gICAgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4NUMpCisjZGVmaW5lIFBNSUNfV1JBUF9NQU5fQ01EICAgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4NjApCisjZGVmaW5lIFBNSUNfV1JBUF9NQU5fUkRBVEEgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4NjQpCisjZGVmaW5lIFBNSUNfV1JBUF9NQU5fVkxEQ0xSICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4NjgpCisjZGVmaW5lIFBNSUNfV1JBUF9XQUNTMF9FTiAgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4NkMpCisjZGVmaW5lIFBNSUNfV1JBUF9JTklUX0RPTkUwICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4NzApCisjZGVmaW5lIFBNSUNfV1JBUF9XQUNTMF9DTUQgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4NzQpCisjZGVmaW5lIFBNSUNfV1JBUF9XQUNTMF9SREFUQSAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4NzgpCisjZGVmaW5lIFBNSUNfV1JBUF9XQUNTMF9WTERDTFIgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4N0MpCisjZGVmaW5lIFBNSUNfV1JBUF9XQUNTMV9FTiAgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4ODApCisjZGVmaW5lIFBNSUNfV1JBUF9JTklUX0RPTkUxICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4ODQpCisjZGVmaW5lIFBNSUNfV1JBUF9XQUNTMV9DTUQgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4ODgpCisjZGVmaW5lIFBNSUNfV1JBUF9XQUNTMV9SREFUQSAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4OEMpCisjZGVmaW5lIFBNSUNfV1JBUF9XQUNTMV9WTERDTFIgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4OTApCisjZGVmaW5lIFBNSUNfV1JBUF9XQUNTMl9FTiAgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4OTQpCisjZGVmaW5lIFBNSUNfV1JBUF9JTklUX0RPTkUyICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4OTgpCisjZGVmaW5lIFBNSUNfV1JBUF9XQUNTMl9DTUQgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4OUMpCisjZGVmaW5lIFBNSUNfV1JBUF9XQUNTMl9SREFUQSAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4QTApCisjZGVmaW5lIFBNSUNfV1JBUF9XQUNTMl9WTERDTFIgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4QTQpCisjZGVmaW5lIFBNSUNfV1JBUF9JTlRfRU4gICAgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4QTgpCisjZGVmaW5lIFBNSUNfV1JBUF9JTlRfRkxHX1JBVyAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4QUMpCisjZGVmaW5lIFBNSUNfV1JBUF9JTlRfRkxHICAgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4QjApCisjZGVmaW5lIFBNSUNfV1JBUF9JTlRfQ0xSICAgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4QjQpCisjZGVmaW5lIFBNSUNfV1JBUF9TSUdfQURSICAgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4QjgpCisjZGVmaW5lIFBNSUNfV1JBUF9TSUdfTU9ERSAgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4QkMpCisjZGVmaW5lIFBNSUNfV1JBUF9TSUdfVkFMVUUgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4QzApCisjZGVmaW5lIFBNSUNfV1JBUF9TSUdfRVJSVkFMICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4QzQpCisjZGVmaW5lIFBNSUNfV1JBUF9DUkNfRU4gICAgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4QzgpCisjZGVmaW5lIFBNSUNfV1JBUF9USU1FUl9FTiAgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4Q0MpCisjZGVmaW5lIFBNSUNfV1JBUF9USU1FUl9TVEEgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4RDApCisjZGVmaW5lIFBNSUNfV1JBUF9XRFRfVU5JVCAgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4RDQpCisjZGVmaW5lIFBNSUNfV1JBUF9XRFRfU1JDX0VOICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4RDgpCisjZGVmaW5lIFBNSUNfV1JBUF9XRFRfRkxHICAgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4REMpCisjZGVmaW5lIFBNSUNfV1JBUF9ERUJVR19JTlRfU0VMICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4RTApCisjZGVmaW5lIFBNSUNfV1JBUF9EVkZTX0FEUjAgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4RTQpCisjZGVmaW5lIFBNSUNfV1JBUF9EVkZTX1dEQVRBMCAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4RTgpCisjZGVmaW5lIFBNSUNfV1JBUF9EVkZTX0FEUjEgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4RUMpCisjZGVmaW5lIFBNSUNfV1JBUF9EVkZTX1dEQVRBMSAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4RjApCisjZGVmaW5lIFBNSUNfV1JBUF9EVkZTX0FEUjIgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4RjQpCisjZGVmaW5lIFBNSUNfV1JBUF9EVkZTX1dEQVRBMiAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4RjgpCisjZGVmaW5lIFBNSUNfV1JBUF9EVkZTX0FEUjMgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4RkMpCisjZGVmaW5lIFBNSUNfV1JBUF9EVkZTX1dEQVRBMyAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4MTAwKQorI2RlZmluZSBQTUlDX1dSQVBfRFZGU19BRFI0ICAgICAgICAgICAgIChQTUlDX1dSQVBfQkFTRSsweDEwNCkKKyNkZWZpbmUgUE1JQ19XUkFQX0RWRlNfV0RBVEE0ICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgxMDgpCisjZGVmaW5lIFBNSUNfV1JBUF9EVkZTX0FEUjUgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4MTBDKQorI2RlZmluZSBQTUlDX1dSQVBfRFZGU19XREFUQTUgICAgICAgICAgIChQTUlDX1dSQVBfQkFTRSsweDExMCkKKyNkZWZpbmUgUE1JQ19XUkFQX0RWRlNfQURSNiAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgxMTQpCisjZGVmaW5lIFBNSUNfV1JBUF9EVkZTX1dEQVRBNiAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4MTE4KQorI2RlZmluZSBQTUlDX1dSQVBfRFZGU19BRFI3ICAgICAgICAgICAgIChQTUlDX1dSQVBfQkFTRSsweDExQykKKyNkZWZpbmUgUE1JQ19XUkFQX0RWRlNfV0RBVEE3ICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgxMjApCisjZGVmaW5lIFBNSUNfV1JBUF9DSVBIRVJfS0VZX1NFTCAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4MTI0KQorI2RlZmluZSBQTUlDX1dSQVBfQ0lQSEVSX0lWX1NFTCAgICAgICAgIChQTUlDX1dSQVBfQkFTRSsweDEyOCkKKyNkZWZpbmUgUE1JQ19XUkFQX0NJUEhFUl9FTiAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgxMkMpCisjZGVmaW5lIFBNSUNfV1JBUF9DSVBIRVJfUkRZICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4MTMwKQorI2RlZmluZSBQTUlDX1dSQVBfQ0lQSEVSX01PREUgICAgICAgICAgIChQTUlDX1dSQVBfQkFTRSsweDEzNCkKKyNkZWZpbmUgUE1JQ19XUkFQX0NJUEhFUl9TV1JTVCAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgxMzgpCisjZGVmaW5lIFBNSUNfV1JBUF9EQ01fRU4gICAgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4MTNDKQorI2RlZmluZSBQTUlDX1dSQVBfRENNX0RCQ19QUkQgICAgICAgICAgIChQTUlDX1dSQVBfQkFTRSsweDE0MCkKKyNkZWZpbmUgUE1JQ19XUkFQX0FEQ19DTURfQUREUiAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgxNDQpCisjZGVmaW5lIFBNSUNfV1JBUF9QV1JBUF9BRENfQ01EICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4MTQ4KQorI2RlZmluZSBQTUlDX1dSQVBfQURDX1JEWV9BRERSICAgICAgICAgIChQTUlDX1dSQVBfQkFTRSsweDE0QykKKyNkZWZpbmUgUE1JQ19XUkFQX0FEQ19SREFUQV9BRERSMSAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgxNTApCisjZGVmaW5lIFBNSUNfV1JBUF9BRENfUkRBVEFfQUREUjIgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4MTU0KQorCisvLyBCaXQgQ29udHJvbAorI2RlZmluZSBHRVRfU1RBVVBEX0RMRV9DTlQoeCkgICAgICAgICgoeD4+MCkgICYgMHgwMDAwMDAwNykKKyNkZWZpbmUgR0VUX1NUQVVQRF9BTEVfQ05UKHgpICAgICAgICAoKHg+PjMpICAmIDB4MDAwMDAwMDcpCisjZGVmaW5lIEdFVF9TVEFVUERfRlNNKHgpICAgICAgICAgICAgKCh4Pj42KSAgJiAweDAwMDAwMDA3KQorI2RlZmluZSBHRVRfUFdSQVBfR1BTX0FDSyh4KSAgICAgICAgICgoeD4+MCkgICYgMHgwMDAwMDAwMSkKKyNkZWZpbmUgR0VUX0dQU19QV1JBUF9SRVEoeCkgICAgICAgICAoKHg+PjEpICAmIDB4MDAwMDAwMDEpCisjZGVmaW5lIEdFVF9HUFNJTkZfRExFX0NOVCh4KSAgICAgICAgKCh4Pj40KSAgJiAweDAwMDAwMDAzKQorI2RlZmluZSBHRVRfR1BTSU5GX0FMRV9DTlQoeCkgICAgICAgICgoeD4+NikgICYgMHgwMDAwMDAwMykKKyNkZWZpbmUgR0VUX0dQU19JTkZfRlNNKHgpICAgICAgICAgICAoKHg+PjgpICAmIDB4MDAwMDAwMDcpCisjZGVmaW5lIEdFVF9QV1JBUF9HUFNfV0RBVEEoeCkgICAgICAgKCh4Pj4xNSkgJiAweDAwMDFmZmZmKQorI2RlZmluZSBHRVRfV1JBUF9DSF9ETEVfUkVTVENOVCh4KSAgICgoeD4+MCkgICYgMHgwMDAwMDAwNykKKyNkZWZpbmUgR0VUX1dSQVBfQ0hfQUxFX1JFU1RDTlQoeCkgICAoKHg+PjMpICAmIDB4MDAwMDAwMDMpCisjZGVmaW5lIEdFVF9XUkFQX0FHX0RMRV9SRVNUQ05UKHgpICAgKCh4Pj41KSAgJiAweDAwMDAwMDAzKQorI2RlZmluZSBHRVRfV1JBUF9DSF9XKHgpICAgICAgICAgICAgICgoeD4+NykgICYgMHgwMDAwMDAwMSkKKyNkZWZpbmUgR0VUX1dSQVBfQ0hfUkVRKHgpICAgICAgICAgICAoKHg+PjgpICAmIDB4MDAwMDAwMDEpCisjZGVmaW5lIEdFVF9BR19XUkFQX1coeCkgICAgICAgICAgICAgKCh4Pj45KSAgJiAweDAwMDAwMDAxKQorI2RlZmluZSBHRVRfQUdfV1JBUF9SRVEoeCkgICAgICAgICAgICgoeD4+MTApICYgMHgwMDAwMDAwMSkKKyNkZWZpbmUgR0VUX1dSQVBfRlNNKHgpICAgICAgICAgICAgICAoKHg+PjExKSAmIDB4MDAwMDAwMGYpCisjZGVmaW5lIEdFVF9IQVJCX1dSQVBfV0RBVEEoeCkgICAgICAgKCh4Pj4wKSAgJiAweDAwMDBmZmZmKQorI2RlZmluZSBHRVRfSEFSQl9XUkFQX0FEUih4KSAgICAgICAgICgoeD4+MTYpICYgMHgwMDAwN2ZmZikKKyNkZWZpbmUgR0VUX0hBUkJfV1JBUF9SRVEoeCkgICAgICAgICAoKHg+PjMxKSAmIDB4MDAwMDAwMDEpCisjZGVmaW5lIEdFVF9IQVJCX0RMRV9FTVBUWSh4KSAgICAgICAgKCh4Pj4wKSAgJiAweDAwMDAwMDAxKQorI2RlZmluZSBHRVRfSEFSQl9ETEVfRlVMTCh4KSAgICAgICAgICgoeD4+MSkgICYgMHgwMDAwMDAwMSkKKyNkZWZpbmUgR0VUX0hBUkJfVkxEKHgpICAgICAgICAgICAgICAoKHg+PjIpICAmIDB4MDAwMDAwMDEpCisjZGVmaW5lIEdFVF9IQVJCX0RMRV9PV04oeCkgICAgICAgICAgKCh4Pj4zKSAgJiAweDAwMDAwMDBmKQorI2RlZmluZSBHRVRfSEFSQl9PV04oeCkgICAgICAgICAgICAgICgoeD4+NykgICYgMHgwMDAwMDAwZikKKyNkZWZpbmUgR0VUX0hBUkJfRExFX1JFU1RDTlQoeCkgICAgICAoKHg+PjExKSAmIDB4MDAwMDAwMGYpCisjZGVmaW5lIEdFVF9BR19IQVJCX1JFUSh4KSAgICAgICAgICAgKCh4Pj4xNSkgJiAweDAwMDAwMDdmKQorI2RlZmluZSBHRVRfSEFSQl9XUkFQX1coeCkgICAgICAgICAgICgoeD4+MjIpICYgMHgwMDAwMDAwMSkKKyNkZWZpbmUgR0VUX0hBUkJfV1JBUF9SRVEwKHgpICAgICAgICAoKHg+PjIzKSAmIDB4MDAwMDAwMDEpCisjZGVmaW5lIEdFVF9TUElfV0RBVEEoeCkgICAgICAgICAgICAgKCh4Pj4wKSAgJiAweDAwMDAwMGZmKQorI2RlZmluZSBHRVRfU1BJX09QKHgpICAgICAgICAgICAgICAgICgoeD4+OCkgICYgMHgwMDAwMDAxZikKKyNkZWZpbmUgR0VUX1NQSV9XKHgpICAgICAgICAgICAgICAgICAoKHg+PjEzKSAmIDB4MDAwMDAwMDEpCisjZGVmaW5lIEdFVF9NQU5fUkRBVEEoeCkgICAgICAgICAgICAgKCh4Pj4wKSAgJiAweDAwMDAwMGZmKQorI2RlZmluZSBHRVRfTUFOX0ZTTSh4KSAgICAgICAgICAgICAgICgoeD4+OCkgICYgMHgwMDAwMDAwNykKKyNkZWZpbmUgR0VUX01BTl9SRVEoeCkgICAgICAgICAgICAgICAoKHg+PjExKSAmIDB4MDAwMDAwMDEpCisjZGVmaW5lIEdFVF9XQUNTMF9XREFUQSh4KSAgICAgICAgICAgKCh4Pj4wKSAgJiAweDAwMDBmZmZmKQorI2RlZmluZSBHRVRfV0FDUzBfQURSKHgpICAgICAgICAgICAgICgoeD4+MTYpICYgMHgwMDAwN2ZmZikKKyNkZWZpbmUgR0VUX1dBQ1MwX1dSSVRFKHgpICAgICAgICAgICAoKHg+PjMxKSAmIDB4MDAwMDAwMDEpCisjZGVmaW5lIEdFVF9XQUNTMF9SREFUQSh4KSAgICAgICAgICAgKCh4Pj4wKSAgJiAweDAwMDBmZmZmKQorI2RlZmluZSBHRVRfV0FDUzBfRlNNKHgpICAgICAgICAgICAgICgoeD4+MTYpICYgMHgwMDAwMDAwNykKKyNkZWZpbmUgR0VUX1dBQ1MwX1JFUSh4KSAgICAgICAgICAgICAoKHg+PjE5KSAmIDB4MDAwMDAwMDEpCisjZGVmaW5lIEdFVF9TWU5DX0lETEUwKHgpICAgICAgICAgICAgKCh4Pj4yMCkgJiAweDAwMDAwMDAxKQorI2RlZmluZSBHRVRfSU5JVF9ET05FMCh4KSAgICAgICAgICAgICgoeD4+MjEpICYgMHgwMDAwMDAwMSkKKyNkZWZpbmUgR0VUX1dBQ1MxX1dEQVRBKHgpICAgICAgICAgICAoKHg+PjApICAmIDB4MDAwMGZmZmYpCisjZGVmaW5lIEdFVF9XQUNTMV9BRFIoeCkgICAgICAgICAgICAgKCh4Pj4xNikgJiAweDAwMDA3ZmZmKQorI2RlZmluZSBHRVRfV0FDUzFfV1JJVEUoeCkgICAgICAgICAgICgoeD4+MzEpICYgMHgwMDAwMDAwMSkKKyNkZWZpbmUgR0VUX1dBQ1MxX1JEQVRBKHgpICAgICAgICAgICAoKHg+PjApICAmIDB4MDAwMGZmZmYpCisjZGVmaW5lIEdFVF9XQUNTMV9GU00oeCkgICAgICAgICAgICAgKCh4Pj4xNikgJiAweDAwMDAwMDA3KQorI2RlZmluZSBHRVRfV0FDUzFfUkVRKHgpICAgICAgICAgICAgICgoeD4+MTkpICYgMHgwMDAwMDAwMSkKKyNkZWZpbmUgR0VUX1NZTkNfSURMRTEoeCkgICAgICAgICAgICAoKHg+PjIwKSAmIDB4MDAwMDAwMDEpCisjZGVmaW5lIEdFVF9JTklUX0RPTkUxKHgpICAgICAgICAgICAgKCh4Pj4yMSkgJiAweDAwMDAwMDAxKQorI2RlZmluZSBHRVRfV0FDUzJfV0RBVEEoeCkgICAgICAgICAgICgoeD4+MCkgICYgMHgwMDAwZmZmZikKKyNkZWZpbmUgR0VUX1dBQ1MyX0FEUih4KSAgICAgICAgICAgICAoKHg+PjE2KSAmIDB4MDAwMDdmZmYpCisjZGVmaW5lIEdFVF9XQUNTMl9XUklURSh4KSAgICAgICAgICAgKCh4Pj4zMSkgJiAweDAwMDAwMDAxKQorI2RlZmluZSBHRVRfV0FDUzJfUkRBVEEoeCkgICAgICAgICAgICgoeD4+MCkgICYgMHgwMDAwZmZmZikKKyNkZWZpbmUgR0VUX1dBQ1MyX0ZTTSh4KSAgICAgICAgICAgICAoKHg+PjE2KSAmIDB4MDAwMDAwMDcpCisjZGVmaW5lIEdFVF9XQUNTMl9SRVEoeCkgICAgICAgICAgICAgKCh4Pj4xOSkgJiAweDAwMDAwMDAxKQorI2RlZmluZSBHRVRfU1lOQ19JRExFMih4KSAgICAgICAgICAgICgoeD4+MjApICYgMHgwMDAwMDAwMSkKKyNkZWZpbmUgR0VUX0lOSVRfRE9ORTIoeCkgICAgICAgICAgICAoKHg+PjIxKSAmIDB4MDAwMDAwMDEpICAgCisKKyNkZWZpbmUgR0VUX1dBQ1NfUkRBVEEoeCkgICAgICAgICAgICAoKHg+PjApICAmIDB4MDAwMGZmZmYpICAgICAgCisjZGVmaW5lIEdFVF9XQUNTX0ZTTSh4KSAgICAgICAgICAgICAgKCh4Pj4xNikgJiAweDAwMDAwMDA3KSAgICAgIAorI2RlZmluZSBHRVRfV0FDU19SRVEoeCkgICAgICAgICAgICAgICgoeD4+MTkpICYgMHgwMDAwMDAwMSkgICAgICAKKyNkZWZpbmUgR0VUX1NZTkNfSURMRSh4KSAgICAgICAgICAgICAoKHg+PjIwKSAmIDB4MDAwMDAwMDEpICAgICAgCisjZGVmaW5lIEdFVF9JTklUX0RPTkUoeCkgICAgICAgICAgICAgKCh4Pj4yMSkgJiAweDAwMDAwMDAxKSAgICAgCisKKyNkZWZpbmUgU1BJX0FVVE9fTU9ERSAgICAgICAgICAgMAorI2RlZmluZSBTUElfTUFOVUFMX01PREUgICAgICAgICAxCisjZGVmaW5lIEhBUkJfSFBSSU9fQUxMICAgICAgICAgIDB4MUZGCisjZGVmaW5lIEhBUkJfSFBSSU9fUlJBUEIgICAgICAgICgxIDw8IDgpCisjZGVmaW5lIEhBUkJfSFBSSU9fUEVSSV9QV1JBUCAgICgxIDw8IDcpCisjZGVmaW5lIEhBUkJfSFBSSU9fU1RBVVBEICAgICAgICgxIDw8IDYpCisjZGVmaW5lIEhBUkJfSFBSSU9fRVJDICAgICAgICAgICgxIDw8IDUpCisjZGVmaW5lIEhBUkJfSFBSSU9fRFZGU0lORiAgICAgICgxIDw8IDQpCisjZGVmaW5lIEhBUkJfSFBSSU9fV0FDUzIgICAgICAgICgxIDw8IDMpCisjZGVmaW5lIEhBUkJfSFBSSU9fV0FDUzEgICAgICAgICgxIDw8IDIpCisjZGVmaW5lIEhBUkJfSFBSSU9fV0FDUzAgICAgICAgICgxIDw8IDEpCisjZGVmaW5lIEhBUkJfSFBSSU9fTURJTkYgICAgICAgICgxIDw8IDApCisKKworLy8gQ3VycmVudCBXUkFQIEZTTSBzdGF0ZXMuCisjZGVmaW5lIFdSQVBfRlNNX0lETEVfU1RBVEUgICAgICAgICAgICAgICAgIDB4MAorI2RlZmluZSBXUkFQX0ZTTV9DU0xfQURSX1NUQVJUX1NUQVRFICAgICAgICAweDIKKyNkZWZpbmUgV1JBUF9GU01fQURSX1NUQVRFICAgICAgICAgICAgICAgICAgMHg0CisjZGVmaW5lIFdSQVBfRlNNX0NTTF9BRFJfRU5EX1NUQVRFICAgICAgICAgIDB4NgorI2RlZmluZSBXUkFQX0ZTTV9DU0hfQURSX1NUQVRFICAgICAgICAgICAgICAweDgKKyNkZWZpbmUgV1JBUF9GU01fQ1NMX0RBVEFfU1RBUlRfU1RBVEUgICAgICAgMHhBCisjZGVmaW5lIFdSQVBfRlNNX0RBVEFfU1RBVEUgICAgICAgICAgICAgICAgIDB4QworI2RlZmluZSBXUkFQX0ZTTV9DU0xfREFUQV9FTkRfU1RBVEUgICAgICAgICAweEUKKyNkZWZpbmUgV1JBUF9GU01fQ1NIX0RBVEFfU1RBVEUgICAgICAgICAgICAgMHhGCisKKyNkZWZpbmUgV0FDU19JTklUX0RPTkVfTk9UX0ZJTklTSEVEICAgICAgICAgMAorI2RlZmluZSBXQUNTX0lOSVRfRE9ORV9GSU5JU0hFRCAgICAgICAgICAgICAxCisKKworI2RlZmluZSBXQUNTX1NZTkNfTU9EVUxFX0JVU1kgICAgICAgICAgICAgICAwCisjZGVmaW5lIFdBQ1NfU1lOQ19NT0RVTEVfSURMRSAgICAgICAgICAgICAgIDEKKworLy8gQ3VycmVudCBXQUNTIEZTTSBzdGF0ZXMuCisjZGVmaW5lIFdBQ1NfRlNNX0lETEVfU1RBVEUgICAgICAgICAgICAgICAgIDB4MAorI2RlZmluZSBXQUNTX0ZTTV9SRVFfU1RBVEUgICAgICAgICAgICAgICAgICAweDIKKyNkZWZpbmUgV0FDU19GU01fV0ZETEVfU1RBVEUgICAgICAgICAgICAgICAgMHg0CisjZGVmaW5lIFdBQ1NfRlNNX1dGVkxEQ0xSX1NUQVRFICAgICAgICAgICAgIDB4NgorCisvLyBDdXJyZW50IE1BTiBGU00gc3RhdGVzLgorI2RlZmluZSBNQU5fRlNNX0lETEVfU1RBVEUgICAgICAgICAgICAgICAgICAweDAKKyNkZWZpbmUgTUFOX0ZTTV9SRVFfU1RBVEUgICAgICAgICAgICAgICAgICAgMHgyCisjZGVmaW5lIE1BTl9GU01fV0ZETEVfU1RBVEUgICAgICAgICAgICAgICAgIDB4NAorI2RlZmluZSBNQU5fRlNNX1dGVkxEQ0xSX1NUQVRFICAgICAgICAgICAgICAweDYKKworLy8gQ3VycmVudCBTVEFVUEQgRlNNIHN0YXRlcy4KKyNkZWZpbmUgU1RBVVBEX0ZTTV9JRExFX1NUQVRFICAgICAgICAgICAgICAgMHgwCisjZGVmaW5lIFNUQVVQRF9GU01fUkVRX1NUQVRFICAgICAgICAgICAgICAgIDB4MgorI2RlZmluZSBTVEFVUERfRlNNX1dGRExFX1NUQVRFICAgICAgICAgICAgICAweDQKKworI2RlZmluZSBERVdfUkVBRF9URVNUX1ZBTFVFICAgICAgICAgICAgICAgICAweDVBQTUKKworLy8tLS0tLW1hY3JvIGZvciBtYW51YWwgY29tbW5kIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjZGVmaW5lIE9QX1dSICAgICgweDEpCisKKyNkZWZpbmUgT1BfQ1NIICAgKDB4MCkKKyNkZWZpbmUgT1BfQ1NMICAgKDB4MSkKKyNkZWZpbmUgT1BfT1VUUyAgKDB4OCkKKyNkZWZpbmUgT1BfT1VURCAgKDB4OSkKKyNkZWZpbmUgT1BfSU5TICAgKDB4QykKKyNkZWZpbmUgT1BfSU5EICAgKDB4RCkKKworICNlbmRpZiAvLyBfX01UNjU4Ml9QTUlDX1dSQVBfSFdfSF9fICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9tdDY1ODJfcG1pY193cmFwX3N3LmggYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL210NjU4Ml9wbWljX3dyYXBfc3cuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NTM2ZDQ2Ci0tLSAvZGV2L251bGwKKysrIGIvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9tdDY1ODJfcG1pY193cmFwX3N3LmgKQEAgLTAsMCArMSwxOTMgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxMgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLiAKKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGaWxlbmFtZToKKyAqIC0tLS0tLS0tLQorICogIG10NjU4Ml9wbWljX3dyYXBfc3cuaAorICoKKyAqIFByb2plY3Q6CisgKiAtLS0tLS0tLQorICogIE1hdWlfU29mdHdhcmUKKyAqCisgKiBEZXNjcmlwdGlvbjoKKyAqIC0tLS0tLS0tLS0tLQorICoJVGhpcyBpcyBmb3IgbXQ2NTgyIHBtaWMgd3JhcHBlciBkcml2ZXIgcy93IHVzYWdlCisgKgorICogQXV0aG9yOgorICogLS0tLS0tLQorICogLS0tLS0tLQorICoKKyAqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICogICAgICAgICAgICAgSElTVE9SWQorICogQmVsb3cgdGhpcyBsaW5lLCB0aGlzIHBhcnQgaXMgY29udHJvbGxlZCBieSBQVkNTIFZNLiBETyBOT1QgTU9ESUZZISEKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogVXBwZXIgdGhpcyBsaW5lLCB0aGlzIHBhcnQgaXMgY29udHJvbGxlZCBieSBQVkNTIFZNLiBETyBOT1QgTU9ESUZZISEKKyAqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIF9fTVQ2NTgyX1BNSUNfV1JBUF9TV19IX18KKyNkZWZpbmUgX19NVDY1ODJfUE1JQ19XUkFQX1NXX0hfXworCisjaW5jbHVkZSAiZHJ2X2NvbW0uaCIKKyNkZWZpbmUgUE1JQ19XUkFQX1JFQUQgICAgICAgICAgICAgIDAKKyNkZWZpbmUgUE1JQ19XUkFQX1dSSVRFICAgICAgICAgICAgIDEKKworI2RlZmluZSBQTUlDX1dSQVBfUkVHX0NMT0NLX1NBRkVfTU9ERSAgIDAKKworI2RlZmluZSBQTUlDX1dSQVBfUkVHX0NMT0NLXzA2TUhaICAgICAgIDEKKyNkZWZpbmUgUE1JQ19XUkFQX1JFR19DTE9DS18xMk1IWiAgICAgICAyCisKKyNkZWZpbmUgUE1JQ19XUkFQX1JFR19DTE9DS18xOE1IWiAgICAgICAxCisjZGVmaW5lIFBNSUNfV1JBUF9SRUdfQ0xPQ0tfMzZNSFogICAgICAgMgorCisjZGVmaW5lIERFV19XUklURV9URVNUX1ZBTFVFICAgICAgICAgICAgMHhBNTVBCisKKyNkZWZpbmUgUE1JQ19XUkFQX0lOVkFMSURfUlcgICAgICAgICAgICAweDEwCisjZGVmaW5lIFBNSUNfV1JBUF9JTlZBTElEX0FERFIgICAgICAgICAgMHgxMQorI2RlZmluZSBQTUlDX1dSQVBfSU5WQUxJRF9XREFUQSAgICAgICAgIDB4MTIKKyNkZWZpbmUgUE1JQ19XUkFQX0lOVkFMSURfT1AgICAgICAgICAgICAweDEzCisjZGVmaW5lIFBNSUNfV1JBUF9JTlZBTElEX0FSR1VNRU5UICAgICAgMHgxNAorCisjZGVmaW5lIFBNSUNfV1JBUF9JTklUX1NJRExZX0ZBSUwJMHgyMAorI2RlZmluZSBQTUlDX1dSQVBfSU5JVF9SRUdfQ0xLX0ZBSUwJMHgyMQorI2RlZmluZSBQTUlDX1dSQVBfSU5JVF9EVUFMX01PREVfRkFJTAkweDIyCisjZGVmaW5lIFBNSUNfV1JBUF9JTklUX0NJUEhFUl9GQUlMCTB4MjMKKworI2RlZmluZSBQTUlDX1dSQVBfTk9UX0lOSVRfRE9ORSAgICAgICAgIDB4MzAKKyNkZWZpbmUgUE1JQ19XUkFQX05PVF9JTklUX0RPTkVfUkVBRCAgICAweDMxCisjZGVmaW5lIFBNSUNfV1JBUF9SRUFEX1RFU1RfRkFJTCAgICAgICAgMHgzMgorI2RlZmluZSBQTUlDX1dSQVBfV1JJVEVfVEVTVF9GQUlMICAgICAgIDB4MzMKKyNkZWZpbmUgUE1JQ19XUkFQX1NXSVRDSF9ESU9fRkFJTCAgICAgICAweDM0CisjZGVmaW5lIFBNSUNfV1JBUF9SRUFEX0ZBSUwgICAgICAgICAgICAgMHgzNQorI2RlZmluZSBQTUlDX1dSQVBfV1JJVEVfRkFJTCAgICAgICAgICAgIDB4MzYKKyNkZWZpbmUgUE1JQ19XUkFQX0RFV19FVkVOVF9URVNUX0ZBSUwgICAweDM3CisjZGVmaW5lIFBNSUNfV1JBUF9NQU5VQUxfTU9ERV9OT1RfSURMRSAgMHgzOAorI2RlZmluZSBQTUlDX1dSQVBfU1RBVVBEX0ZTTV9OT1RfSURMRSAgIDB4MzkKKworCisjZGVmaW5lIFBNSUNfV1JBUF9USU1FX09VVF9GQUlMICAgICAgICAgMHhGRgorCisjZGVmaW5lIE9QX1JEICAgICAgICgweDApCisjZGVmaW5lIE9QX1dSICAgICAgICgweDEpCisKKyNkZWZpbmUgT1BfQ1NIICAgICAgKDB4MCkKKyNkZWZpbmUgT1BfQ1NMICAgICAgKDB4MSkKKyNkZWZpbmUgT1BfQ0sgICAgICAgKDB4MikKKyNkZWZpbmUgT1BfT1VUUyAgICAgKDB4OCkKKyNkZWZpbmUgT1BfT1VURCAgICAgKDB4OSkKKyNkZWZpbmUgT1BfSU5TICAgICAgKDB4QykKKyNkZWZpbmUgT1BfSU5EICAgICAgKDB4RCkKKworI2RlZmluZSBEUlZfV3JpdGVSZWcoYWRkcixkYXRhKSAgICAgKCgqKHZvbGF0aWxlIGthbF91aW50MTYgKikoYWRkcikpID0gKGthbF91aW50MTYpKGRhdGEpKQorI2RlZmluZSBEUlZfUmVnKGFkZHIpICAgICAgICAgICAgICAgKCoodm9sYXRpbGUga2FsX3VpbnQxNiAqKShhZGRyKSkKKyNkZWZpbmUgRFJWX1dyaXRlUmVnMzIoYWRkcixkYXRhKSAgICgoKih2b2xhdGlsZSBrYWxfdWludDMyICopKGFkZHIpKSA9IChrYWxfdWludDMyKShkYXRhKSkKKyNkZWZpbmUgRFJWX1JlZzMyKGFkZHIpICAgICAgICAgICAgICgqKHZvbGF0aWxlIGthbF91aW50MzIgKikoYWRkcikpCisjZGVmaW5lIERSVl9Xcml0ZVJlZzgoYWRkcixkYXRhKSAgICAoKCoodm9sYXRpbGUga2FsX3VpbnQ4ICopKGFkZHIpKSA9IChrYWxfdWludDgpKGRhdGEpKQorI2RlZmluZSBEUlZfUmVnOChhZGRyKSAgICAgICAgICAgICAgKCoodm9sYXRpbGUga2FsX3VpbnQ4ICopKGFkZHIpKQorCisjZGVmaW5lIERSVl9DbGVhckJpdHMzMihhZGRyLGRhdGEpICAgICB7XAorICAga2FsX3VpbnQzMiB0ZW1wO1wKKyAgIHRlbXAgPSBEUlZfUmVnMzIoYWRkcik7XAorICAgdGVtcCAmPX4oZGF0YSk7XAorICAgRFJWX1dyaXRlUmVnMzIoYWRkcix0ZW1wKTtcCit9CisKKyNkZWZpbmUgRFJWX1NldEJpdHMzMihhZGRyLGRhdGEpICAgICB7XAorICAga2FsX3VpbnQzMiB0ZW1wO1wKKyAgIHRlbXAgPSBEUlZfUmVnMzIoYWRkcik7XAorICAgdGVtcCB8PSAoZGF0YSk7XAorICAgRFJWX1dyaXRlUmVnMzIoYWRkcix0ZW1wKTtcCit9CisKKyNpZiBkZWZpbmVkKF9fRFJWX0NPTU1fUkVHX0RCR19fKSAmJiBkZWZpbmVkKF9fRFJWX1BNSUNfV1JBUF9SRUdfREJHX18pCisjZGVmaW5lIFBNSUNfV1JBUF9EUlZfQ2xlYXJCaXRzMTYoYWRkcixkYXRhKSAgICAgICAgRFJWX0RCR19DbGVhckJpdHMoYWRkcixkYXRhKQorI2RlZmluZSBQTUlDX1dSQVBfRFJWX1NldEJpdHMxNihhZGRyKSAgICAgICAgICAgICAgIERSVl9EQkdfU2V0Qml0cyhhZGRyKQorI2RlZmluZSBQTUlDX1dSQVBfRFJWX1dyaXRlUmVnMTYoYWRkciwgZGF0YSkgICAgICAgIERSVl9EQkdfV3JpdGVSZWcoYWRkciwgZGF0YSkKKyNkZWZpbmUgUE1JQ19XUkFQX0RSVl9SZWFkUmVnMTYoYWRkcikgICAgICAgICAgICAgICBEUlZfREJHX1JlZyhhZGRyKQorI2RlZmluZSBQTUlDX1dSQVBfRFJWX0NsZWFyQml0czMyKGFkZHIsIGRhdGEpICAgICAgIERSVl9EQkdfQ2xlYXJCaXRzMzIoYWRkciwgZGF0YSkKKyNkZWZpbmUgUE1JQ19XUkFQX0RSVl9TZXRCaXRzMzIoYWRkciwgZGF0YSkgICAgICAgICBEUlZfREJHX1NldEJpdHMzMihhZGRyLCBkYXRhKQorI2RlZmluZSBQTUlDX1dSQVBfRFJWX1NldERhdGEoYWRkciwgYml0bWFzaywgdmFsdWUpICAgICBEUlZfU2V0RGF0YShhZGRyLCBiaXRtYXNrLCB2YWx1ZSkKKyNkZWZpbmUgUE1JQ19XUkFQX0RSVl9Xcml0ZVJlZzMyKGFkZHIsZGF0YSkgICAgICAgICBEUlZfREJHX1dyaXRlUmVnMzIoYWRkcixkYXRhKQorI2RlZmluZSBQTUlDX1dSQVBfRFJWX1JlZzMyKGFkZHIpICAgICAgICAgICAgICAgICAgIERSVl9EQkdfUmVnMzIoYWRkcikKKyNlbHNlIC8vICNpZiBkZWZpbmVkKF9fRFJWX0NPTU1fUkVHX0RCR19fKSAmJiBkZWZpbmVkKF9fRFJWX1JUQ19SRUdfREJHX18pCisjZGVmaW5lIFBNSUNfV1JBUF9EUlZfQ2xlYXJCaXRzMTYoYWRkciwgZGF0YSkgICAgICAgRFJWX0NsZWFyQml0cyhhZGRyLGRhdGEpCisjZGVmaW5lIFBNSUNfV1JBUF9EUlZfU2V0Qml0czE2KGFkZHIsIGRhdGEpICAgICAgICAgRFJWX1NldEJpdHMoYWRkcixkYXRhKQorI2RlZmluZSBQTUlDX1dSQVBfRFJWX1dyaXRlUmVnMTYoYWRkciwgZGF0YSkgICAgICAgIERSVl9Xcml0ZVJlZyhhZGRyLCBkYXRhKQorI2RlZmluZSBQTUlDX1dSQVBfRFJWX1JlYWRSZWcxNihhZGRyKSAgICAgICAgICAgICAgIERSVl9SZWcoYWRkcikKKyNkZWZpbmUgUE1JQ19XUkFQX0RSVl9DbGVhckJpdHMzMihhZGRyLCBkYXRhKSAgICAgICBEUlZfQ2xlYXJCaXRzMzIoYWRkciwgZGF0YSkKKyNkZWZpbmUgUE1JQ19XUkFQX0RSVl9TZXRCaXRzMzIoYWRkciwgZGF0YSkgICAgICAgICBEUlZfU2V0Qml0czMyKGFkZHIsIGRhdGEpCisjZGVmaW5lIFBNSUNfV1JBUF9EUlZfU2V0RGF0YShhZGRyLCBiaXRtYXNrLCB2YWx1ZSkgICAgIERSVl9TZXREYXRhKGFkZHIsIGJpdG1hc2ssIHZhbHVlKQorI2RlZmluZSBQTUlDX1dSQVBfRFJWX1dyaXRlUmVnMzIoYWRkcixkYXRhKSAgICAgICAgIERSVl9Xcml0ZVJlZzMyKGFkZHIsZGF0YSkKKyNkZWZpbmUgUE1JQ19XUkFQX0RSVl9SZWczMihhZGRyKSAgICAgICAgICAgICAgICAgICBEUlZfUmVnMzIoYWRkcikKKyNlbmRpZiAvLyAjaWYgZGVmaW5lZChfX0RSVl9DT01NX1JFR19EQkdfXykgJiYgZGVmaW5lZChfX0RSVl9SVENfUkVHX0RCR19fKQorCitrYWxfdWludDMyIERydlBXUkFQX0luaXQodm9pZCk7CitrYWxfdWludDMyIERydlBXUkFQX1dBQ1MyX05vQ2hrKGthbF91aW50MzIgd3JpdGUsIGthbF91aW50MzIgYWRyLCBrYWxfdWludDMyIHdkYXRhLCBrYWxfdWludDMyICpyZGF0YSk7CisvL2thbF91aW50MzIgRHJ2UFdSQVBfV0FDUzAoa2FsX3VpbnQzMiB3cml0ZSwga2FsX3VpbnQzMiBhZHIsIGthbF91aW50MzIgd2RhdGEsIGthbF91aW50MzIgKnJkYXRhKTsKK2thbF91aW50MzIgRHJ2UFdSQVBfV0FDUzAoa2FsX3VpbnQzMiB3cml0ZSwga2FsX3VpbnQzMiBhZHIsIGthbF91aW50MzIgd2RhdGEsIGthbF91aW50MTYgKnJkYXRhKTsKKy8va2FsX3VpbnQzMiBEcnZQV1JBUF9XQUNTMShrYWxfdWludDMyIHdyaXRlLCBrYWxfdWludDMyIGFkciwga2FsX3VpbnQzMiB3ZGF0YSwga2FsX3VpbnQzMiAqcmRhdGEpOwora2FsX3VpbnQzMiBEcnZQV1JBUF9XQUNTMShrYWxfdWludDMyIHdyaXRlLCBrYWxfdWludDMyIGFkciwga2FsX3VpbnQzMiB3ZGF0YSwga2FsX3VpbnQxNiAqcmRhdGEpOwora2FsX3VpbnQzMiBEcnZQV1JBUF9XQUNTMihrYWxfdWludDMyIHdyaXRlLCBrYWxfdWludDMyIGFkciwga2FsX3VpbnQzMiB3ZGF0YSwga2FsX3VpbnQzMiAqcmRhdGEpOwora2FsX3VpbnQzMiBEcnZQV1JBUF9NYW4oa2FsX3VpbnQzMiB3cml0ZSwga2FsX3VpbnQzMiBvcCwga2FsX3VpbnQzMiB3ZGF0YSwga2FsX3VpbnQzMiAqcmRhdGEgKTsKK2thbF91aW50MzIgRHJ2UFdSQVBfTWFuQWNjZXNzKGthbF91aW50MzIgd3JpdGUsIGthbF91aW50MzIgYWRyLCBrYWxfdWludDMyIHdkYXRhLCBrYWxfdWludDMyICpyZGF0YSk7CitrYWxfdWludDMyIERydlBXUkFQX0luaXREaW8oa2FsX2Jvb2wgZGlvX2VuKTsKK2thbF91aW50MzIgRHJ2UFdSQVBfU3dpdGNoRGlvKGthbF9ib29sIGRpb19lbik7CitrYWxfdWludDMyIERydlBXUkFQX0luaXRDSVBIRVIodm9pZCk7CitrYWxfdWludDMyIERydlBXUkFQX0VuYWJsZUNJUEhFUih2b2lkKTsKK2thbF91aW50MzIgRHJ2UFdSQVBfRGlzYWJsZUNJUEhFUih2b2lkKTsKK3ZvaWQgRHJ2UFdSQVBfUmVzZXRTUElTTFYodm9pZCk7Cit2b2lkIERydlBXUkFQX1N3aXRjaE11eChrYWxfdWludDggbXV4X3NlbF9uZXcpOwora2FsX3VpbnQzMiBEcnZQV1JBUF9Jbml0U2lTdHJvYmUodm9pZCk7CitrYWxfdWludDMyIERydlBXUkFQX1N0YVVwZFRyaWcoa2FsX3VpbnQzMiBtb2RlKTsKK3ZvaWQgRHJ2UFdSQVBfQWxpZ25DUkModm9pZCk7CitrYWxfdWludDMyIERydlBXUkFQX0luaXRSZWdDbGsoa2FsX3VpbnQzMiByZWdja19zZWwpOworCit0eXBlZGVmIGthbF91aW50MzIgKCpsb29wX2NvbmRpdGlvbl9mcCkoa2FsX3VpbnQzMik7IC8vIERlZmluZSBhIGZ1bmN0aW9uIHBvaW50ZXIKKworI2VuZGlmIC8vIF9fTVQ2NTgyX1BNSUNfV1JBUF9TV19IX18KZGlmZiAtLWdpdCBhL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvbXQ2NTg5X3BtaWNfd3JhcF9ody5oIGIvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9tdDY1ODlfcG1pY193cmFwX2h3LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWJjZTEzOQotLS0gL2Rldi9udWxsCisrKyBiL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvbXQ2NTg5X3BtaWNfd3JhcF9ody5oCkBAIC0wLDAgKzEsMzA5IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTIKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4gCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRmlsZW5hbWU6CisgKiAtLS0tLS0tLS0KKyAqICBtdDY1ODlfcG1pY193cmFwX2h3LmgKKyAqCisgKiBQcm9qZWN0OgorICogLS0tLS0tLS0KKyAqICBNYXVpX1NvZnR3YXJlCisgKgorICogRGVzY3JpcHRpb246CisgKiAtLS0tLS0tLS0tLS0KKyAqCVRoaXMgaXMgbXQ2NTg5IHBtaWMgd3JhcHBlciBoL3cgcmVnaXN0ZXIKKyAqCisgKiBBdXRob3I6CisgKiAtLS0tLS0tCisgKiAtLS0tLS0tCisgKgorICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKiAgICAgICAgICAgICBISVNUT1JZCisgKiBCZWxvdyB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogVXBwZXIgdGhpcyBsaW5lLCB0aGlzIHBhcnQgaXMgY29udHJvbGxlZCBieSBQVkNTIFZNLiBETyBOT1QgTU9ESUZZISEKKyAqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisgCisjaWZuZGVmIF9fTVQ2NzUyX1BNSUNfV1JBUF9IV19IX18KKyNkZWZpbmUgX19NVDY1ODlfUE1JQ19XUkFQX0hXX0hfXworCisjaW5jbHVkZSAicmVnX2Jhc2UuaCIKKworI2RlZmluZSBQTUlDX1dSQVBfQkFTRSAgICAgICAgICAgICAgICAgIChBUF9QTUlDX1dSQVBfYmFzZSkKKworI2RlZmluZSBXRFRfU1dTWVNSU1QgICAgICAgICAgICAgICAgICAgIChBUF9UT1BSR1VfYmFzZSArIDB4MTgpCisjZGVmaW5lIENMS19DRkdfOCAgICAgICAgICAgICAgICAgICAgICAgKEFQX1RPUFJHVV9iYXNlICsgMHgxNjQpCisKKyNkZWZpbmUgSU5GUkFfR0xPQkFMQ09OX1JTVDAgICAgICAgICAgICAoQVBfSU5GUkFDRkdfQU9fYmFzZSArIDB4MDMwKQorCisjZGVmaW5lIFBFUklfR0xPQkFMQ09OX1JTVDEgICAgICAgICAgICAgKEFQX1BFUklDRkdfYmFzZSArIDB4MDA0KQorCisjZGVmaW5lIFBNSUNfV1JBUF9NVVhfU0VMICAgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4MCkKKyNkZWZpbmUgUE1JQ19XUkFQX1dSQVBfRU4gICAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg0KQorI2RlZmluZSBQTUlDX1dSQVBfRElPX0VOICAgICAgICAgICAgICAgIChQTUlDX1dSQVBfQkFTRSsweDgpCisjZGVmaW5lIFBNSUNfV1JBUF9TSURMWSAgICAgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4QykKKyNkZWZpbmUgUE1JQ19XUkFQX0NTSEVYVCAgICAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgxMCkKKyNkZWZpbmUgUE1JQ19XUkFQX0NTSEVYVF9XUklURSAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgxNCkKKyNkZWZpbmUgUE1JQ19XUkFQX0NTSEVYVF9SRUFEICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgxOCkKKyNkZWZpbmUgUE1JQ19XUkFQX0NTTEVYVF9TVEFSVCAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgxQykKKyNkZWZpbmUgUE1JQ19XUkFQX0NTTEVYVF9FTkQgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgyMCkKKyNkZWZpbmUgUE1JQ19XUkFQX1NUQVVQRF9QUkQgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgyNCkKKyNkZWZpbmUgUE1JQ19XUkFQX1NUQVVQRF9HUlBFTiAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgyOCkKKyNkZWZpbmUgUE1JQ19XUkFQX1NUQVVQRF9NQU5fVFJJRyAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgyQykKKyNkZWZpbmUgUE1JQ19XUkFQX1NUQVVQRF9TVEEgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgzMCkKKyNkZWZpbmUgUE1JQ19XUkFQX0VWRU5UX0lOX0VOICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgzNCkKKyNkZWZpbmUgUE1JQ19XUkFQX0VWRU5UX0RTVF9FTiAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgzOCkKKyNkZWZpbmUgUE1JQ19XUkFQX1dSQVBfU1RBICAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgzQykKKyNkZWZpbmUgUE1JQ19XUkFQX1JSQVJCX0lOSVQgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg0MCkKKyNkZWZpbmUgUE1JQ19XUkFQX1JSQVJCX0VOICAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg0NCkKKyNkZWZpbmUgUE1JQ19XUkFQX1JSQVJCX1NUQTAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg0OCkKKyNkZWZpbmUgUE1JQ19XUkFQX1JSQVJCX1NUQTEgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg0QykKKyNkZWZpbmUgUE1JQ19XUkFQX0hBUkJfSU5JVCAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg1MCkKKyNkZWZpbmUgUE1JQ19XUkFQX0hBUkJfSFBSSU8gICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg1NCkKKyNkZWZpbmUgUE1JQ19XUkFQX0hJUFJJT19BUkJfRU4gICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg1OCkKKyNkZWZpbmUgUE1JQ19XUkFQX0hBUkJfU1RBMCAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg1QykKKyNkZWZpbmUgUE1JQ19XUkFQX0hBUkJfU1RBMSAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg2MCkKKyNkZWZpbmUgUE1JQ19XUkFQX01BTl9FTiAgICAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg2NCkKKyNkZWZpbmUgUE1JQ19XUkFQX01BTl9DTUQgICAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg2OCkKKyNkZWZpbmUgUE1JQ19XUkFQX01BTl9SREFUQSAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg2QykKKyNkZWZpbmUgUE1JQ19XUkFQX01BTl9WTERDTFIgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg3MCkKKyNkZWZpbmUgUE1JQ19XUkFQX1dBQ1MwX0VOICAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg3NCkKKyNkZWZpbmUgUE1JQ19XUkFQX0lOSVRfRE9ORTAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg3OCkKKyNkZWZpbmUgUE1JQ19XUkFQX1dBQ1MwX0NNRCAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg3QykKKyNkZWZpbmUgUE1JQ19XUkFQX1dBQ1MwX1JEQVRBICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg4MCkKKyNkZWZpbmUgUE1JQ19XUkFQX1dBQ1MwX1ZMRENMUiAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg4NCkKKyNkZWZpbmUgUE1JQ19XUkFQX1dBQ1MxX0VOICAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg4OCkKKyNkZWZpbmUgUE1JQ19XUkFQX0lOSVRfRE9ORTEgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg4QykKKyNkZWZpbmUgUE1JQ19XUkFQX1dBQ1MxX0NNRCAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg5MCkKKyNkZWZpbmUgUE1JQ19XUkFQX1dBQ1MxX1JEQVRBICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg5NCkKKyNkZWZpbmUgUE1JQ19XUkFQX1dBQ1MxX1ZMRENMUiAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg5OCkKKyNkZWZpbmUgUE1JQ19XUkFQX1dBQ1MyX0VOICAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg5QykKKyNkZWZpbmUgUE1JQ19XUkFQX0lOSVRfRE9ORTIgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhBMCkKKyNkZWZpbmUgUE1JQ19XUkFQX1dBQ1MyX0NNRCAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhBNCkKKyNkZWZpbmUgUE1JQ19XUkFQX1dBQ1MyX1JEQVRBICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhBOCkKKyNkZWZpbmUgUE1JQ19XUkFQX1dBQ1MyX1ZMRENMUiAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhBQykKKyNkZWZpbmUgUE1JQ19XUkFQX0lOVF9FTiAgICAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhCMCkKKyNkZWZpbmUgUE1JQ19XUkFQX0lOVF9GTEdfUkFXICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhCNCkKKyNkZWZpbmUgUE1JQ19XUkFQX0lOVF9GTEcgICAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhCOCkKKyNkZWZpbmUgUE1JQ19XUkFQX0lOVF9DTFIgICAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhCQykKKyNkZWZpbmUgUE1JQ19XUkFQX1NJR19BRFIgICAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhDMCkKKyNkZWZpbmUgUE1JQ19XUkFQX1NJR19NT0RFICAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhDNCkKKyNkZWZpbmUgUE1JQ19XUkFQX1NJR19WQUxVRSAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhDOCkKKyNkZWZpbmUgUE1JQ19XUkFQX1NJR19FUlJWQUwgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhDQykKKyNkZWZpbmUgUE1JQ19XUkFQX0NSQ19FTiAgICAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhEMCkKKyNkZWZpbmUgUE1JQ19XUkFQX0VWRU5UX1NUQSAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhENCkKKyNkZWZpbmUgUE1JQ19XUkFQX0VWRU5UX1NUQUNMUiAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhEOCkKKyNkZWZpbmUgUE1JQ19XUkFQX1RJTUVSX0VOICAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhEQykKKyNkZWZpbmUgUE1JQ19XUkFQX1RJTUVSX1NUQSAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhFMCkKKyNkZWZpbmUgUE1JQ19XUkFQX1dEVF9VTklUICAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhFNCkKKyNkZWZpbmUgUE1JQ19XUkFQX1dEVF9TUkNfRU4gICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhFOCkKKyNkZWZpbmUgUE1JQ19XUkFQX1dEVF9GTEcgICAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhFQykKKyNkZWZpbmUgUE1JQ19XUkFQX0RFQlVHX0lOVF9TRUwgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhGMCkKKyNkZWZpbmUgUE1JQ19XUkFQX0RWRlNfQURSMCAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhGNCkKKyNkZWZpbmUgUE1JQ19XUkFQX0RWRlNfV0RBVEEwICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhGOCkKKyNkZWZpbmUgUE1JQ19XUkFQX0RWRlNfQURSMSAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhGQykKKyNkZWZpbmUgUE1JQ19XUkFQX0RWRlNfV0RBVEExICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgxMDApCisjZGVmaW5lIFBNSUNfV1JBUF9EVkZTX0FEUjIgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4MTA0KQorI2RlZmluZSBQTUlDX1dSQVBfRFZGU19XREFUQTIgICAgICAgICAgIChQTUlDX1dSQVBfQkFTRSsweDEwOCkKKyNkZWZpbmUgUE1JQ19XUkFQX0RWRlNfQURSMyAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgxMEMpCisjZGVmaW5lIFBNSUNfV1JBUF9EVkZTX1dEQVRBMyAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4MTEwKQorI2RlZmluZSBQTUlDX1dSQVBfRFZGU19BRFI0ICAgICAgICAgICAgIChQTUlDX1dSQVBfQkFTRSsweDExNCkKKyNkZWZpbmUgUE1JQ19XUkFQX0RWRlNfV0RBVEE0ICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgxMTgpCisjZGVmaW5lIFBNSUNfV1JBUF9EVkZTX0FEUjUgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4MTFDKQorI2RlZmluZSBQTUlDX1dSQVBfRFZGU19XREFUQTUgICAgICAgICAgIChQTUlDX1dSQVBfQkFTRSsweDEyMCkKKyNkZWZpbmUgUE1JQ19XUkFQX0RWRlNfQURSNiAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgxMjQpCisjZGVmaW5lIFBNSUNfV1JBUF9EVkZTX1dEQVRBNiAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4MTI4KQorI2RlZmluZSBQTUlDX1dSQVBfRFZGU19BRFI3ICAgICAgICAgICAgIChQTUlDX1dSQVBfQkFTRSsweDEyQykKKyNkZWZpbmUgUE1JQ19XUkFQX0RWRlNfV0RBVEE3ICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgxMzApCisjZGVmaW5lIFBNSUNfV1JBUF9DSVBIRVJfS0VZX1NFTCAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4MTM0KQorI2RlZmluZSBQTUlDX1dSQVBfQ0lQSEVSX0lWX1NFTCAgICAgICAgIChQTUlDX1dSQVBfQkFTRSsweDEzOCkKKyNkZWZpbmUgUE1JQ19XUkFQX0NJUEhFUl9MT0FEICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgxM0MpCisjZGVmaW5lIFBNSUNfV1JBUF9DSVBIRVJfU1RBUlQgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4MTQwKQorI2RlZmluZSBQTUlDX1dSQVBfQ0lQSEVSX1JEWSAgICAgICAgICAgIChQTUlDX1dSQVBfQkFTRSsweDE0NCkKKyNkZWZpbmUgUE1JQ19XUkFQX0NJUEhFUl9NT0RFICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgxNDgpCisjZGVmaW5lIFBNSUNfV1JBUF9DSVBIRVJfU1dSU1QgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4MTRDKQorI2RlZmluZSBQTUlDX1dSQVBfQ0lQSEVSX0lWMCAgICAgICAgICAgIChQTUlDX1dSQVBfQkFTRSsweDE1MCkKKyNkZWZpbmUgUE1JQ19XUkFQX0NJUEhFUl9JVjEgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgxNTQpCisjZGVmaW5lIFBNSUNfV1JBUF9DSVBIRVJfSVYyICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4MTU4KQorI2RlZmluZSBQTUlDX1dSQVBfRENNX0VOICAgICAgICAgICAgICAgIChQTUlDX1dSQVBfQkFTRSsweDE1QykKKyNkZWZpbmUgUE1JQ19XUkFQX0RDTV9EQkNfUFJEICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgxNjApCisKKy8vIEJpdCBDb250cm9sCisjZGVmaW5lIEdFVF9TVEFVUERfRExFX0NOVCh4KSAgICAgICAgKCh4Pj4wKSAgJiAweDAwMDAwMDA3KSAgICAgIAorI2RlZmluZSBHRVRfU1RBVVBEX0FMRV9DTlQoeCkgICAgICAgICgoeD4+MykgICYgMHgwMDAwMDAwNykgICAgIAorI2RlZmluZSBHRVRfU1RBVVBEX0ZTTSh4KSAgICAgICAgICAgICgoeD4+NikgICYgMHgwMDAwMDAwNykgICAgIAorI2RlZmluZSBHRVRfV1JBUF9DSF9ETEVfUkVTVENOVCh4KSAgICgoeD4+MCkgICYgMHgwMDAwMDAwNykgICAgICAKKyNkZWZpbmUgR0VUX1dSQVBfQ0hfQUxFX1JFU1RDTlQoeCkgICAoKHg+PjMpICAmIDB4MDAwMDAwMDMpICAgICAgCisjZGVmaW5lIEdFVF9XUkFQX0FHX0RMRV9SRVNUQ05UKHgpICAgKCh4Pj41KSAgJiAweDAwMDAwMDAzKSAgICAgIAorI2RlZmluZSBHRVRfV1JBUF9DSF9XKHgpICAgICAgICAgICAgICgoeD4+NykgICYgMHgwMDAwMDAwMSkgICAgICAKKyNkZWZpbmUgR0VUX1dSQVBfQ0hfUkVRKHgpICAgICAgICAgICAoKHg+PjgpICAmIDB4MDAwMDAwMDEpICAgICAgCisjZGVmaW5lIEdFVF9BR19XUkFQX1coeCkgICAgICAgICAgICAgKCh4Pj45KSAgJiAweDAwMDAwMDAxKSAgICAgIAorI2RlZmluZSBHRVRfQUdfV1JBUF9SRVEoeCkgICAgICAgICAgICgoeD4+MTApICYgMHgwMDAwMDAwMSkgICAgICAKKyNkZWZpbmUgR0VUX1dSQVBfRlNNKHgpICAgICAgICAgICAgICAoKHg+PjExKSAmIDB4MDAwMDAwMGYpICAgICAgCisjZGVmaW5lIEdFVF9IQVJCX1dSQVBfV0RBVEEoeCkgICAgICAgKCh4Pj4wKSAgJiAweDAwMDBmZmZmKSAgICAgIAorI2RlZmluZSBHRVRfSEFSQl9XUkFQX0FEUih4KSAgICAgICAgICgoeD4+MTYpICYgMHgwMDAwN2ZmZikgICAgICAKKyNkZWZpbmUgR0VUX0hBUkJfV1JBUF9SRVEoeCkgICAgICAgICAoKHg+PjMxKSAmIDB4MDAwMDAwMDEpICAgICAgCisjZGVmaW5lIEdFVF9IQVJCX0RMRV9FTVBUWSh4KSAgICAgICAgKCh4Pj4wKSAgJiAweDAwMDAwMDAxKSAgICAgIAorI2RlZmluZSBHRVRfSEFSQl9ETEVfRlVMTCh4KSAgICAgICAgICgoeD4+MSkgICYgMHgwMDAwMDAwMSkgICAgICAKKyNkZWZpbmUgR0VUX0hBUkJfVkxEKHgpICAgICAgICAgICAgICAoKHg+PjIpICAmIDB4MDAwMDAwMDEpICAgICAgCisjZGVmaW5lIEdFVF9IQVJCX0RMRV9PV04oeCkgICAgICAgICAgKCh4Pj4zKSAgJiAweDAwMDAwMDBmKSAgICAgIAorI2RlZmluZSBHRVRfSEFSQl9PV04oeCkgICAgICAgICAgICAgICgoeD4+NykgICYgMHgwMDAwMDAwZikgICAgICAKKyNkZWZpbmUgR0VUX0hBUkJfRExFX1JFU1RDTlQoeCkgICAgICAoKHg+PjExKSAmIDB4MDAwMDAwMGYpICAgICAgCisjZGVmaW5lIEdFVF9BR19IQVJCX1JFUSh4KSAgICAgICAgICAgKCh4Pj4xNSkgJiAweDAwMDAwMWZmKSAgICAgIAorI2RlZmluZSBHRVRfSEFSQl9XUkFQX1coeCkgICAgICAgICAgICgoeD4+MjQpICYgMHgwMDAwMDAwMSkgICAgICAKKyNkZWZpbmUgR0VUX0hBUkJfV1JBUF9SRVEwKHgpICAgICAgICAoKHg+PjI1KSAmIDB4MDAwMDAwMDEpICAgICAgCisjZGVmaW5lIEdFVF9TUElfV0RBVEEoeCkgICAgICAgICAgICAgKCh4Pj4wKSAgJiAweDAwMDAwMGZmKSAgICAgIAorI2RlZmluZSBHRVRfU1BJX09QKHgpICAgICAgICAgICAgICAgICgoeD4+OCkgICYgMHgwMDAwMDAxZikgICAgICAKKyNkZWZpbmUgR0VUX1NQSV9XKHgpICAgICAgICAgICAgICAgICAoKHg+PjEzKSAmIDB4MDAwMDAwMDEpICAgICAgCisjZGVmaW5lIEdFVF9NQU5fUkRBVEEoeCkgICAgICAgICAgICAgKCh4Pj4wKSAgJiAweDAwMDAwMGZmKSAgICAgIAorI2RlZmluZSBHRVRfTUFOX0ZTTSh4KSAgICAgICAgICAgICAgICgoeD4+OCkgICYgMHgwMDAwMDAwNykgICAgICAKKyNkZWZpbmUgR0VUX01BTl9SRVEoeCkgICAgICAgICAgICAgICAoKHg+PjExKSAmIDB4MDAwMDAwMDEpICAgICAgCisjZGVmaW5lIEdFVF9XQUNTMF9XREFUQSh4KSAgICAgICAgICAgKCh4Pj4wKSAgJiAweDAwMDBmZmZmKSAgICAgIAorI2RlZmluZSBHRVRfV0FDUzBfQURSKHgpICAgICAgICAgICAgICgoeD4+MTYpICYgMHgwMDAwN2ZmZikgICAgICAKKyNkZWZpbmUgR0VUX1dBQ1MwX1dSSVRFKHgpICAgICAgICAgICAoKHg+PjMxKSAmIDB4MDAwMDAwMDEpICAgICAgCisjZGVmaW5lIEdFVF9XQUNTMF9SREFUQSh4KSAgICAgICAgICAgKCh4Pj4wKSAgJiAweDAwMDBmZmZmKSAgICAgIAorI2RlZmluZSBHRVRfV0FDUzBfRlNNKHgpICAgICAgICAgICAgICgoeD4+MTYpICYgMHgwMDAwMDAwNykgICAgICAKKyNkZWZpbmUgR0VUX1dBQ1MwX1JFUSh4KSAgICAgICAgICAgICAoKHg+PjE5KSAmIDB4MDAwMDAwMDEpICAgICAgCisjZGVmaW5lIEdFVF9TWU5DX0lETEUwKHgpICAgICAgICAgICAgKCh4Pj4yMCkgJiAweDAwMDAwMDAxKSAgICAgIAorI2RlZmluZSBHRVRfSU5JVF9ET05FMCh4KSAgICAgICAgICAgICgoeD4+MjEpICYgMHgwMDAwMDAwMSkgICAgICAKKyNkZWZpbmUgR0VUX1dBQ1MxX1dEQVRBKHgpICAgICAgICAgICAoKHg+PjApICAmIDB4MDAwMGZmZmYpICAgICAgCisjZGVmaW5lIEdFVF9XQUNTMV9BRFIoeCkgICAgICAgICAgICAgKCh4Pj4xNikgJiAweDAwMDA3ZmZmKSAgICAgIAorI2RlZmluZSBHRVRfV0FDUzFfV1JJVEUoeCkgICAgICAgICAgICgoeD4+MzEpICYgMHgwMDAwMDAwMSkgICAgICAKKyNkZWZpbmUgR0VUX1dBQ1MxX1JEQVRBKHgpICAgICAgICAgICAoKHg+PjApICAmIDB4MDAwMGZmZmYpICAgICAgCisjZGVmaW5lIEdFVF9XQUNTMV9GU00oeCkgICAgICAgICAgICAgKCh4Pj4xNikgJiAweDAwMDAwMDA3KSAgICAgIAorI2RlZmluZSBHRVRfV0FDUzFfUkVRKHgpICAgICAgICAgICAgICgoeD4+MTkpICYgMHgwMDAwMDAwMSkgICAgICAKKyNkZWZpbmUgR0VUX1NZTkNfSURMRTEoeCkgICAgICAgICAgICAoKHg+PjIwKSAmIDB4MDAwMDAwMDEpICAgICAgCisjZGVmaW5lIEdFVF9JTklUX0RPTkUxKHgpICAgICAgICAgICAgKCh4Pj4yMSkgJiAweDAwMDAwMDAxKSAgICAgIAorI2RlZmluZSBHRVRfV0FDUzJfV0RBVEEoeCkgICAgICAgICAgICgoeD4+MCkgICYgMHgwMDAwZmZmZikgICAgICAKKyNkZWZpbmUgR0VUX1dBQ1MyX0FEUih4KSAgICAgICAgICAgICAoKHg+PjE2KSAmIDB4MDAwMDdmZmYpICAgICAgCisjZGVmaW5lIEdFVF9XQUNTMl9XUklURSh4KSAgICAgICAgICAgKCh4Pj4zMSkgJiAweDAwMDAwMDAxKSAgICAgIAorI2RlZmluZSBHRVRfV0FDUzJfUkRBVEEoeCkgICAgICAgICAgICgoeD4+MCkgICYgMHgwMDAwZmZmZikgICAgICAKKyNkZWZpbmUgR0VUX1dBQ1MyX0ZTTSh4KSAgICAgICAgICAgICAoKHg+PjE2KSAmIDB4MDAwMDAwMDcpICAgICAgCisjZGVmaW5lIEdFVF9XQUNTMl9SRVEoeCkgICAgICAgICAgICAgKCh4Pj4xOSkgJiAweDAwMDAwMDAxKSAgICAgIAorI2RlZmluZSBHRVRfU1lOQ19JRExFMih4KSAgICAgICAgICAgICgoeD4+MjApICYgMHgwMDAwMDAwMSkgICAgICAKKyNkZWZpbmUgR0VUX0lOSVRfRE9ORTIoeCkgICAgICAgICAgICAoKHg+PjIxKSAmIDB4MDAwMDAwMDEpICAgICAgCisKKyNkZWZpbmUgR0VUX1dBQ1NfUkRBVEEoeCkgICAgICAgICAgICAoKHg+PjApICAmIDB4MDAwMGZmZmYpICAgICAgCisjZGVmaW5lIEdFVF9XQUNTX0ZTTSh4KSAgICAgICAgICAgICAgKCh4Pj4xNikgJiAweDAwMDAwMDA3KSAgICAgIAorI2RlZmluZSBHRVRfV0FDU19SRVEoeCkgICAgICAgICAgICAgICgoeD4+MTkpICYgMHgwMDAwMDAwMSkgICAgICAKKyNkZWZpbmUgR0VUX1NZTkNfSURMRSh4KSAgICAgICAgICAgICAoKHg+PjIwKSAmIDB4MDAwMDAwMDEpICAgICAgCisjZGVmaW5lIEdFVF9JTklUX0RPTkUoeCkgICAgICAgICAgICAgKCh4Pj4yMSkgJiAweDAwMDAwMDAxKSAgICAgCisKKyNkZWZpbmUgU1BJX0FVVE9fTU9ERSAgICAgICAgICAgMAorI2RlZmluZSBTUElfTUFOVUFMX01PREUgICAgICAgICAxCisjZGVmaW5lIEhBUkJfSFBSSU9fQUxMICAgICAgICAgIDB4MUZGCisjZGVmaW5lIEhBUkJfSFBSSU9fUlJBUEIgICAgICAgICgxIDw8IDgpCisjZGVmaW5lIEhBUkJfSFBSSU9fUEVSSV9QV1JBUCAgICgxIDw8IDcpCisjZGVmaW5lIEhBUkJfSFBSSU9fU1RBVVBEICAgICAgICgxIDw8IDYpCisjZGVmaW5lIEhBUkJfSFBSSU9fRVJDICAgICAgICAgICgxIDw8IDUpCisjZGVmaW5lIEhBUkJfSFBSSU9fRFZGU0lORiAgICAgICgxIDw8IDQpCisjZGVmaW5lIEhBUkJfSFBSSU9fV0FDUzIgICAgICAgICgxIDw8IDMpCisjZGVmaW5lIEhBUkJfSFBSSU9fV0FDUzEgICAgICAgICgxIDw8IDIpCisjZGVmaW5lIEhBUkJfSFBSSU9fV0FDUzAgICAgICAgICgxIDw8IDEpCisjZGVmaW5lIEhBUkJfSFBSSU9fTURJTkYgICAgICAgICgxIDw8IDApCisKKworLy8gQ3VycmVudCBXUkFQIEZTTSBzdGF0ZXMuCisjZGVmaW5lIFdSQVBfRlNNX0lETEVfU1RBVEUgICAgICAgICAgICAgICAgIDB4MAorI2RlZmluZSBXUkFQX0ZTTV9DU0xfQURSX1NUQVJUX1NUQVRFICAgICAgICAweDIKKyNkZWZpbmUgV1JBUF9GU01fQURSX1NUQVRFICAgICAgICAgICAgICAgICAgMHg0CisjZGVmaW5lIFdSQVBfRlNNX0NTTF9BRFJfRU5EX1NUQVRFICAgICAgICAgIDB4NgorI2RlZmluZSBXUkFQX0ZTTV9DU0hfQURSX1NUQVRFICAgICAgICAgICAgICAweDgKKyNkZWZpbmUgV1JBUF9GU01fQ1NMX0RBVEFfU1RBUlRfU1RBVEUgICAgICAgMHhBCisjZGVmaW5lIFdSQVBfRlNNX0RBVEFfU1RBVEUgICAgICAgICAgICAgICAgIDB4QworI2RlZmluZSBXUkFQX0ZTTV9DU0xfREFUQV9FTkRfU1RBVEUgICAgICAgICAweEUKKyNkZWZpbmUgV1JBUF9GU01fQ1NIX0RBVEFfU1RBVEUgICAgICAgICAgICAgMHhGCisKKyNkZWZpbmUgV0FDU19JTklUX0RPTkVfTk9UX0ZJTklTSEVEICAgICAgICAgMAorI2RlZmluZSBXQUNTX0lOSVRfRE9ORV9GSU5JU0hFRCAgICAgICAgICAgICAxCisKKworI2RlZmluZSBXQUNTX1NZTkNfTU9EVUxFX0JVU1kgICAgICAgICAgICAgICAwCisjZGVmaW5lIFdBQ1NfU1lOQ19NT0RVTEVfSURMRSAgICAgICAgICAgICAgIDEKKworLy8gQ3VycmVudCBXQUNTIEZTTSBzdGF0ZXMuCisjZGVmaW5lIFdBQ1NfRlNNX0lETEVfU1RBVEUgICAgICAgICAgICAgICAgIDB4MAorI2RlZmluZSBXQUNTX0ZTTV9SRVFfU1RBVEUgICAgICAgICAgICAgICAgICAweDIKKyNkZWZpbmUgV0FDU19GU01fV0ZETEVfU1RBVEUgICAgICAgICAgICAgICAgMHg0CisjZGVmaW5lIFdBQ1NfRlNNX1dGVkxEQ0xSX1NUQVRFICAgICAgICAgICAgIDB4NgorCisvLyBDdXJyZW50IE1BTiBGU00gc3RhdGVzLgorI2RlZmluZSBNQU5fRlNNX0lETEVfU1RBVEUgICAgICAgICAgICAgICAgICAweDAKKyNkZWZpbmUgTUFOX0ZTTV9SRVFfU1RBVEUgICAgICAgICAgICAgICAgICAgMHgyCisjZGVmaW5lIE1BTl9GU01fV0ZETEVfU1RBVEUgICAgICAgICAgICAgICAgIDB4NAorI2RlZmluZSBNQU5fRlNNX1dGVkxEQ0xSX1NUQVRFICAgICAgICAgICAgICAweDYKKworLy8gQ3VycmVudCBTVEFVUEQgRlNNIHN0YXRlcy4KKyNkZWZpbmUgU1RBVVBEX0ZTTV9JRExFX1NUQVRFICAgICAgICAgICAgICAgMHgwCisjZGVmaW5lIFNUQVVQRF9GU01fUkVRX1NUQVRFICAgICAgICAgICAgICAgIDB4MgorI2RlZmluZSBTVEFVUERfRlNNX1dGRExFX1NUQVRFICAgICAgICAgICAgICAweDQKKworI2RlZmluZSBERVdfUkVBRF9URVNUX1ZBTFVFICAgICAgICAgICAgICAgICAweDVBQTUKKworLy8tLS0tLW1hY3JvIGZvciBtYW51YWwgY29tbW5kIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjZGVmaW5lIE9QX1dSICAgICgweDEpCisKKyNkZWZpbmUgT1BfQ1NIICAgKDB4MCkKKyNkZWZpbmUgT1BfQ1NMICAgKDB4MSkKKyNkZWZpbmUgT1BfT1VUUyAgKDB4OCkKKyNkZWZpbmUgT1BfT1VURCAgKDB4OSkKKyNkZWZpbmUgT1BfSU5TICAgKDB4QykKKyNkZWZpbmUgT1BfSU5EICAgKDB4RCkKKworICNlbmRpZiAvLyBfX01UNjc1Ml9QTUlDX1dSQVBfSFdfSF9fICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9tdDY1ODlfcG1pY193cmFwX3N3LmggYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL210NjU4OV9wbWljX3dyYXBfc3cuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wM2YxNDMzCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9tdDY1ODlfcG1pY193cmFwX3N3LmgKQEAgLTAsMCArMSwxOTAgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxMgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLiAKKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGaWxlbmFtZToKKyAqIC0tLS0tLS0tLQorICogIG10NjU4OV9wbWljX3dyYXBfc3cuaAorICoKKyAqIFByb2plY3Q6CisgKiAtLS0tLS0tLQorICogIE1hdWlfU29mdHdhcmUKKyAqCisgKiBEZXNjcmlwdGlvbjoKKyAqIC0tLS0tLS0tLS0tLQorICoJVGhpcyBpcyBmb3IgbXQ2NTg5IHBtaWMgd3JhcHBlciBkcml2ZXIgcy93IHVzYWdlCisgKgorICogQXV0aG9yOgorICogLS0tLS0tLQorICogLS0tLS0tLQorICoKKyAqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICogICAgICAgICAgICAgSElTVE9SWQorICogQmVsb3cgdGhpcyBsaW5lLCB0aGlzIHBhcnQgaXMgY29udHJvbGxlZCBieSBQVkNTIFZNLiBETyBOT1QgTU9ESUZZISEKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiBVcHBlciB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZm5kZWYgX19NVDY3NTJfUE1JQ19XUkFQX1NXX0hfXworI2RlZmluZSBfX01UNjU4OV9QTUlDX1dSQVBfU1dfSF9fCisKKyNpbmNsdWRlICJkcnZfY29tbS5oIgorI2RlZmluZSBQTUlDX1dSQVBfUkVBRCAgICAgICAgICAgICAgMAorI2RlZmluZSBQTUlDX1dSQVBfV1JJVEUgICAgICAgICAgICAgMQorCisjZGVmaW5lIFBNSUNfV1JBUF9SRUdfQ0xPQ0tfU0FGRV9NT0RFICAgMAorI2RlZmluZSBQTUlDX1dSQVBfUkVHX0NMT0NLXzE4TUhaICAgICAgIDEKKyNkZWZpbmUgUE1JQ19XUkFQX1JFR19DTE9DS18zNk1IWiAgICAgICAyCisKKyNkZWZpbmUgREVXX1dSSVRFX1RFU1RfVkFMVUUgICAgICAgICAgICAweEE1NUEKKworI2RlZmluZSBQTUlDX1dSQVBfSU5WQUxJRF9SVyAgICAgICAgICAgIDB4MTAKKyNkZWZpbmUgUE1JQ19XUkFQX0lOVkFMSURfQUREUiAgICAgICAgICAweDExCisjZGVmaW5lIFBNSUNfV1JBUF9JTlZBTElEX1dEQVRBICAgICAgICAgMHgxMgorI2RlZmluZSBQTUlDX1dSQVBfSU5WQUxJRF9PUCAgICAgICAgICAgIDB4MTMKKyNkZWZpbmUgUE1JQ19XUkFQX0lOVkFMSURfQVJHVU1FTlQgICAgICAweDE0CisKKyNkZWZpbmUgUE1JQ19XUkFQX0lOSVRfU0lETFlfRkFJTAkJMHgyMAorI2RlZmluZSBQTUlDX1dSQVBfSU5JVF9SRUdfQ0xLX0ZBSUwJCTB4MjEKKyNkZWZpbmUgUE1JQ19XUkFQX0lOSVRfRFVBTF9NT0RFX0ZBSUwJMHgyMgorI2RlZmluZSBQTUlDX1dSQVBfSU5JVF9DSVBIRVJfRkFJTAkJMHgyMworCisjZGVmaW5lIFBNSUNfV1JBUF9OT1RfSU5JVF9ET05FICAgICAgICAgMHgzMAorI2RlZmluZSBQTUlDX1dSQVBfTk9UX0lOSVRfRE9ORV9SRUFEICAgIDB4MzEKKyNkZWZpbmUgUE1JQ19XUkFQX1JFQURfVEVTVF9GQUlMICAgICAgICAweDMyCisjZGVmaW5lIFBNSUNfV1JBUF9XUklURV9URVNUX0ZBSUwgICAgICAgMHgzMworI2RlZmluZSBQTUlDX1dSQVBfU1dJVENIX0RJT19GQUlMICAgICAgIDB4MzQKKyNkZWZpbmUgUE1JQ19XUkFQX1JFQURfRkFJTCAgICAgICAgICAgICAweDM1CisjZGVmaW5lIFBNSUNfV1JBUF9XUklURV9GQUlMICAgICAgICAgICAgMHgzNgorI2RlZmluZSBQTUlDX1dSQVBfREVXX0VWRU5UX1RFU1RfRkFJTCAgIDB4MzcKKyNkZWZpbmUgUE1JQ19XUkFQX01BTlVBTF9NT0RFX05PVF9JRExFICAweDM4CisjZGVmaW5lIFBNSUNfV1JBUF9TVEFVUERfRlNNX05PVF9JRExFICAgMHgzOQorCisKKyNkZWZpbmUgUE1JQ19XUkFQX1RJTUVfT1VUX0ZBSUwgICAgICAgICAweEZGCisKKyNkZWZpbmUgT1BfUkQgICAgICAgKDB4MCkKKyNkZWZpbmUgT1BfV1IgICAgICAgKDB4MSkKKworI2RlZmluZSBPUF9DU0ggICAgICAoMHgwKQorI2RlZmluZSBPUF9DU0wgICAgICAoMHgxKQorI2RlZmluZSBPUF9PVVRTICAgICAoMHg4KQorI2RlZmluZSBPUF9PVVREICAgICAoMHg5KQorI2RlZmluZSBPUF9JTlMgICAgICAoMHhDKQorI2RlZmluZSBPUF9JTkQgICAgICAoMHhEKQorCisjZGVmaW5lIERSVl9Xcml0ZVJlZyhhZGRyLGRhdGEpICAgICAoKCoodm9sYXRpbGUga2FsX3VpbnQxNiAqKShhZGRyKSkgPSAoa2FsX3VpbnQxNikoZGF0YSkpCisjZGVmaW5lIERSVl9SZWcoYWRkcikgICAgICAgICAgICAgICAoKih2b2xhdGlsZSBrYWxfdWludDE2ICopKGFkZHIpKQorI2RlZmluZSBEUlZfV3JpdGVSZWczMihhZGRyLGRhdGEpICAgKCgqKHZvbGF0aWxlIGthbF91aW50MzIgKikoYWRkcikpID0gKGthbF91aW50MzIpKGRhdGEpKQorI2RlZmluZSBEUlZfUmVnMzIoYWRkcikgICAgICAgICAgICAgKCoodm9sYXRpbGUga2FsX3VpbnQzMiAqKShhZGRyKSkKKyNkZWZpbmUgRFJWX1dyaXRlUmVnOChhZGRyLGRhdGEpICAgICgoKih2b2xhdGlsZSBrYWxfdWludDggKikoYWRkcikpID0gKGthbF91aW50OCkoZGF0YSkpCisjZGVmaW5lIERSVl9SZWc4KGFkZHIpICAgICAgICAgICAgICAoKih2b2xhdGlsZSBrYWxfdWludDggKikoYWRkcikpCisKKyNkZWZpbmUgRFJWX0NsZWFyQml0czMyKGFkZHIsZGF0YSkgICAgIHtcCisgICBrYWxfdWludDMyIHRlbXA7XAorICAgdGVtcCA9IERSVl9SZWczMihhZGRyKTtcCisgICB0ZW1wICY9fihkYXRhKTtcCisgICBEUlZfV3JpdGVSZWczMihhZGRyLHRlbXApO1wKK30KKworI2RlZmluZSBEUlZfU2V0Qml0czMyKGFkZHIsZGF0YSkgICAgIHtcCisgICBrYWxfdWludDMyIHRlbXA7XAorICAgdGVtcCA9IERSVl9SZWczMihhZGRyKTtcCisgICB0ZW1wIHw9IChkYXRhKTtcCisgICBEUlZfV3JpdGVSZWczMihhZGRyLHRlbXApO1wKK30KKworI2lmIGRlZmluZWQoX19EUlZfQ09NTV9SRUdfREJHX18pICYmIGRlZmluZWQoX19EUlZfUE1JQ19XUkFQX1JFR19EQkdfXykKKyNkZWZpbmUgUE1JQ19XUkFQX0RSVl9DbGVhckJpdHMxNihhZGRyLGRhdGEpICAgICAgICBEUlZfREJHX0NsZWFyQml0cyhhZGRyLGRhdGEpCisjZGVmaW5lIFBNSUNfV1JBUF9EUlZfU2V0Qml0czE2KGFkZHIpICAgICAgICAgICAgICAgRFJWX0RCR19TZXRCaXRzKGFkZHIpCisjZGVmaW5lIFBNSUNfV1JBUF9EUlZfV3JpdGVSZWcxNihhZGRyLCBkYXRhKSAgICAgICAgRFJWX0RCR19Xcml0ZVJlZyhhZGRyLCBkYXRhKQorI2RlZmluZSBQTUlDX1dSQVBfRFJWX1JlYWRSZWcxNihhZGRyKSAgICAgICAgICAgICAgIERSVl9EQkdfUmVnKGFkZHIpCisjZGVmaW5lIFBNSUNfV1JBUF9EUlZfQ2xlYXJCaXRzMzIoYWRkciwgZGF0YSkgICAgICAgRFJWX0RCR19DbGVhckJpdHMzMihhZGRyLCBkYXRhKQorI2RlZmluZSBQTUlDX1dSQVBfRFJWX1NldEJpdHMzMihhZGRyLCBkYXRhKSAgICAgICAgIERSVl9EQkdfU2V0Qml0czMyKGFkZHIsIGRhdGEpCisjZGVmaW5lIFBNSUNfV1JBUF9EUlZfU2V0RGF0YShhZGRyLCBiaXRtYXNrLCB2YWx1ZSkgICAgIERSVl9TZXREYXRhKGFkZHIsIGJpdG1hc2ssIHZhbHVlKQorI2RlZmluZSBQTUlDX1dSQVBfRFJWX1dyaXRlUmVnMzIoYWRkcixkYXRhKSAgICAgICAgIERSVl9EQkdfV3JpdGVSZWczMihhZGRyLGRhdGEpCisjZGVmaW5lIFBNSUNfV1JBUF9EUlZfUmVnMzIoYWRkcikgICAgICAgICAgICAgICAgICAgRFJWX0RCR19SZWczMihhZGRyKQorI2Vsc2UgLy8gI2lmIGRlZmluZWQoX19EUlZfQ09NTV9SRUdfREJHX18pICYmIGRlZmluZWQoX19EUlZfUlRDX1JFR19EQkdfXykKKyNkZWZpbmUgUE1JQ19XUkFQX0RSVl9DbGVhckJpdHMxNihhZGRyLCBkYXRhKSAgICAgICBEUlZfQ2xlYXJCaXRzKGFkZHIsZGF0YSkKKyNkZWZpbmUgUE1JQ19XUkFQX0RSVl9TZXRCaXRzMTYoYWRkciwgZGF0YSkgICAgICAgICBEUlZfU2V0Qml0cyhhZGRyLGRhdGEpCisjZGVmaW5lIFBNSUNfV1JBUF9EUlZfV3JpdGVSZWcxNihhZGRyLCBkYXRhKSAgICAgICAgRFJWX1dyaXRlUmVnKGFkZHIsIGRhdGEpCisjZGVmaW5lIFBNSUNfV1JBUF9EUlZfUmVhZFJlZzE2KGFkZHIpICAgICAgICAgICAgICAgRFJWX1JlZyhhZGRyKQorI2RlZmluZSBQTUlDX1dSQVBfRFJWX0NsZWFyQml0czMyKGFkZHIsIGRhdGEpICAgICAgIERSVl9DbGVhckJpdHMzMihhZGRyLCBkYXRhKQorI2RlZmluZSBQTUlDX1dSQVBfRFJWX1NldEJpdHMzMihhZGRyLCBkYXRhKSAgICAgICAgIERSVl9TZXRCaXRzMzIoYWRkciwgZGF0YSkKKyNkZWZpbmUgUE1JQ19XUkFQX0RSVl9TZXREYXRhKGFkZHIsIGJpdG1hc2ssIHZhbHVlKSAgICAgRFJWX1NldERhdGEoYWRkciwgYml0bWFzaywgdmFsdWUpCisjZGVmaW5lIFBNSUNfV1JBUF9EUlZfV3JpdGVSZWczMihhZGRyLGRhdGEpICAgICAgICAgRFJWX1dyaXRlUmVnMzIoYWRkcixkYXRhKQorI2RlZmluZSBQTUlDX1dSQVBfRFJWX1JlZzMyKGFkZHIpICAgICAgICAgICAgICAgICAgIERSVl9SZWczMihhZGRyKQorI2VuZGlmIC8vICNpZiBkZWZpbmVkKF9fRFJWX0NPTU1fUkVHX0RCR19fKSAmJiBkZWZpbmVkKF9fRFJWX1JUQ19SRUdfREJHX18pCisKK2thbF91aW50MzIgRHJ2UFdSQVBfSW5pdCh2b2lkKTsKK2thbF91aW50MzIgRHJ2UFdSQVBfV0FDUzJfTm9DaGsoa2FsX3VpbnQzMiB3cml0ZSwga2FsX3VpbnQzMiBhZHIsIGthbF91aW50MzIgd2RhdGEsIGthbF91aW50MzIgKnJkYXRhKTsKKy8va2FsX3VpbnQzMiBEcnZQV1JBUF9XQUNTMChrYWxfdWludDMyIHdyaXRlLCBrYWxfdWludDMyIGFkciwga2FsX3VpbnQzMiB3ZGF0YSwga2FsX3VpbnQzMiAqcmRhdGEpOwora2FsX3VpbnQzMiBEcnZQV1JBUF9XQUNTMChrYWxfdWludDMyIHdyaXRlLCBrYWxfdWludDMyIGFkciwga2FsX3VpbnQzMiB3ZGF0YSwga2FsX3VpbnQxNiAqcmRhdGEpOworLy9rYWxfdWludDMyIERydlBXUkFQX1dBQ1MxKGthbF91aW50MzIgd3JpdGUsIGthbF91aW50MzIgYWRyLCBrYWxfdWludDMyIHdkYXRhLCBrYWxfdWludDMyICpyZGF0YSk7CitrYWxfdWludDMyIERydlBXUkFQX1dBQ1MxKGthbF91aW50MzIgd3JpdGUsIGthbF91aW50MzIgYWRyLCBrYWxfdWludDMyIHdkYXRhLCBrYWxfdWludDE2ICpyZGF0YSk7CitrYWxfdWludDMyIERydlBXUkFQX1dBQ1MyKGthbF91aW50MzIgd3JpdGUsIGthbF91aW50MzIgYWRyLCBrYWxfdWludDMyIHdkYXRhLCBrYWxfdWludDMyICpyZGF0YSk7CitrYWxfdWludDMyIERydlBXUkFQX1dBQ1MzKGthbF91aW50MzIgd3JpdGUsIGthbF91aW50MzIgYWRyLCBrYWxfdWludDMyIHdkYXRhLCBrYWxfdWludDMyICpyZGF0YSk7CitrYWxfdWludDMyIERydlBXUkFQX1dBQ1M0KGthbF91aW50MzIgd3JpdGUsIGthbF91aW50MzIgYWRyLCBrYWxfdWludDMyIHdkYXRhLCBrYWxfdWludDMyICpyZGF0YSk7CitrYWxfdWludDMyIERydlBXUkFQX01hbihrYWxfdWludDMyIHdyaXRlLCBrYWxfdWludDMyIG9wLCBrYWxfdWludDMyIHdkYXRhLCBrYWxfdWludDMyICpyZGF0YSApOwora2FsX3VpbnQzMiBEcnZQV1JBUF9NYW5BY2Nlc3Moa2FsX3VpbnQzMiB3cml0ZSwga2FsX3VpbnQzMiBhZHIsIGthbF91aW50MzIgd2RhdGEsIGthbF91aW50MzIgKnJkYXRhKTsKK2thbF91aW50MzIgRHJ2UFdSQVBfSW5pdERpbyhrYWxfYm9vbCBkaW9fZW4pOwora2FsX3VpbnQzMiBEcnZQV1JBUF9Td2l0Y2hEaW8oa2FsX2Jvb2wgZGlvX2VuKTsKK2thbF91aW50MzIgRHJ2UFdSQVBfSW5pdENJUEhFUih2b2lkKTsKK2thbF91aW50MzIgRHJ2UFdSQVBfRW5hYmxlQ0lQSEVSKHZvaWQpOwora2FsX3VpbnQzMiBEcnZQV1JBUF9EaXNhYmxlQ0lQSEVSKHZvaWQpOwordm9pZCBEcnZQV1JBUF9SZXNldFNQSVNMVih2b2lkKTsKK2thbF91aW50MzIgRHJ2UFdSQVBfRXZlbnRUZXN0KCB2b2lkICk7Cit2b2lkIERydlBXUkFQX1N3aXRjaE11eChrYWxfdWludDggbXV4X3NlbF9uZXcpOwora2FsX3VpbnQzMiBEcnZQV1JBUF9Jbml0U0lETFkodm9pZCk7CitrYWxfdWludDMyIERydlBXUkFQX1N0YVVwZFRyaWcoa2FsX3VpbnQzMiBtb2RlKTsKK3ZvaWQgRHJ2UFdSQVBfQWxpZ25DUkModm9pZCk7CitrYWxfdWludDMyIERydlBXUkFQX0luaXRSZWdDbGsoa2FsX3VpbnQzMiByZWdja19zZWwpOworCit0eXBlZGVmIGthbF91aW50MzIgKCpsb29wX2NvbmRpdGlvbl9mcCkoa2FsX3VpbnQzMik7IC8vIERlZmluZSBhIGZ1bmN0aW9uIHBvaW50ZXIKKworI2VuZGlmIC8vIF9fTVQ2NzUyX1BNSUNfV1JBUF9TV19IX18KZGlmZiAtLWdpdCBhL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvbXQ2NzUyX3BtaWNfd3JhcF9ody5oIGIvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9tdDY3NTJfcG1pY193cmFwX2h3LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjU4OWQ5YgotLS0gL2Rldi9udWxsCisrKyBiL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvbXQ2NzUyX3BtaWNfd3JhcF9ody5oCkBAIC0wLDAgKzEsMzc1IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTQKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4gCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRmlsZW5hbWU6CisgKiAtLS0tLS0tLS0KKyAqICBtdDY3NTJfcG1pY193cmFwX2h3LmgKKyAqCisgKiBQcm9qZWN0OgorICogLS0tLS0tLS0KKyAqICBNYXVpX1NvZnR3YXJlCisgKgorICogRGVzY3JpcHRpb246CisgKiAtLS0tLS0tLS0tLS0KKyAqCVRoaXMgaXMgbXQ2NzUyIHBtaWMgd3JhcHBlciBoL3cgcmVnaXN0ZXIKKyAqCisgKiBBdXRob3I6CisgKiAtLS0tLS0tCisgKiAtLS0tLS0tCisgKgorICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKiAgICAgICAgICAgICBISVNUT1JZCisgKiBCZWxvdyB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiBVcHBlciB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyAKKyNpZm5kZWYgX19NVDY3NTJfUE1JQ19XUkFQX0hXX0hfXworI2RlZmluZSBfX01UNjc1Ml9QTUlDX1dSQVBfSFdfSF9fCisKKyNpZiAhZGVmaW5lZChGUEdBX0NUUCkKKyNpbmNsdWRlICJyZWdfYmFzZS5oIgorCisvKiAKKyNkZWZpbmUgVE9QX0NMT0NLX0NUUkxfQkFTRSAgICAgCQkoQVBfVE9QX0NMT0NLX0NUUkxfQkFTRSkKKyNkZWZpbmUgVE9QUkdVX0JBU0UgICAgICAgICAgICAgCQkoQVBfVE9QUkdVX0JBU0UpCisqLworI2RlZmluZSBQTUlDX1dSQVBfQkFTRQkJCQkJKFBXUkFQX0JBU0UpCisjZGVmaW5lIFBNSUNfV1JBUF9QMlBfQkFTRSAgICAgICAgICAgICAgKDB4QTAwNUUwMDApCisjZWxzZQorI2RlZmluZSBQTUlDX1dSQVBfQkFTRQkJCQkJKDB4MTAwMEQwMDApCisjZGVmaW5lIENLU1lTX0JBU0UgICAgICAgICAgICAgICAgICAgICAgKDB4MTAwMDAwMDApCisjZGVmaW5lIElORlJBQ0ZHX0FPX0JBU0UgICAgICAgICAgICAgICAgKDB4MTAwMDEwMDApCisjZGVmaW5lIFBNSUNfV1JBUF9QMlBfQkFTRSAgICAgICAgICAgICAgKDB4MTAwNUUwMDApCisjZW5kaWYKKworI2RlZmluZSBDTEtfQ0ZHXzVfQ0xSICAgICAgICAgICAgICAgCShDS1NZU19CQVNFICsgMHgwOTgpCisKKyNkZWZpbmUgSU5GUkFfR0xPQkFMQ09OX1JTVDBfU0VUICAgICAgICAoSU5GUkFDRkdfQU9fQkFTRSsweDEyMCkKKyNkZWZpbmUgSU5GUkFfR0xPQkFMQ09OX1JTVDBfQ0xSICAgICAgICAoSU5GUkFDRkdfQU9fQkFTRSsweDEyNCkKKworI2RlZmluZSBQRVJJX0JVU19EQ01fQ1RSTCAgICAgICAgICAgICAgIChJTkZSQUNGR19BT19CQVNFKzB4MDc0KQorI2RlZmluZSBNT0RVTEVfU1dfQ0dfMF9TRVQgICAgICAgICAgICAgIChJTkZSQUNGR19BT19CQVNFKzB4MDgwKQorI2RlZmluZSBNT0RVTEVfU1dfQ0dfMF9DTFIgICAgICAgICAgICAgIChJTkZSQUNGR19BT19CQVNFKzB4MDg0KQorI2RlZmluZSBNT0RVTEVfU1dfQ0dfMF9TVEEgICAgICAgICAgICAgIChJTkZSQUNGR19BT19CQVNFKzB4MDkwKQorCisjZGVmaW5lIFBNSUNfV1JBUF9NVVhfU0VMICAgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4MCkKKyNkZWZpbmUgUE1JQ19XUkFQX1dSQVBfRU4gICAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg0KQorI2RlZmluZSBQTUlDX1dSQVBfRElPX0VOICAgICAgICAgICAgICAgIChQTUlDX1dSQVBfQkFTRSsweDgpCisjZGVmaW5lIFBNSUNfV1JBUF9TSURMWSAgICAgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4QykKKyNkZWZpbmUgUE1JQ19XUkFQX1JERE1ZICAgICAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgxMCkKKyNkZWZpbmUgUE1JQ19XUkFQX1NJX0NLX0NPTiAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgxNCkKKyNkZWZpbmUgUE1JQ19XUkFQX0NTSEVYVF9XUklURSAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgxOCkKKyNkZWZpbmUgUE1JQ19XUkFQX0NTSEVYVF9SRUFEICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgxQykKKyNkZWZpbmUgUE1JQ19XUkFQX0NTTEVYVF9TVEFSVCAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgyMCkKKyNkZWZpbmUgUE1JQ19XUkFQX0NTTEVYVF9FTkQgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgyNCkKKyNkZWZpbmUgUE1JQ19XUkFQX1NUQVVQRF9QUkQgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgyOCkKKyNkZWZpbmUgUE1JQ19XUkFQX1NUQVVQRF9HUlBFTiAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgyQykKKyNkZWZpbmUgUE1JQ19XUkFQX0VJTlRfU1RBMF9BRFIgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgzMCkKKyNkZWZpbmUgUE1JQ19XUkFQX0VJTlRfU1RBMV9BRFIgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgzNCkKKyNkZWZpbmUgUE1JQ19XUkFQX0VJTlRfU1RBICAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgzOCkKKyNkZWZpbmUgUE1JQ19XUkFQX0VJTlRfQ0xSICAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgzQykKKyNkZWZpbmUgUE1JQ19XUkFQX1NUQVVQRF9NQU5fVFJJRyAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg0MCkKKyNkZWZpbmUgUE1JQ19XUkFQX1NUQVVQRF9TVEEgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg0NCkKKyNkZWZpbmUgUE1JQ19XUkFQX1dSQVBfU1RBICAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg0OCkKKyNkZWZpbmUgUE1JQ19XUkFQX0hBUkJfSU5JVCAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg0QykKKyNkZWZpbmUgUE1JQ19XUkFQX0hBUkJfSFBSSU8gICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg1MCkKKyNkZWZpbmUgUE1JQ19XUkFQX0hJUFJJT19BUkJfRU4gICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg1NCkKKyNkZWZpbmUgUE1JQ19XUkFQX0hBUkJfU1RBMCAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg1OCkKKyNkZWZpbmUgUE1JQ19XUkFQX0hBUkJfU1RBMSAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg1QykKKyNkZWZpbmUgUE1JQ19XUkFQX01BTl9FTiAgICAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg2MCkKKyNkZWZpbmUgUE1JQ19XUkFQX01BTl9DTUQgICAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg2NCkKKyNkZWZpbmUgUE1JQ19XUkFQX01BTl9SREFUQSAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg2OCkKKyNkZWZpbmUgUE1JQ19XUkFQX01BTl9WTERDTFIgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg2QykKKyNkZWZpbmUgUE1JQ19XUkFQX1dBQ1MwX0VOICAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg3MCkKKyNkZWZpbmUgUE1JQ19XUkFQX0lOSVRfRE9ORTAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg3NCkKKyNkZWZpbmUgUE1JQ19XUkFQX1dBQ1MwX0NNRCAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg3OCkKKyNkZWZpbmUgUE1JQ19XUkFQX1dBQ1MwX1JEQVRBICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg3QykKKyNkZWZpbmUgUE1JQ19XUkFQX1dBQ1MwX1ZMRENMUiAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg4MCkKKyNkZWZpbmUgUE1JQ19XUkFQX1dBQ1MxX0VOICAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg4NCkKKyNkZWZpbmUgUE1JQ19XUkFQX0lOSVRfRE9ORTEgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg4OCkKKyNkZWZpbmUgUE1JQ19XUkFQX1dBQ1MxX0NNRCAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg4QykKKyNkZWZpbmUgUE1JQ19XUkFQX1dBQ1MxX1JEQVRBICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg5MCkKKyNkZWZpbmUgUE1JQ19XUkFQX1dBQ1MxX1ZMRENMUiAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg5NCkKKyNkZWZpbmUgUE1JQ19XUkFQX1dBQ1MyX0VOICAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg5OCkKKyNkZWZpbmUgUE1JQ19XUkFQX0lOSVRfRE9ORTIgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHg5QykKKyNkZWZpbmUgUE1JQ19XUkFQX1dBQ1MyX0NNRCAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhBMCkKKyNkZWZpbmUgUE1JQ19XUkFQX1dBQ1MyX1JEQVRBICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhBNCkKKyNkZWZpbmUgUE1JQ19XUkFQX1dBQ1MyX1ZMRENMUiAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhBOCkKKyNkZWZpbmUgUE1JQ19XUkFQX0lOVF9FTiAgICAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhBQykKKyNkZWZpbmUgUE1JQ19XUkFQX0lOVF9GTEdfUkFXICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhCMCkKKyNkZWZpbmUgUE1JQ19XUkFQX0lOVF9GTEcgICAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhCNCkKKyNkZWZpbmUgUE1JQ19XUkFQX0lOVF9DTFIgICAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhCOCkKKyNkZWZpbmUgUE1JQ19XUkFQX1NJR19BRFIgICAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhCQykKKyNkZWZpbmUgUE1JQ19XUkFQX1NJR19NT0RFICAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhDMCkKKyNkZWZpbmUgUE1JQ19XUkFQX1NJR19WQUxVRSAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhDNCkKKyNkZWZpbmUgUE1JQ19XUkFQX1NJR19FUlJWQUwgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhDOCkKKyNkZWZpbmUgUE1JQ19XUkFQX0NSQ19FTiAgICAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhDQykKKyNkZWZpbmUgUE1JQ19XUkFQX1RJTUVSX0VOICAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhEMCkKKyNkZWZpbmUgUE1JQ19XUkFQX1RJTUVSX1NUQSAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhENCkKKyNkZWZpbmUgUE1JQ19XUkFQX1dEVF9VTklUICAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhEOCkKKyNkZWZpbmUgUE1JQ19XUkFQX1dEVF9TUkNfRU4gICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhEQykKKyNkZWZpbmUgUE1JQ19XUkFQX1dEVF9GTEcgICAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhFMCkKKyNkZWZpbmUgUE1JQ19XUkFQX0RFQlVHX0lOVF9TRUwgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhFNCkKKyNkZWZpbmUgUE1JQ19XUkFQX0RWRlNfQURSMCAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhFOCkKKyNkZWZpbmUgUE1JQ19XUkFQX0RWRlNfV0RBVEEwICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhFQykKKyNkZWZpbmUgUE1JQ19XUkFQX0RWRlNfQURSMSAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhGMCkKKyNkZWZpbmUgUE1JQ19XUkFQX0RWRlNfV0RBVEExICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhGNCkKKyNkZWZpbmUgUE1JQ19XUkFQX0RWRlNfQURSMiAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhGOCkKKyNkZWZpbmUgUE1JQ19XUkFQX0RWRlNfV0RBVEEyICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHhGQykKKyNkZWZpbmUgUE1JQ19XUkFQX0RWRlNfQURSMyAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgxMDApCisjZGVmaW5lIFBNSUNfV1JBUF9EVkZTX1dEQVRBMyAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4MTA0KQorI2RlZmluZSBQTUlDX1dSQVBfRFZGU19BRFI0ICAgICAgICAgICAgIChQTUlDX1dSQVBfQkFTRSsweDEwOCkKKyNkZWZpbmUgUE1JQ19XUkFQX0RWRlNfV0RBVEE0ICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgxMEMpCisjZGVmaW5lIFBNSUNfV1JBUF9EVkZTX0FEUjUgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4MTEwKQorI2RlZmluZSBQTUlDX1dSQVBfRFZGU19XREFUQTUgICAgICAgICAgIChQTUlDX1dSQVBfQkFTRSsweDExNCkKKyNkZWZpbmUgUE1JQ19XUkFQX0RWRlNfQURSNiAgICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgxMTgpCisjZGVmaW5lIFBNSUNfV1JBUF9EVkZTX1dEQVRBNiAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4MTFDKQorI2RlZmluZSBQTUlDX1dSQVBfRFZGU19BRFI3ICAgICAgICAgICAgIChQTUlDX1dSQVBfQkFTRSsweDEyMCkKKyNkZWZpbmUgUE1JQ19XUkFQX0RWRlNfV0RBVEE3ICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgxMjQpCisjZGVmaW5lIFBNSUNfV1JBUF9TUE1JTkZfU1RBICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4MTI4KQorI2RlZmluZSBQTUlDX1dSQVBfQ0lQSEVSX0tFWV9TRUwgICAgICAgIChQTUlDX1dSQVBfQkFTRSsweDEyQykKKyNkZWZpbmUgUE1JQ19XUkFQX0NJUEhFUl9JVl9TRUwgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgxMzApCisjZGVmaW5lIFBNSUNfV1JBUF9DSVBIRVJfRU4gICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4MTM0KQorI2RlZmluZSBQTUlDX1dSQVBfQ0lQSEVSX1JEWSAgICAgICAgICAgIChQTUlDX1dSQVBfQkFTRSsweDEzOCkKKyNkZWZpbmUgUE1JQ19XUkFQX0NJUEhFUl9NT0RFICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgxM0MpCisjZGVmaW5lIFBNSUNfV1JBUF9DSVBIRVJfU1dSU1QgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4MTQwKQorI2RlZmluZSBQTUlDX1dSQVBfRENNX0VOICAgICAgICAgICAgICAgIChQTUlDX1dSQVBfQkFTRSsweDE0NCkKKyNkZWZpbmUgUE1JQ19XUkFQX0RDTV9EQkNfUFJEICAgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgxNDgpCisjZGVmaW5lIFBNSUNfV1JBUF9FWFRfQ0sgICAgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4MTRDKQorI2RlZmluZSBQTUlDX1dSQVBfQURDX0NNRF9BRERSICAgICAgICAgIChQTUlDX1dSQVBfQkFTRSsweDE1MCkKKyNkZWZpbmUgUE1JQ19XUkFQX1BXUkFQX0FEQ19DTUQgICAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgxNTQpCisjZGVmaW5lIFBNSUNfV1JBUF9BRENfUkRZX0FERFIgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4MTU4KQorI2RlZmluZSBQTUlDX1dSQVBfQURDX1JEQVRBX0FERFIxICAgICAgIChQTUlDX1dSQVBfQkFTRSsweDE1QykKKyNkZWZpbmUgUE1JQ19XUkFQX0FEQ19SREFUQV9BRERSMiAgICAgICAoUE1JQ19XUkFQX0JBU0UrMHgxNjApCisjZGVmaW5lIFBNSUNfV1JBUF9HUFNfU1RBICAgICAgICAgICAgICAgKFBNSUNfV1JBUF9CQVNFKzB4MTY0KQorI2RlZmluZSBQTUlDX1dSQVBfU1dSU1QgICAgICAgICAgICAgICAgIChQTUlDX1dSQVBfQkFTRSsweDE2OCkKKworLy8gQml0IENvbnRyb2wKKyNkZWZpbmUgR0VUX1NUQVVQRF9ETEVfQ05UKHgpICAgICAgICAgICAoKHg+PjApICAmIDB4MDAwMDAwMDcpCisjZGVmaW5lIEdFVF9TVEFVUERfQUxFX0NOVCh4KSAgICAgICAgICAgKCh4Pj4zKSAgJiAweDAwMDAwMDA3KQorI2RlZmluZSBHRVRfU1RBVVBEX0ZTTSh4KSAgICAgICAgICAgICAgICgoeD4+NikgICYgMHgwMDAwMDAwNykKKyNkZWZpbmUgR0VUX1dSQVBfQ0hfRExFX1JFU1RDTlQoeCkgICAgICAoKHg+PjApICAmIDB4MDAwMDAwMDcpCisjZGVmaW5lIEdFVF9XUkFQX0NIX0FMRV9SRVNUQ05UKHgpICAgICAgKCh4Pj4zKSAgJiAweDAwMDAwMDAzKQorI2RlZmluZSBHRVRfV1JBUF9BR19ETEVfUkVTVENOVCh4KSAgICAgICgoeD4+NSkgICYgMHgwMDAwMDAwMykKKyNkZWZpbmUgR0VUX1dSQVBfQ0hfVyh4KSAgICAgICAgICAgICAgICAoKHg+PjcpICAmIDB4MDAwMDAwMDEpCisjZGVmaW5lIEdFVF9XUkFQX0NIX1JFUSh4KSAgICAgICAgICAgICAgKCh4Pj44KSAgJiAweDAwMDAwMDAxKQorI2RlZmluZSBHRVRfQUdfV1JBUF9XKHgpICAgICAgICAgICAgICAgICgoeD4+OSkgICYgMHgwMDAwMDAwMSkKKyNkZWZpbmUgR0VUX0FHX1dSQVBfUkVRKHgpICAgICAgICAgICAgICAoKHg+PjEwKSAmIDB4MDAwMDAwMDEpCisjZGVmaW5lIEdFVF9XUkFQX0ZTTSh4KSAgICAgICAgICAgICAgICAgKCh4Pj4xMSkgJiAweDAwMDAwMDBmKQorI2RlZmluZSBHRVRfSEFSQl9XUkFQX1dEQVRBKHgpICAgICAgICAgICgoeD4+MCkgICYgMHgwMDAwZmZmZikKKyNkZWZpbmUgR0VUX0hBUkJfV1JBUF9BRFIoeCkgICAgICAgICAgICAoKHg+PjE2KSAmIDB4MDAwMDdmZmYpCisjZGVmaW5lIEdFVF9IQVJCX1dSQVBfUkVRKHgpICAgICAgICAgICAgKCh4Pj4zMSkgJiAweDAwMDAwMDAxKQorI2RlZmluZSBHRVRfSEFSQl9ETEVfRU1QVFkoeCkgICAgICAgICAgICgoeD4+MCkgICYgMHgwMDAwMDAwMSkKKyNkZWZpbmUgR0VUX0hBUkJfRExFX0ZVTEwoeCkgICAgICAgICAgICAoKHg+PjEpICAmIDB4MDAwMDAwMDEpCisjZGVmaW5lIEdFVF9IQVJCX1ZMRCh4KSAgICAgICAgICAgICAgICAgKCh4Pj4yKSAgJiAweDAwMDAwMDAxKQorI2RlZmluZSBHRVRfSEFSQl9ETEVfT1dOKHgpICAgICAgICAgICAgICgoeD4+MykgICYgMHgwMDAwMDAwNykKKyNkZWZpbmUgR0VUX0hBUkJfT1dOKHgpICAgICAgICAgICAgICAgICAoKHg+PjYpICAmIDB4MDAwMDAwMDcpCisjZGVmaW5lIEdFVF9IQVJCX0RMRV9SRVNUQ05UKHgpICAgICAgICAgKCh4Pj45KSAgJiAweDAwMDAwMDA3KQorI2RlZmluZSBHRVRfQUdfSEFSQl9SRVEoeCkgICAgICAgICAgICAgICgoeD4+MTIpICYgMHgwMDAwMDBmZikKKyNkZWZpbmUgR0VUX0hBUkJfV1JBUF9XKHgpICAgICAgICAgICAgICAoKHg+PjIwKSAmIDB4MDAwMDAwMDEpCisjZGVmaW5lIEdFVF9IQVJCX1dSQVBfUkVRMCh4KSAgICAgICAgICAgKCh4Pj4yMSkgJiAweDAwMDAwMDAxKQorI2RlZmluZSBHRVRfU1BJX1dEQVRBKHgpICAgICAgICAgICAgICAgICgoeD4+MCkgICYgMHgwMDAwMDBmZikKKyNkZWZpbmUgR0VUX1NQSV9PUCh4KSAgICAgICAgICAgICAgICAgICAoKHg+PjgpICAmIDB4MDAwMDAwMWYpCisjZGVmaW5lIEdFVF9TUElfVyh4KSAgICAgICAgICAgICAgICAgICAgKCh4Pj4xMykgJiAweDAwMDAwMDAxKQorI2RlZmluZSBHRVRfTUFOX1JEQVRBKHgpICAgICAgICAgICAgICAgICgoeD4+MCkgICYgMHgwMDAwMDBmZikKKyNkZWZpbmUgR0VUX01BTl9GU00oeCkgICAgICAgICAgICAgICAgICAoKHg+PjgpICAmIDB4MDAwMDAwMDcpCisjZGVmaW5lIEdFVF9NQU5fUkVRKHgpICAgICAgICAgICAgICAgICAgKCh4Pj4xMSkgJiAweDAwMDAwMDAxKQorI2RlZmluZSBHRVRfV0FDUzBfV0RBVEEoeCkgICAgICAgICAgICAgICgoeD4+MCkgICYgMHgwMDAwZmZmZikKKyNkZWZpbmUgR0VUX1dBQ1MwX0FEUih4KSAgICAgICAgICAgICAgICAoKHg+PjE2KSAmIDB4MDAwMDdmZmYpCisjZGVmaW5lIEdFVF9XQUNTMF9XUklURSh4KSAgICAgICAgICAgICAgKCh4Pj4zMSkgJiAweDAwMDAwMDAxKQorI2RlZmluZSBHRVRfV0FDUzBfUkRBVEEoeCkgICAgICAgICAgICAgICgoeD4+MCkgICYgMHgwMDAwZmZmZikKKyNkZWZpbmUgR0VUX1dBQ1MwX0ZTTSh4KSAgICAgICAgICAgICAgICAoKHg+PjE2KSAmIDB4MDAwMDAwMDcpCisjZGVmaW5lIEdFVF9XQUNTMF9SRVEoeCkgICAgICAgICAgICAgICAgKCh4Pj4xOSkgJiAweDAwMDAwMDAxKQorI2RlZmluZSBHRVRfU1lOQ19JRExFMCh4KSAgICAgICAgICAgICAgICgoeD4+MjApICYgMHgwMDAwMDAwMSkKKyNkZWZpbmUgR0VUX0lOSVRfRE9ORTAoeCkgICAgICAgICAgICAgICAoKHg+PjIxKSAmIDB4MDAwMDAwMDEpCisjZGVmaW5lIEdFVF9TWVNfSURMRTAoeCkgICAgICAgICAgICAgICAgKCh4Pj4yMikgJiAweDAwMDAwMDAxKQorI2RlZmluZSBHRVRfV0FDUzBfRklGT19GSUxMQ05UKHgpICAgICAgICgoeD4+MjQpICYgMHgwMDAwMDAwZikKKyNkZWZpbmUgR0VUX1dBQ1MwX0ZJRk9fRlJFRUNOVCh4KSAgICAgICAoKHg+PjI4KSAmIDB4MDAwMDAwMGYpCisjZGVmaW5lIEdFVF9XQUNTMV9XREFUQSh4KSAgICAgICAgICAgICAgKCh4Pj4wKSAgJiAweDAwMDBmZmZmKQorI2RlZmluZSBHRVRfV0FDUzFfQURSKHgpICAgICAgICAgICAgICAgICgoeD4+MTYpICYgMHgwMDAwN2ZmZikKKyNkZWZpbmUgR0VUX1dBQ1MxX1dSSVRFKHgpICAgICAgICAgICAgICAoKHg+PjMxKSAmIDB4MDAwMDAwMDEpCisjZGVmaW5lIEdFVF9XQUNTMV9SREFUQSh4KSAgICAgICAgICAgICAgKCh4Pj4wKSAgJiAweDAwMDBmZmZmKQorI2RlZmluZSBHRVRfV0FDUzFfRlNNKHgpICAgICAgICAgICAgICAgICgoeD4+MTYpICYgMHgwMDAwMDAwNykKKyNkZWZpbmUgR0VUX1dBQ1MxX1JFUSh4KSAgICAgICAgICAgICAgICAoKHg+PjE5KSAmIDB4MDAwMDAwMDEpCisjZGVmaW5lIEdFVF9TWU5DX0lETEUxKHgpICAgICAgICAgICAgICAgKCh4Pj4yMCkgJiAweDAwMDAwMDAxKQorI2RlZmluZSBHRVRfSU5JVF9ET05FMSh4KSAgICAgICAgICAgICAgICgoeD4+MjEpICYgMHgwMDAwMDAwMSkKKyNkZWZpbmUgR0VUX1NZU19JRExFMSh4KSAgICAgICAgICAgICAgICAoKHg+PjIyKSAmIDB4MDAwMDAwMDEpCisjZGVmaW5lIEdFVF9XQUNTMV9GSUZPX0ZJTExDTlQoeCkgICAgICAgKCh4Pj4yNCkgJiAweDAwMDAwMDBmKQorI2RlZmluZSBHRVRfV0FDUzFfRklGT19GUkVFQ05UKHgpICAgICAgICgoeD4+MjgpICYgMHgwMDAwMDAwZikKKyNkZWZpbmUgR0VUX1dBQ1MyX1dEQVRBKHgpICAgICAgICAgICAgICAoKHg+PjApICAmIDB4MDAwMGZmZmYpCisjZGVmaW5lIEdFVF9XQUNTMl9BRFIoeCkgICAgICAgICAgICAgICAgKCh4Pj4xNikgJiAweDAwMDA3ZmZmKQorI2RlZmluZSBHRVRfV0FDUzJfV1JJVEUoeCkgICAgICAgICAgICAgICgoeD4+MzEpICYgMHgwMDAwMDAwMSkKKyNkZWZpbmUgR0VUX1dBQ1MyX1JEQVRBKHgpICAgICAgICAgICAgICAoKHg+PjApICAmIDB4MDAwMGZmZmYpCisjZGVmaW5lIEdFVF9XQUNTMl9GU00oeCkgICAgICAgICAgICAgICAgKCh4Pj4xNikgJiAweDAwMDAwMDA3KQorI2RlZmluZSBHRVRfV0FDUzJfUkVRKHgpICAgICAgICAgICAgICAgICgoeD4+MTkpICYgMHgwMDAwMDAwMSkKKyNkZWZpbmUgR0VUX1NZTkNfSURMRTIoeCkgICAgICAgICAgICAgICAoKHg+PjIwKSAmIDB4MDAwMDAwMDEpCisjZGVmaW5lIEdFVF9JTklUX0RPTkUyKHgpICAgICAgICAgICAgICAgKCh4Pj4yMSkgJiAweDAwMDAwMDAxKQorI2RlZmluZSBHRVRfU1lTX0lETEUyKHgpICAgICAgICAgICAgICAgICgoeD4+MjIpICYgMHgwMDAwMDAwMSkKKyNkZWZpbmUgR0VUX1dBQ1MyX0ZJRk9fRklMTENOVCh4KSAgICAgICAoKHg+PjI0KSAmIDB4MDAwMDAwMGYpCisjZGVmaW5lIEdFVF9XQUNTMl9GSUZPX0ZSRUVDTlQoeCkgICAgICAgKCh4Pj4yOCkgJiAweDAwMDAwMDBmKQorI2RlZmluZSBHRVRfUFdSQVBfR1BTX0FDSyh4KSAgICAgICAgICAgICgoeD4+MCkgICYgMHgwMDAwMDAwMSkKKyNkZWZpbmUgR0VUX0dQU19QV1JBUF9SRVEoeCkgICAgICAgICAgICAoKHg+PjEpICAmIDB4MDAwMDAwMDEpCisjZGVmaW5lIEdFVF9HUFNJTkZfRExFX0NOVCh4KSAgICAgICAgICAgKCh4Pj40KSAgJiAweDAwMDAwMDAzKQorI2RlZmluZSBHRVRfR1BTSU5GX0FMRV9DTlQoeCkgICAgICAgICAgICgoeD4+NikgICYgMHgwMDAwMDAwMykKKyNkZWZpbmUgR0VUX0dQU19JTkZfRlNNKHgpICAgICAgICAgICAgICAoKHg+PjgpICAmIDB4MDAwMDAwMDcpCisjZGVmaW5lIEdFVF9QV1JBUF9HUFNfV0RBVEEoeCkgICAgICAgICAgKCh4Pj4xNSkgJiAweDAwMDFmZmZmKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorI2RlZmluZSBHRVRfV0FDU19SREFUQSh4KSAgICAgICAgICAgICAgICgoeD4+MCkgICYgMHgwMDAwZmZmZikgICAgICAKKyNkZWZpbmUgR0VUX1dBQ1NfRlNNKHgpICAgICAgICAgICAgICAgICAoKHg+PjE2KSAmIDB4MDAwMDAwMDcpICAgICAgCisjZGVmaW5lIEdFVF9XQUNTX1JFUSh4KSAgICAgICAgICAgICAgICAgKCh4Pj4xOSkgJiAweDAwMDAwMDAxKSAgICAgIAorI2RlZmluZSBHRVRfU1lOQ19JRExFKHgpICAgICAgICAgICAgICAgICgoeD4+MjApICYgMHgwMDAwMDAwMSkgICAgICAKKyNkZWZpbmUgR0VUX0lOSVRfRE9ORSh4KSAgICAgICAgICAgICAgICAoKHg+PjIxKSAmIDB4MDAwMDAwMDEpICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworLy8gRm9yIFAyUAorI2RlZmluZSBQTUlDX1dSQVBfUDJQX1dBQ1NfUDJQX0VOICAgICAgIChQTUlDX1dSQVBfUDJQX0JBU0UrMHgyMDApCisjZGVmaW5lIFBNSUNfV1JBUF9QMlBfSU5JVF9ET05FX1AyUCAgICAgKFBNSUNfV1JBUF9QMlBfQkFTRSsweDIwNCkKKyNkZWZpbmUgUE1JQ19XUkFQX1AyUF9XQUNTX1AyUF9DTUQgICAgICAoUE1JQ19XUkFQX1AyUF9CQVNFKzB4MjA4KQorI2RlZmluZSBQTUlDX1dSQVBfUDJQX1dBQ1NfUDJQX1JEQVRBICAgIChQTUlDX1dSQVBfUDJQX0JBU0UrMHgyMEMpCisjZGVmaW5lIFBNSUNfV1JBUF9QMlBfV0FDU19QMlBfVkxEQ0xSICAgKFBNSUNfV1JBUF9QMlBfQkFTRSsweDIxMCkKKworI2RlZmluZSBHRVRfV0FDU19QMlBfV0RBVEEoeCkgICAgICAgICAgICgoeD4+MCkgICYgMHgwMDAwZmZmZikKKyNkZWZpbmUgR0VUX1dBQ1NfUDJQX0FEUih4KSAgICAgICAgICAgICAoKHg+PjE2KSAmIDB4MDAwMDdmZmYpCisjZGVmaW5lIEdFVF9XQUNTX1AyUF9XUklURSh4KSAgICAgICAgICAgKCh4Pj4zMSkgJiAweDAwMDAwMDAxKQorI2RlZmluZSBHRVRfV0FDU19QMlBfUkRBVEEoeCkgICAgICAgICAgICgoeD4+MCkgICYgMHgwMDAwZmZmZikKKyNkZWZpbmUgR0VUX1dBQ1NfUDJQX0ZTTSh4KSAgICAgICAgICAgICAoKHg+PjE2KSAmIDB4MDAwMDAwMDcpCisjZGVmaW5lIEdFVF9XQUNTX1AyUF9SRVEoeCkgICAgICAgICAgICAgKCh4Pj4xOSkgJiAweDAwMDAwMDAxKQorI2RlZmluZSBHRVRfU1lOQ19JRExFX1AyUCh4KSAgICAgICAgICAgICgoeD4+MjApICYgMHgwMDAwMDAwMSkKKyNkZWZpbmUgR0VUX0lOSVRfRE9ORV9QMlAoeCkgICAgICAgICAgICAoKHg+PjIxKSAmIDB4MDAwMDAwMDEpCisjZGVmaW5lIEdFVF9TWVNfSURMRV9QMlAoeCkgICAgICAgICAgICAgKCh4Pj4yMikgJiAweDAwMDAwMDAxKQorI2RlZmluZSBHRVRfV0FDU19QMlBfRklGT19GSUxMQ05UKHgpICAgICgoeD4+MjQpICYgMHgwMDAwMDAwZikKKyNkZWZpbmUgR0VUX1dBQ1NfUDJQX0ZJRk9fRlJFRUNOVCh4KSAgICAoKHg+PjI4KSAmIDB4MDAwMDAwMGYpCisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKworI2RlZmluZSBTUElfQVVUT19NT0RFICAgICAgICAgICAwCisjZGVmaW5lIFNQSV9NQU5VQUxfTU9ERSAgICAgICAgIDEKKworI2RlZmluZSBIQVJCX0hQUklPX0FMTCAgICAgICAgICAweEZGCisvKgorWzddOiBXQUNTX1AyUCAoTUQzMiBTVykKK1s2XTogR1BTSU5GCitbNV06IFNUQVVQRAorWzRdOiBXQUNTMiAoQVAgU1cpCitbM106IFdBQ1MxIChNRDIgU1cpCitbMl06IERWRlNJTkYKK1sxXTogV0FDUzAgKE1EMSBTVykKK1swXTogTURJTkYKKyovCisjZGVmaW5lIEhBUkJfSFBSSU9fV0FDU1AyUCAgICAgICgxIDw8IDcpCisjZGVmaW5lIEhBUkJfSFBSSU9fR1BTSU5GICAgICAgICgxIDw8IDYpCisjZGVmaW5lIEhBUkJfSFBSSU9fU1RBVVBEICAgICAgICgxIDw8IDUpCisjZGVmaW5lIEhBUkJfSFBSSU9fV0FDUzIgICAgICAgICgxIDw8IDQpCisjZGVmaW5lIEhBUkJfSFBSSU9fV0FDUzEgICAgICAgICgxIDw8IDMpCisjZGVmaW5lIEhBUkJfSFBSSU9fRFZGU0lORiAgICAgICgxIDw8IDIpCisjZGVmaW5lIEhBUkJfSFBSSU9fV0FDUzAgICAgICAgICgxIDw8IDEpCisjZGVmaW5lIEhBUkJfSFBSSU9fTURJTkYgICAgICAgICgxIDw8IDApCisKKy8vIEN1cnJlbnQgV1JBUCBGU00gc3RhdGVzLgorI2RlZmluZSBXUkFQX0ZTTV9JRExFX1NUQVRFICAgICAgICAgICAgICAgICAweDAKKyNkZWZpbmUgV1JBUF9GU01fQ1NMX0FEUl9TVEFSVF9TVEFURSAgICAgICAgMHgyCisjZGVmaW5lIFdSQVBfRlNNX0FEUl9TVEFURSAgICAgICAgICAgICAgICAgIDB4NAorI2RlZmluZSBXUkFQX0ZTTV9DU0xfQURSX0VORF9TVEFURSAgICAgICAgICAweDYKKyNkZWZpbmUgV1JBUF9GU01fQ1NIX0FEUl9TVEFURSAgICAgICAgICAgICAgMHg4CisjZGVmaW5lIFdSQVBfRlNNX0NTTF9EQVRBX1NUQVJUX1NUQVRFICAgICAgIDB4QQorI2RlZmluZSBXUkFQX0ZTTV9EQVRBX1NUQVRFICAgICAgICAgICAgICAgICAweEMKKyNkZWZpbmUgV1JBUF9GU01fQ1NMX0RBVEFfRU5EX1NUQVRFICAgICAgICAgMHhFCisjZGVmaW5lIFdSQVBfRlNNX0NTSF9EQVRBX1NUQVRFICAgICAgICAgICAgIDB4RgorCisjZGVmaW5lIFdBQ1NfSU5JVF9ET05FX05PVF9GSU5JU0hFRCAgICAgICAgIDAKKyNkZWZpbmUgV0FDU19JTklUX0RPTkVfRklOSVNIRUQgICAgICAgICAgICAgMQorCisjZGVmaW5lIFdBQ1NfU1lOQ19NT0RVTEVfQlVTWSAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgV0FDU19TWU5DX01PRFVMRV9JRExFICAgICAgICAgICAgICAgMQorCisvLyBDdXJyZW50IFdBQ1MgRlNNIHN0YXRlcy4KKyNkZWZpbmUgV0FDU19GU01fSURMRV9TVEFURSAgICAgICAgICAgICAgICAgMHgwCisjZGVmaW5lIFdBQ1NfRlNNX1JFUV9TVEFURSAgICAgICAgICAgICAgICAgIDB4MgorI2RlZmluZSBXQUNTX0ZTTV9XRkRMRV9TVEFURSAgICAgICAgICAgICAgICAweDQKKyNkZWZpbmUgV0FDU19GU01fV0ZWTERDTFJfU1RBVEUgICAgICAgICAgICAgMHg2CisKKy8vIEN1cnJlbnQgTUFOIEZTTSBzdGF0ZXMuCisjZGVmaW5lIE1BTl9GU01fSURMRV9TVEFURSAgICAgICAgICAgICAgICAgIDB4MAorI2RlZmluZSBNQU5fRlNNX1JFUV9TVEFURSAgICAgICAgICAgICAgICAgICAweDIKKyNkZWZpbmUgTUFOX0ZTTV9XRkRMRV9TVEFURSAgICAgICAgICAgICAgICAgMHg0CisjZGVmaW5lIE1BTl9GU01fV0ZWTERDTFJfU1RBVEUgICAgICAgICAgICAgIDB4NgorCisvLyBDdXJyZW50IFNUQVVQRCBGU00gc3RhdGVzLgorI2RlZmluZSBTVEFVUERfRlNNX0lETEVfU1RBVEUgICAgICAgICAgICAgICAweDAKKyNkZWZpbmUgU1RBVVBEX0ZTTV9SRVFfU1RBVEUgICAgICAgICAgICAgICAgMHgyCisjZGVmaW5lIFNUQVVQRF9GU01fV0ZETEVfU1RBVEUgICAgICAgICAgICAgIDB4NAorCisjZGVmaW5lIE1UNjMzMV9ERVdfUkVBRF9URVNUX1ZBTFVFICAgICAgICAgICAgICAgICAweDVBQTUKKyNkZWZpbmUgTVQ2MzMyX0RFV19SRUFEX1RFU1RfVkFMVUUgICAgICAgICAgICAgICAgIDB4QTU1QQorCisvLy0tLS0tbWFjcm8gZm9yIG1hbnVhbCBjb21tbmQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy8vIEZyb20gcGFyX3NwaV9tYW4uaAorI2RlZmluZSBPUF9XUiAgICAoMHgxKQorI2RlZmluZSBPUF9SRCAgICAoMHgwKQorCisjZGVmaW5lIE9QX0NTSCAgICgweDApCisjZGVmaW5lIE9QX0NTTCAgICgweDEpCisjZGVmaW5lIE9QX0NLICAgICgweDIpCisKKyNkZWZpbmUgT1BfT1VUUyAgKDB4OCkKKyNkZWZpbmUgT1BfT1VURCAgKDB4OSkKKyNkZWZpbmUgT1BfT1VUUSAgKDB4QSkKKworI2RlZmluZSBPUF9JTlMgICAoMHhDKQorI2RlZmluZSBPUF9JTkQgICAoMHhEKQorI2RlZmluZSBPUF9JTlEgICAoMHhFKQorCisjZGVmaW5lIE9QX09TMklTICgweDEwKQorI2RlZmluZSBPUF9PUzJJRCAoMHgxMSkKKyNkZWZpbmUgT1BfT1MySVEgKDB4MTIpCisjZGVmaW5lIE9QX09EMklTICgweDEzKQorI2RlZmluZSBPUF9PRDJJRCAoMHgxNCkKKyNkZWZpbmUgT1BfT0QySVEgKDB4MTUpCisjZGVmaW5lIE9QX09RMklTICgweDE2KQorI2RlZmluZSBPUF9PUTJJRCAoMHgxNykKKyNkZWZpbmUgT1BfT1EySVEgKDB4MTgpCisKKyNkZWZpbmUgT1BfT1NOSVMgKDB4MTkpCisjZGVmaW5lIE9QX09ETklEICgweDFBKQorCisgI2VuZGlmIC8vIF9fTVQ2NzUyX1BNSUNfV1JBUF9IV19IX18gICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCmRpZmYgLS1naXQgYS9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL210Njc1Ml9wbWljX3dyYXBfc3cuaCBiL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvbXQ2NzUyX3BtaWNfd3JhcF9zdy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZhOThlNzAKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL210Njc1Ml9wbWljX3dyYXBfc3cuaApAQCAtMCwwICsxLDE5NCBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE0CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuIAorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZpbGVuYW1lOgorICogLS0tLS0tLS0tCisgKiAgbXQ2NzUyX3BtaWNfd3JhcF9zdy5oCisgKgorICogUHJvamVjdDoKKyAqIC0tLS0tLS0tCisgKiAgTWF1aV9Tb2Z0d2FyZQorICoKKyAqIERlc2NyaXB0aW9uOgorICogLS0tLS0tLS0tLS0tCisgKglUaGlzIGlzIGZvciBtdDY3NTIgcG1pYyB3cmFwcGVyIGRyaXZlciBzL3cgdXNhZ2UKKyAqCisgKiBBdXRob3I6CisgKiAtLS0tLS0tCisgKiAtLS0tLS0tCisgKgorICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKiAgICAgICAgICAgICBISVNUT1JZCisgKiBCZWxvdyB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiBVcHBlciB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZm5kZWYgX19NVDY3NTJfUE1JQ19XUkFQX1NXX0hfXworI2RlZmluZSBfX01UNjc1Ml9QTUlDX1dSQVBfU1dfSF9fCisKKyNpbmNsdWRlICJkcnZfY29tbS5oIgorI2RlZmluZSBQTUlDX1dSQVBfUkVBRCAgICAgICAgICAgICAgMAorI2RlZmluZSBQTUlDX1dSQVBfV1JJVEUgICAgICAgICAgICAgMQorCisjZGVmaW5lIFBNSUNfV1JBUF9SRUdfQ0xPQ0tfU0FGRV9NT0RFICAgMAorCisjZGVmaW5lIFBNSUNfV1JBUF9SRUdfQ0xPQ0tfMThNSFogICAgICAgMQorCisjZGVmaW5lIE1UNjMyNV9ERVdfV1JJVEVfVEVTVF9WQUxVRSAgICAgMHhBNTVBCisjZGVmaW5lIE1UNjMyNV9ERVdfUkVBRF9URVNUX1ZBTFVFICAgICAgMHg1QUE1CisKKyNkZWZpbmUgUE1JQ19XUkFQX0lOVkFMSURfUlcgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxMAorI2RlZmluZSBQTUlDX1dSQVBfSU5WQUxJRF9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAweDExCisjZGVmaW5lIFBNSUNfV1JBUF9JTlZBTElEX1dEQVRBICAgICAgICAgICAgICAgICAgICAgICAgIDB4MTIKKyNkZWZpbmUgUE1JQ19XUkFQX0lOVkFMSURfT1AgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxMworI2RlZmluZSBQTUlDX1dSQVBfSU5WQUxJRF9BUkdVTUVOVCAgICAgICAgICAgICAgICAgICAgICAweDE0CisjZGVmaW5lIFBNSUNfV1JBUF9OT1RfU1VQUE9SVF9NQU5VQUxfQUNDRVNTX1RPX1BNSUNfMiAgIDB4MTUKKworI2RlZmluZSBQTUlDX1dSQVBfSU5JVF9TSURMWV9GQUlMCSAgICAweDIwCisjZGVmaW5lIFBNSUNfV1JBUF9JTklUX1JFR19DTEtfRkFJTAkgICAgMHgyMQorI2RlZmluZSBQTUlDX1dSQVBfSU5JVF9EVUFMX01PREVfRkFJTAkweDIyCisjZGVmaW5lIFBNSUNfV1JBUF9JTklUX0NJUEhFUl9GQUlMCSAgICAweDIzCisKKyNkZWZpbmUgUE1JQ19XUkFQX05PVF9JTklUX0RPTkUgICAgICAgICAweDMwCisjZGVmaW5lIFBNSUNfV1JBUF9OT1RfSU5JVF9ET05FX1JFQUQgICAgMHgzMQorI2RlZmluZSBQTUlDX1dSQVBfUkVBRF9URVNUX0ZBSUwgICAgICAgIDB4MzIKKyNkZWZpbmUgUE1JQ19XUkFQX1dSSVRFX1RFU1RfRkFJTCAgICAgICAweDMzCisjZGVmaW5lIFBNSUNfV1JBUF9TV0lUQ0hfRElPX0ZBSUwgICAgICAgMHgzNAorI2RlZmluZSBQTUlDX1dSQVBfUkVBRF9GQUlMICAgICAgICAgICAgIDB4MzUKKyNkZWZpbmUgUE1JQ19XUkFQX1dSSVRFX0ZBSUwgICAgICAgICAgICAweDM2CisjZGVmaW5lIFBNSUNfV1JBUF9ERVdfRVZFTlRfVEVTVF9GQUlMICAgMHgzNworI2RlZmluZSBQTUlDX1dSQVBfTUFOVUFMX01PREVfTk9UX0lETEUgIDB4MzgKKyNkZWZpbmUgUE1JQ19XUkFQX1NUQVVQRF9GU01fTk9UX0lETEUgICAweDM5CisKKworI2RlZmluZSBQTUlDX1dSQVBfVElNRV9PVVRfRkFJTCAgICAgICAgIDB4RkYKKworI2RlZmluZSBPUF9SRCAgICAgICAoMHgwKQorI2RlZmluZSBPUF9XUiAgICAgICAoMHgxKQorCisjZGVmaW5lIE9QX0NTSCAgICAgICgweDApCisjZGVmaW5lIE9QX0NTTCAgICAgICgweDEpCisjZGVmaW5lIE9QX0NLICAgICAgICgweDIpCisjZGVmaW5lIE9QX09VVFMgICAgICgweDgpCisjZGVmaW5lIE9QX09VVEQgICAgICgweDkpCisjZGVmaW5lIE9QX0lOUyAgICAgICgweEMpCisjZGVmaW5lIE9QX0lORCAgICAgICgweEQpCisKKyNkZWZpbmUgRFJWX1dyaXRlUmVnKGFkZHIsZGF0YSkgICAgICgoKih2b2xhdGlsZSBrYWxfdWludDE2ICopKGFkZHIpKSA9IChrYWxfdWludDE2KShkYXRhKSkKKyNkZWZpbmUgRFJWX1JlZyhhZGRyKSAgICAgICAgICAgICAgICgqKHZvbGF0aWxlIGthbF91aW50MTYgKikoYWRkcikpCisjZGVmaW5lIERSVl9Xcml0ZVJlZzMyKGFkZHIsZGF0YSkgICAoKCoodm9sYXRpbGUga2FsX3VpbnQzMiAqKShhZGRyKSkgPSAoa2FsX3VpbnQzMikoZGF0YSkpCisjZGVmaW5lIERSVl9SZWczMihhZGRyKSAgICAgICAgICAgICAoKih2b2xhdGlsZSBrYWxfdWludDMyICopKGFkZHIpKQorI2RlZmluZSBEUlZfV3JpdGVSZWc4KGFkZHIsZGF0YSkgICAgKCgqKHZvbGF0aWxlIGthbF91aW50OCAqKShhZGRyKSkgPSAoa2FsX3VpbnQ4KShkYXRhKSkKKyNkZWZpbmUgRFJWX1JlZzgoYWRkcikgICAgICAgICAgICAgICgqKHZvbGF0aWxlIGthbF91aW50OCAqKShhZGRyKSkKKworI2RlZmluZSBEUlZfQ2xlYXJCaXRzMzIoYWRkcixkYXRhKSAgICAge1wKKyAgIGthbF91aW50MzIgdGVtcDtcCisgICB0ZW1wID0gRFJWX1JlZzMyKGFkZHIpO1wKKyAgIHRlbXAgJj1+KGRhdGEpO1wKKyAgIERSVl9Xcml0ZVJlZzMyKGFkZHIsdGVtcCk7XAorfQorCisjZGVmaW5lIERSVl9TZXRCaXRzMzIoYWRkcixkYXRhKSAgICAge1wKKyAgIGthbF91aW50MzIgdGVtcDtcCisgICB0ZW1wID0gRFJWX1JlZzMyKGFkZHIpO1wKKyAgIHRlbXAgfD0gKGRhdGEpO1wKKyAgIERSVl9Xcml0ZVJlZzMyKGFkZHIsdGVtcCk7XAorfQorCisjaWYgZGVmaW5lZChfX0RSVl9DT01NX1JFR19EQkdfXykgJiYgZGVmaW5lZChfX0RSVl9QTUlDX1dSQVBfUkVHX0RCR19fKQorI2RlZmluZSBQTUlDX1dSQVBfRFJWX0NsZWFyQml0czE2KGFkZHIsZGF0YSkgICAgICAgIERSVl9EQkdfQ2xlYXJCaXRzKGFkZHIsZGF0YSkKKyNkZWZpbmUgUE1JQ19XUkFQX0RSVl9TZXRCaXRzMTYoYWRkcikgICAgICAgICAgICAgICBEUlZfREJHX1NldEJpdHMoYWRkcikKKyNkZWZpbmUgUE1JQ19XUkFQX0RSVl9Xcml0ZVJlZzE2KGFkZHIsIGRhdGEpICAgICAgICBEUlZfREJHX1dyaXRlUmVnKGFkZHIsIGRhdGEpCisjZGVmaW5lIFBNSUNfV1JBUF9EUlZfUmVhZFJlZzE2KGFkZHIpICAgICAgICAgICAgICAgRFJWX0RCR19SZWcoYWRkcikKKyNkZWZpbmUgUE1JQ19XUkFQX0RSVl9DbGVhckJpdHMzMihhZGRyLCBkYXRhKSAgICAgICBEUlZfREJHX0NsZWFyQml0czMyKGFkZHIsIGRhdGEpCisjZGVmaW5lIFBNSUNfV1JBUF9EUlZfU2V0Qml0czMyKGFkZHIsIGRhdGEpICAgICAgICAgRFJWX0RCR19TZXRCaXRzMzIoYWRkciwgZGF0YSkKKyNkZWZpbmUgUE1JQ19XUkFQX0RSVl9TZXREYXRhKGFkZHIsIGJpdG1hc2ssIHZhbHVlKSAgICAgRFJWX1NldERhdGEoYWRkciwgYml0bWFzaywgdmFsdWUpCisjZGVmaW5lIFBNSUNfV1JBUF9EUlZfV3JpdGVSZWczMihhZGRyLGRhdGEpICAgICAgICAgRFJWX0RCR19Xcml0ZVJlZzMyKGFkZHIsZGF0YSkKKyNkZWZpbmUgUE1JQ19XUkFQX0RSVl9SZWczMihhZGRyKSAgICAgICAgICAgICAgICAgICBEUlZfREJHX1JlZzMyKGFkZHIpCisjZWxzZSAvLyAjaWYgZGVmaW5lZChfX0RSVl9DT01NX1JFR19EQkdfXykgJiYgZGVmaW5lZChfX0RSVl9SVENfUkVHX0RCR19fKQorI2RlZmluZSBQTUlDX1dSQVBfRFJWX0NsZWFyQml0czE2KGFkZHIsIGRhdGEpICAgICAgIERSVl9DbGVhckJpdHMoYWRkcixkYXRhKQorI2RlZmluZSBQTUlDX1dSQVBfRFJWX1NldEJpdHMxNihhZGRyLCBkYXRhKSAgICAgICAgIERSVl9TZXRCaXRzKGFkZHIsZGF0YSkKKyNkZWZpbmUgUE1JQ19XUkFQX0RSVl9Xcml0ZVJlZzE2KGFkZHIsIGRhdGEpICAgICAgICBEUlZfV3JpdGVSZWcoYWRkciwgZGF0YSkKKyNkZWZpbmUgUE1JQ19XUkFQX0RSVl9SZWFkUmVnMTYoYWRkcikgICAgICAgICAgICAgICBEUlZfUmVnKGFkZHIpCisjZGVmaW5lIFBNSUNfV1JBUF9EUlZfQ2xlYXJCaXRzMzIoYWRkciwgZGF0YSkgICAgICAgRFJWX0NsZWFyQml0czMyKGFkZHIsIGRhdGEpCisjZGVmaW5lIFBNSUNfV1JBUF9EUlZfU2V0Qml0czMyKGFkZHIsIGRhdGEpICAgICAgICAgRFJWX1NldEJpdHMzMihhZGRyLCBkYXRhKQorI2RlZmluZSBQTUlDX1dSQVBfRFJWX1NldERhdGEoYWRkciwgYml0bWFzaywgdmFsdWUpICAgICBEUlZfU2V0RGF0YShhZGRyLCBiaXRtYXNrLCB2YWx1ZSkKKyNkZWZpbmUgUE1JQ19XUkFQX0RSVl9Xcml0ZVJlZzMyKGFkZHIsZGF0YSkgICAgICAgICBEUlZfV3JpdGVSZWczMihhZGRyLGRhdGEpCisjZGVmaW5lIFBNSUNfV1JBUF9EUlZfUmVnMzIoYWRkcikgICAgICAgICAgICAgICAgICAgRFJWX1JlZzMyKGFkZHIpCisjZW5kaWYgLy8gI2lmIGRlZmluZWQoX19EUlZfQ09NTV9SRUdfREJHX18pICYmIGRlZmluZWQoX19EUlZfUlRDX1JFR19EQkdfXykKKwora2FsX3VpbnQzMiBEcnZQV1JBUF9Jbml0KHZvaWQpOwora2FsX3VpbnQzMiBEcnZQV1JBUF9XQUNTMl9Ob0NoayhrYWxfdWludDMyIHdyaXRlLCBrYWxfdWludDMyIGFkciwga2FsX3VpbnQzMiB3ZGF0YSwga2FsX3VpbnQzMiAqcmRhdGEpOworLy9rYWxfdWludDMyIERydlBXUkFQX1dBQ1MwKGthbF91aW50MzIgd3JpdGUsIGthbF91aW50MzIgYWRyLCBrYWxfdWludDMyIHdkYXRhLCBrYWxfdWludDMyICpyZGF0YSk7CitrYWxfdWludDMyIERydlBXUkFQX1dBQ1MwKGthbF91aW50MzIgd3JpdGUsIGthbF91aW50MzIgYWRyLCBrYWxfdWludDMyIHdkYXRhLCBrYWxfdWludDE2ICpyZGF0YSk7CisvL2thbF91aW50MzIgRHJ2UFdSQVBfV0FDUzEoa2FsX3VpbnQzMiB3cml0ZSwga2FsX3VpbnQzMiBhZHIsIGthbF91aW50MzIgd2RhdGEsIGthbF91aW50MzIgKnJkYXRhKTsKK2thbF91aW50MzIgRHJ2UFdSQVBfV0FDUzEoa2FsX3VpbnQzMiB3cml0ZSwga2FsX3VpbnQzMiBhZHIsIGthbF91aW50MzIgd2RhdGEsIGthbF91aW50MTYgKnJkYXRhKTsKK2thbF91aW50MzIgRHJ2UFdSQVBfV0FDUzIoa2FsX3VpbnQzMiB3cml0ZSwga2FsX3VpbnQzMiBhZHIsIGthbF91aW50MzIgd2RhdGEsIGthbF91aW50MzIgKnJkYXRhKTsKK2thbF91aW50MzIgRHJ2UFdSQVBfTWFuKGthbF91aW50MzIgd3JpdGUsIGthbF91aW50MzIgb3AsIGthbF91aW50MzIgd2RhdGEsIGthbF91aW50MzIgKnJkYXRhICk7CitrYWxfdWludDMyIERydlBXUkFQX01hbkFjY2VzcyhrYWxfdWludDMyIHdyaXRlLCBrYWxfdWludDMyIGFkciwga2FsX3VpbnQzMiB3ZGF0YSwga2FsX3VpbnQzMiAqcmRhdGEpOwora2FsX3VpbnQzMiBEcnZQV1JBUF9Jbml0RGlvKGthbF91aW50MzIgZGlvX2VuKTsKK2thbF91aW50MzIgRHJ2UFdSQVBfU3dpdGNoRGlvKGthbF91aW50MzIgZGlvX2VuKTsKK2thbF91aW50MzIgRHJ2UFdSQVBfSW5pdENJUEhFUih2b2lkKTsKK2thbF91aW50MzIgRHJ2UFdSQVBfRW5hYmxlQ0lQSEVSKHZvaWQpOwora2FsX3VpbnQzMiBEcnZQV1JBUF9EaXNhYmxlQ0lQSEVSKHZvaWQpOwordm9pZCBEcnZQV1JBUF9SZXNldFNQSVNMVih2b2lkKTsKK3ZvaWQgRHJ2UFdSQVBfU3dpdGNoTXV4KGthbF91aW50OCBtdXhfc2VsX25ldyk7CitrYWxfdWludDMyIERydlBXUkFQX0luaXRTaVN0cm9iZSh2b2lkKTsKK2thbF91aW50MzIgRHJ2UFdSQVBfU3RhVXBkVHJpZyhrYWxfdWludDMyIG1vZGUpOwordm9pZCBEcnZQV1JBUF9BbGlnbkNSQyh2b2lkKTsKK2thbF91aW50MzIgRHJ2UFdSQVBfSW5pdFJlZ0NsayhrYWxfdWludDMyIHJlZ2NrX3NlbCk7CitrYWxfdWludDMyIERydlBXUkFQX1JlYWRfVGVzdChrYWxfYm9vbCBOb0Noayk7Cit0eXBlZGVmIGthbF91aW50MzIgKCpsb29wX2NvbmRpdGlvbl9mcCkoa2FsX3VpbnQzMik7IC8vIERlZmluZSBhIGZ1bmN0aW9uIHBvaW50ZXIKKworI2VuZGlmIC8vIF9fTVQ2NzUyX1BNSUNfV1JBUF9TV19IX18KZGlmZiAtLWdpdCBhL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvbmxpX2FyYi5oIGIvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9ubGlfYXJiLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmFmNzhlZAotLS0gL2Rldi9udWxsCisrKyBiL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvbmxpX2FyYi5oCkBAIC0wLDAgKzEsMTg0IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMDEtMjAwNworKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEZpbGVuYW1lOgorICogLS0tLS0tLS0tCisgKiBubGlfYXJiLmgKKyAqCisgKiBQcm9qZWN0OgorICogLS0tLS0tLS0KKyAqICAgTWF1aQorICoKKyAqIERlc2NyaXB0aW9uOgorICogLS0tLS0tLS0tLS0tCisgKiAgIFRoaXMgZmlsZSBpcyB0byBkZWZpbmUgTkxJIEFyYml0ZXIgcmVpZ3RlciBhbmQgb3BlcmF0aW9uIG1hY3JvIGZvciBNVDYyNzYsIE1UNjI1NiBhbmQgZXRjLi4gCisgKgorICogQXV0aG9yOgorICogLS0tLS0tLQorICoKKyAqICBCaW4gSGFuIChtdGs4MDM5MSkKKyAqCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogJExvZyQKKyAqCisgKiAwNyAxOSAyMDExIGJpbi5oYW4KKyAqIHJlbW92ZWQhCisgKiAuCisgKgorICoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmbmRlZiBfX05MSV9BUkJfSF9fCisjZGVmaW5lIF9fTkxJX0FSQl9IX18KKworI2luY2x1ZGUgInJlZ19iYXNlLmgiCisKKworLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFJlaWdzdGVyIE9wZXJhdGlvbiBNYWNybyBEZWZpbmUgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKyNpZmRlZiBOTElfQVJCX2Jhc2UKKworI2RlZmluZSBSRUdfTkxJX0FSQl9TVEFUVVMgICAgICAgICAgICAgICooKHZvbGF0aWxlIHVuc2lnbmVkIGludCAqKShOTElfQVJCX2Jhc2UrMHgwMDApKQorI2RlZmluZSBSRUdfTkxJX0FSQl9TV1JTVCAgICAgICAgICAgICAgICooKHZvbGF0aWxlIHVuc2lnbmVkIGludCAqKShOTElfQVJCX2Jhc2UrMHgwMTApKQorI2RlZmluZSBSRUdfTkxJX0FSQl9DUyAgICAgICAgICAgICAgICAgICooKHZvbGF0aWxlIHVuc2lnbmVkIGludCAqKShOTElfQVJCX2Jhc2UrMHgwMTQpKQorI2RlZmluZSBSRUdfTkxJX0FSQl9DT05UX0dSQU5UICAgICAgICAgICAqKCh2b2xhdGlsZSB1bnNpZ25lZCBpbnQgKikoTkxJX0FSQl9iYXNlKzB4MDE4KSkKKyNkZWZpbmUgUkVHX05MSV9BUkJfSEFORE9WRVIgICAgICAgICAgICooKHZvbGF0aWxlIHVuc2lnbmVkIGludCAqKShOTElfQVJCX2Jhc2UrMHgwMUMpKQorI2RlZmluZSBSRUdfTkxJX0FSQl9NT05fU1JDICAgICAgICAgICAqKCh2b2xhdGlsZSB1bnNpZ25lZCBpbnQgKikoTkxJX0FSQl9iYXNlKzB4MDQwKSkKKyNkZWZpbmUgUkVHX05MSV9BUkJfTU9OX0NMUiAgICAgICAgICAgKigodm9sYXRpbGUgdW5zaWduZWQgaW50ICopKE5MSV9BUkJfYmFzZSsweDA0NCkpCisjZGVmaW5lIFJFR19OTElfQVJCX01PTl9TVEFSVCAgICAgICAgICAgKigodm9sYXRpbGUgdW5zaWduZWQgaW50ICopKE5MSV9BUkJfYmFzZSsweDA0OCkpCisjZGVmaW5lIFJFR19OTElfQVJCX01PTl9SRCAgICAgICAgICAgKigodm9sYXRpbGUgdW5zaWduZWQgaW50ICopKE5MSV9BUkJfYmFzZSsweDA1MCkpCisjZGVmaW5lIFJFR19OTElfQVJCX01PTl9XUiAgICAgICAgICAgKigodm9sYXRpbGUgdW5zaWduZWQgaW50ICopKE5MSV9BUkJfYmFzZSsweDA1NCkpCisjZGVmaW5lIFJFR19OTElfQVJCX01PTl9DWUMgICAgICAgICAgICooKHZvbGF0aWxlIHVuc2lnbmVkIGludCAqKShOTElfQVJCX2Jhc2UrMHgwNTgpKQorCisKKyNkZWZpbmUgTkxJX0FSQl9DU19GQVZPUl9OT1JNQUxfQklUICAgICgweDEwMDAwKQorI2RlZmluZSBOTElfQVJCX0NTX0ZBVk9SX1VMVFJBX0JJVCAgICAgKDB4MjAwMDApCisjZGVmaW5lIEVOQUJMRV9OTElfQVJCX0ZBVk9SX05PUk1BTCgpICBSRUdfTkxJX0FSQl9DUyB8PSBOTElfQVJCX0NTX0ZBVk9SX05PUk1BTF9CSVQ7CisjZGVmaW5lIERJU0FCTEVfTkxJX0FSQl9GQVZPUl9OT1JNQUwoKSBSRUdfTkxJX0FSQl9DUyAmPSAofk5MSV9BUkJfQ1NfRkFWT1JfTk9STUFMX0JJVCk7CisjZGVmaW5lIEVOQUJMRV9OTElfQVJCX0ZBVk9SX1VMVFJBKCkgICBSRUdfTkxJX0FSQl9DUyB8PSBOTElfQVJCX0NTX0ZBVk9SX1VMVFJBX0JJVDsKKyNkZWZpbmUgRElTQUJMRV9OTElfQVJCX0ZBVk9SX1VMVFJBKCkgIFJFR19OTElfQVJCX0NTICY9ICh+TkxJX0FSQl9DU19GQVZPUl9VTFRSQV9CSVQpOworI2RlZmluZSBHRVRfTkxJX0FSQl9GQVZPUl9OT1JNQUxfRU5BQkxFKCkgIChSRUdfTkxJX0FSQl9DUyAmIE5MSV9BUkJfQ1NfRkFWT1JfTk9STUFMX0JJVCkKKyNkZWZpbmUgR0VUX05MSV9BUkJfRkFWT1JfVUxUUkFfRU5BQkxFKCkgIChSRUdfTkxJX0FSQl9DUyAmIE5MSV9BUkJfQ1NfRkFWT1JfVUxUUkFfQklUKQorCisKKyNkZWZpbmUgU0VUX05MSV9BUkJfQ1NfU09VUkNFX1NFTEVDVElPTihzcmMsZGVzdCkgIGRve1JFR19OTElfQVJCX0NTICY9ICB+KDB4Nzw8KGRlc3QpKTsgUkVHX05MSV9BUkJfQ1MgfD0gKChzcmMpPDwoZGVzdCkpO30gd2hpbGUoMCkKKyNkZWZpbmUgR0VUX05MSV9BUkJfQ1NfU09VUkNFX1NFTEVDVElPTihkZXN0KSAgKChSRUdfTkxJX0FSQl9DUyA+PiAoZGVzdCkpICYgMHg3KQorI2Vsc2UKKworLy8gRHVtbXkgTUFDUk8gdG8gYXZvaWQgYnVpbGQgZXJyb3IKKyNkZWZpbmUgRU5BQkxFX05MSV9BUkJfRkFWT1JfTk9STUFMKCkgCisjZGVmaW5lIERJU0FCTEVfTkxJX0FSQl9GQVZPUl9OT1JNQUwoKSAKKyNkZWZpbmUgRU5BQkxFX05MSV9BUkJfRkFWT1JfVUxUUkEoKSAgCisjZGVmaW5lIERJU0FCTEVfTkxJX0FSQl9GQVZPUl9VTFRSQSgpIAorCisjZGVmaW5lIFNFVF9OTElfQVJCX0NTX1NPVVJDRV9TRUxFQ1RJT05fTFBDRTBCKHgpICAKKyNkZWZpbmUgU0VUX05MSV9BUkJfQ1NfU09VUkNFX1NFTEVDVElPTl9MUENFMUIoeCkgCisjZGVmaW5lIFNFVF9OTElfQVJCX0NTX1NPVVJDRV9TRUxFQ1RJT05fTFBDRTJCKHgpCisjZGVmaW5lIFNFVF9OTElfQVJCX0NTX1NPVVJDRV9TRUxFQ1RJT05fTFBDRTNCKHgpIAorCisjZW5kaWYgIC8vTkxJX0FSQl9iYXNlCisKKworLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFVzZXIgSW50ZXJmYWNlICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwordHlwZWRlZiBlbnVtCit7CisgICAgTkxJX0FSQl9VU0VSX0xDRCA9IDAsCisgICAgTkxJX0FSQl9VU0VSX05BTkQsCisgICAgTkxJX0FSQl9VU0VSX0hJRjAsCisgICAgTkxJX0FSQl9VU0VSX0hJRjEsCisKKyAgICBOTElfQVJCX1VTRVJfTlVNCit9TkxJX0FSQl9VU0VSX0VOVU07CisKKy8vL05vdGljZTogdGhlIGZvbGxvd2luZyBlbnVtIGRlZmluZSBpcyBjaGlwIGRlcGVkZW50Cit0eXBlZGVmIGVudW0KK3sKKyAgICBOTElfQVJCX0NTX1NPVVJDRV9MQ0QwID0gMCwKKyAgICBOTElfQVJCX0NTX1NPVVJDRV9MQ0QxID0gMSwKKyAgICBOTElfQVJCX0NTX1NPVVJDRV9MQ0QyID0gMiwKKyAgICBOTElfQVJCX0NTX1NPVVJDRV9ISUYwID0gMywKKyAgICBOTElfQVJCX0NTX1NPVVJDRV9ISUYxID0gNCwKKworICAgIE5MSV9BUkJfQ1NfU09VUkNFX05VTUJFUgorfU5MSV9BUkJfQ1NfU09VUkNFX0VOVU07CisKKworLy8vTm90aWNlOiB0aGUgZm9sbG93aW5nIGVudW0gZGVmaW5lIGlzIGNoaXAgZGVwZWRlbnQKK3R5cGVkZWYgZW51bQoreworICAgIE5MSV9BUkJfQ1NfREVTVF9MUENFMEIgPSAwLAorICAgIE5MSV9BUkJfQ1NfREVTVF9MUENFMUIgPSAxLAorICAgIE5MSV9BUkJfQ1NfREVTVF9MUENFMkIgPSAyLAorICAgIE5MSV9BUkJfQ1NfREVTVF9MUENFM0IgPSAzLAorCisgICAgTkxJX0FSQl9DU19ERVNUX05VTUJFUgorfU5MSV9BUkJfQ1NfREVTVF9FTlVNOworCisKK3R5cGVkZWYgZW51bQoreworICAgIC8vIFNldCBvcGVyYXRpb24KKyAgICBOTElfQVJCX1NFVF9GQVZPUl9OT1JNQUwgPSAwLAorICAgIE5MSV9BUkJfU0VUX0ZBVk9SX1VMVFJBLAorICAgIE5MSV9BUkJfU0VUX0NTX01BUFBJTkcsCisgICAgCisgICAgLy8gUXVlcnkgb3BlcmF0aW9uCisgICAgTkxJX0FSQl9RVUVSWV9GQVZPUl9OT1JNQUwsCisgICAgTkxJX0FSQl9RVUVSWV9GQVZPUl9VTFRSQSwKKyAgICBOTElfQVJCX1FVRVJZX0NTX01BUFBJTkcsCisKKyAgICBOTElfQVJCX0NPTlRST0xfQ09ERV9OVU0KK31OTElfQVJCX0NPTlRST0xfQ09ERV9FTlVNOworCisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAga2FsX2Jvb2wgZW5hYmxlOworfU5MSV9BUkJfU0VUX1FVRVJZX0ZBVk9SX1NUUlVDVDsKKworCit0eXBlZGVmIHN0cnVjdAoreworICAgIE5MSV9BUkJfQ1NfU09VUkNFX0VOVU0gY3Nfc291cmNlOyAgIC8vLyBMQ0QwLCBMQ0QxLCBMQ0QyLCBISUYwLCBISUYxCisgICAgTkxJX0FSQl9DU19ERVNUX0VOVU0gICBjc19kZXN0OyAgICAgLy8vIExQQ0UwQixMUENFMUIsIExQQ0UyQiwgTFBDRTNCCit9TkxJX0FSQl9TRVRfUVVFUllfQ1NfTUFQUElOR19TVFJVQ1Q7CisKKworLy9UaGUgZHJ2IGluaXQgZnVuY3Rpb24KK3ZvaWQgTkxJX0FSQl9pbml0KHZvaWQpOworLy9UaGUgZHJ2IElPIGNvbnRyb2wgZnVuY3Rpb24gLCByZXR1cm4gS0FMX0ZBTFNFIG1lYW5zIHNldCBvciBxdWVyeSBpcyBmYWlsCitrYWxfYm9vbCBOTElfQVJCX0lPQ3RybChOTElfQVJCX1VTRVJfRU5VTSB1c2VyLCBOTElfQVJCX0NPTlRST0xfQ09ERV9FTlVNIGN0cmxDb2RlLCB2b2lkICpjdHJsU3RydWN0KTsKKworI2VuZGlmICAvLyBfX05MSV9BUkJfSF9fCmRpZmYgLS1naXQgYS9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL3BmY19ody5oIGIvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9wZmNfaHcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYWY0N2Y2Ci0tLSAvZGV2L251bGwKKysrIGIvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9wZmNfaHcuaApAQCAtMCwwICsxIEBACisvKiBUaGlzIGZpbGUgc2hvdWxkIGJlIGRlbGV0ZWQgKi8KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL3BmY19zdy5oIGIvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9wZmNfc3cuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYWY0N2Y2Ci0tLSAvZGV2L251bGwKKysrIGIvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9wZmNfc3cuaApAQCAtMCwwICsxIEBACisvKiBUaGlzIGZpbGUgc2hvdWxkIGJlIGRlbGV0ZWQgKi8KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL3BtaWNfd3JhcC5oIGIvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9wbWljX3dyYXAuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMWI2YzZjCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9wbWljX3dyYXAuaApAQCAtMCwwICsxLDEyNyBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDEyCisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuIAorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZpbGVuYW1lOgorICogLS0tLS0tLS0tCisgKiAgICBwbWljX3dyYXAuaAorICoKKyAqIFByb2plY3Q6CisgKiAtLS0tLS0tLQorICogICBNYXVpX1NvZnR3YXJlCisgKgorICogRGVzY3JpcHRpb246CisgKiAtLS0tLS0tLS0tLS0KKyAqICAgVGhpcyBmaWxlIGlzIHVzZWQgdG8gY29uZmlndXJlIGNvcnJlc3BvbmQgaGVhZGVyIGZpbGVzIG9mIHBtaWMgd3JhcHBlci4KKyAqCisgKiBBdXRob3I6CisgKiAtLS0tLS0tCisgKiAtLS0tLS0tCisgKgorICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKiAgICAgICAgICAgICBISVNUT1JZCisgKiBCZWxvdyB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiBVcHBlciB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2luY2x1ZGUgImRydl9mZWF0dXJlcy5oIgorCisjaWYgZGVmaW5lZChNVDYzMjUpCisjZGVmaW5lIERSVl9QTUlDX1dSQVBfVjIKKyNkZWZpbmUgRFJWX1BNSUNfV1JBUF82NzUyX1JFRworI2VuZGlmCisjaWYgZGVmaW5lZChEUlZfUE1JQ19XUkFQXzY3NTJfUkVHKQorCisjaW5jbHVkZSAibXQ2NzUyX3BtaWNfd3JhcF9ody5oIgorI2luY2x1ZGUgIm10Njc1Ml9wbWljX3dyYXBfc3cuaCIKKworI2VsaWYgZGVmaW5lZChEUlZfUE1JQ19XUkFQXzY1OTVfUkVHKQorCisjaW5jbHVkZSAibXQ2NTk1X3BtaWNfd3JhcF9ody5oIgorI2luY2x1ZGUgIm10NjU5NV9wbWljX3dyYXBfc3cuaCIKKworI2VsaWYgZGVmaW5lZChEUlZfUE1JQ19XUkFQXzY1ODlfUkVHKQorCisjaW5jbHVkZSAibXQ2NTg5X3BtaWNfd3JhcF9ody5oIgorI2luY2x1ZGUgIm10NjU4OV9wbWljX3dyYXBfc3cuaCIKKyNpbmNsdWRlICJyZWdfcGVyaV9wd3JhcF9icmlkZ2UuaCIKKworI2VsaWYgZGVmaW5lZChEUlZfUE1JQ19XUkFQXzY1ODJfUkVHKQorCisjaW5jbHVkZSAibXQ2NTgyX3BtaWNfd3JhcF9ody5oIgorI2luY2x1ZGUgIm10NjU4Ml9wbWljX3dyYXBfc3cuaCIKKworI2VsaWYgZGVmaW5lZChEUlZfUE1JQ19XUkFQXzY1NzJfUkVHKQorCisjaW5jbHVkZSAibXQ2NTcyX3BtaWNfd3JhcF9ody5oIgorI2luY2x1ZGUgIm10NjU3Ml9wbWljX3dyYXBfc3cuaCIKKworI2VsaWYgZGVmaW5lZChEUlZfUE1JQ19XUkFQXzY1NzFfUkVHKQorCisjaW5jbHVkZSAibXQ2NTcxX3BtaWNfd3JhcF9ody5oIgorI2luY2x1ZGUgIm10NjU3MV9wbWljX3dyYXBfc3cuaCIKKworI2VuZGlmCmRpZmYgLS1naXQgYS9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL3B3bV9ody5oIGIvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9wd21faHcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YzA0MjEwCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9wd21faHcuaApAQCAtMCwwICsxLDIyOCBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDA1CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuIAorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZpbGVuYW1lOgorICogLS0tLS0tLS0tCisgKiAgICBwd21faHcuaAorICoKKyAqIFByb2plY3Q6CisgKiAtLS0tLS0tLQorICogICBNYXVpX1NvZnR3YXJlCisgKgorICogRGVzY3JpcHRpb246CisgKiAtLS0tLS0tLS0tLS0KKyAqICAgVGhpcyBmaWxlIGlzIGludGVuZGVkIGZvciBQV00gZHJpdmVyLgorICoKKyAqIEF1dGhvcjoKKyAqIC0tLS0tLS0KKyAqIC0tLS0tLS0KKyAqCisgKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqICAgICAgICAgICAgIEhJU1RPUlkKKyAqIEJlbG93IHRoaXMgbGluZSwgdGhpcyBwYXJ0IGlzIGNvbnRyb2xsZWQgYnkgUFZDUyBWTS4gRE8gTk9UIE1PRElGWSEhCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogVXBwZXIgdGhpcyBsaW5lLCB0aGlzIHBhcnQgaXMgY29udHJvbGxlZCBieSBQVkNTIFZNLiBETyBOT1QgTU9ESUZZISEKKyAqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIFBXTV9IV19ICisjZGVmaW5lIFBXTV9IV19ICisjaW5jbHVkZSAiZHJ2X2ZlYXR1cmVzX3B3bS5oIgorI2luY2x1ZGUgInJlZ19iYXNlLmgiCisjaWZuZGVmIERSVl9QV01fT0ZGCisjaWYgIWRlZmluZWQoRFJWX1BXTV9SV0cpCisjZGVmaW5lIAlQV00xX0NUUkwJCSAgICAgIChQV01fYmFzZSsweDAwMDApIC8qIFBXTSBDb250cm9sICAgICAgICAgICAqLworI2RlZmluZSAJUFdNMV9DT1VOVCAgCQkgICAoUFdNX2Jhc2UrMHgwMDA0KSAvKiBQV00gbWF4IGNvdW50ZXIgdmFsdWUgKi8KKyNkZWZpbmUgCVBXTTFfVEhSRVNIT0xEIAkJKFBXTV9iYXNlKzB4MDAwOCkgLyogUFdNIHRocmVzaG9sZCB2YWx1ZSAgICovCisjaWYgMAorLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworI2VuZGlmCisjZGVmaW5lIAlQV00xX1BXUl9PRkYJCSAgIDB4MDAyMAorI2lmIGRlZmluZWQoRFJWX1BXTV9QV00yKQorICAgI2RlZmluZSAJUFdNMl9DVFJMCQkgICAgICAoUFdNX2Jhc2UrMHgwMDBDKSAvKiBQV00gQ29udHJvbCAgICAgICAgICAgKi8KKyAgICNkZWZpbmUgCVBXTTJfQ09VTlQgIAkJICAgKFBXTV9iYXNlKzB4MDAxMCkgLyogUFdNIG1heCBjb3VudGVyIHZhbHVlICovCisgICAjZGVmaW5lIAlQV00yX1RIUkVTSE9MRCAJCShQV01fYmFzZSsweDAwMTQpIC8qIFBXTSB0aHJlc2hvbGQgdmFsdWUgICAqLworI2lmIDAKKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKyNlbmRpZgorICAgI2RlZmluZSAJUFdNMl9QV1JfT0ZGCQkgICAweDA0MDAKKyNpZiBkZWZpbmVkKERSVl9QV01fUFdNMykKKyAgICNkZWZpbmUgCVBXTTNfQ1RSTAkJICAgICAgKFBXTV9iYXNlKzB4MDAxOCkgLyogUFdNIENvbnRyb2wgICAgICAgICAgICovCisgICAjZGVmaW5lIAlQV00zX0NPVU5UICAJCSAgIChQV01fYmFzZSsweDAwMUMpIC8qIFBXTSBtYXggY291bnRlciB2YWx1ZSAqLworICAgI2RlZmluZSAJUFdNM19USFJFU0hPTEQgCQkoUFdNX2Jhc2UrMHgwMDIwKSAvKiBQV00gdGhyZXNob2xkIHZhbHVlICAgKi8KKyNpZiBkZWZpbmVkKERSVl9QV01fUFdNNCkKKyAgICNkZWZpbmUgCVBXTTRfQ1RSTAkJICAgICAgKFBXTV9iYXNlKzB4MDAyNCkgLyogUFdNIENvbnRyb2wgICAgICAgICAgICovCisgICAjZGVmaW5lIAlQV000X0NPVU5UICAJCSAgIChQV01fYmFzZSsweDAwMjgpIC8qIFBXTSBtYXggY291bnRlciB2YWx1ZSAqLworICAgI2RlZmluZSAJUFdNNF9USFJFU0hPTEQgCQkoUFdNX2Jhc2UrMHgwMDJDKSAvKiBQV00gdGhyZXNob2xkIHZhbHVlICAgKi8KKyNlbmRpZiAvKkRSVl9QV01fUFdNNCovCisKKyNlbmRpZiAvKkRSVl9QV01fUFdNMyovCisjZW5kaWYgLypEUlZfUFdNX1BXTTIqLworI2VuZGlmIC8vIERSVl9QV01fT0ZGCisKKyNkZWZpbmUJUFdNX0NUUkxfRU4JCSAgICAgIDB4ODAwMAorI2RlZmluZQlQV01fQ1RSTF9DTEtfMQkJICAgMHgwMDAwCisjZGVmaW5lICBQV01fQ1RSTF9DTEtfMgkJICAgMHgwMDAxCisjZGVmaW5lICBQV01fQ1RSTF9DTEtfNAkJICAgMHgwMDAyCisjZGVmaW5lICBQV01fQ1RSTF9DTEtfOAkJICAgMHgwMDAzCisKKyNpZiBkZWZpbmVkKERSVl9QV01fQ0xLX1NFTCkKKyAgICNkZWZpbmUgUFdNX0NUUkxfQ0xLU0VMICAgICAgIDB4MDAwNAorI2VuZGlmICAgLypEUlZfUFdNX0NMS19TRUwqLworCisvKj09PT09PT09PT09PT09PT09PU1hY3JvPT09PT09PT09PT09PT09PT09PT0qLworI2RlZmluZSBQV01fU2V0Q291bnRWYWx1ZShjb3VudCkJKih2b2xhdGlsZSBrYWxfdWludDE2ICopUFdNMV9DT1VOVCA9IGNvdW50CisjZGVmaW5lIFBXTV9TZXRUaHJlcyh0aHJlcykJKih2b2xhdGlsZSBrYWxfdWludDE2ICopUFdNMV9USFJFU0hPTEQgPSB0aHJlcworI2lmIGRlZmluZWQoRFJWX1BXTV9QV00yKQorICAgI2RlZmluZSBQV00yX1NldENvdW50VmFsdWUoY291bnQpCSoodm9sYXRpbGUga2FsX3VpbnQxNiAqKVBXTTJfQ09VTlQgPSBjb3VudAorICAgI2RlZmluZSBQV00yX1NldFRocmVzKHRocmVzKQkgICAgICAqKHZvbGF0aWxlIGthbF91aW50MTYgKilQV00yX1RIUkVTSE9MRCA9IHRocmVzCisjaWYgZGVmaW5lZChEUlZfUFdNX1BXTTMpCisgICAjZGVmaW5lIFBXTTNfU2V0Q291bnRWYWx1ZShjb3VudCkJKih2b2xhdGlsZSBrYWxfdWludDE2ICopUFdNM19DT1VOVCA9IGNvdW50CisgICAjZGVmaW5lIFBXTTNfU2V0VGhyZXModGhyZXMpCSAgICAgICoodm9sYXRpbGUga2FsX3VpbnQxNiAqKVBXTTNfVEhSRVNIT0xEID0gdGhyZXMKKyNpZiBkZWZpbmVkKERSVl9QV01fUFdNNCkKKyAgICNkZWZpbmUgUFdNNF9TZXRDb3VudFZhbHVlKGNvdW50KQkqKHZvbGF0aWxlIGthbF91aW50MTYgKilQV000X0NPVU5UID0gY291bnQKKyAgICNkZWZpbmUgUFdNNF9TZXRUaHJlcyh0aHJlcykJICAgICAgKih2b2xhdGlsZSBrYWxfdWludDE2ICopUFdNNF9USFJFU0hPTEQgPSB0aHJlcworI2VuZGlmIC8qRFJWX1BXTV9QV000Ki8gIAorI2VuZGlmIC8qRFJWX1BXTV9QV00zKi8KKyNlbmRpZiAvKkRSVl9QV01fUFdNMiovCisKKyNlbmRpZiAgLyogIWRlZmluZWQoRFJWX1BXTV9SV0cpICovCisKKworI2VuZGlmCisKZGlmZiAtLWdpdCBhL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvcHdtX3N3LmggYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL3B3bV9zdy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdjMjAyNGMKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL3B3bV9zdy5oCkBAIC0wLDAgKzEsMzUzIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMDUKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4gCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRmlsZW5hbWU6CisgKiAtLS0tLS0tLS0KKyAqICAgIHB3bV9zdy5oCisgKgorICogUHJvamVjdDoKKyAqIC0tLS0tLS0tCisgKiAgIE1hdWlfU29mdHdhcmUKKyAqCisgKiBEZXNjcmlwdGlvbjoKKyAqIC0tLS0tLS0tLS0tLQorICogICBUaGlzIGZpbGUgaXMgaW50ZW5kZWQgZm9yIFBXTSBkcml2ZXIuCisgKgorICogQXV0aG9yOgorICogLS0tLS0tLQorICogLS0tLS0tLQorICoKKyAqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICogICAgICAgICAgICAgSElTVE9SWQorICogQmVsb3cgdGhpcyBsaW5lLCB0aGlzIHBhcnQgaXMgY29udHJvbGxlZCBieSBQVkNTIFZNLiBETyBOT1QgTU9ESUZZISEKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIFVwcGVyIHRoaXMgbGluZSwgdGhpcyBwYXJ0IGlzIGNvbnRyb2xsZWQgYnkgUFZDUyBWTS4gRE8gTk9UIE1PRElGWSEhCisgKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmbmRlZiBQV01fU1dfSAorI2RlZmluZSBQV01fU1dfSAorCisjaW5jbHVkZSAiZHJ2X2ZlYXR1cmVzX3B3bS5oIgorI2luY2x1ZGUgInJ3Z19zdy5oIgorI2luY2x1ZGUgImthbF9nZW5lcmFsX3R5cGVzLmgiCisjaW5jbHVkZSAiZGNsLmgiCisjaW5jbHVkZSAiZHJ2X2NvbW0uaCIKKworI2lmICFkZWZpbmVkKERSVl9QV01fUldHKQorCisvL3RoaXMgc2hvdWxkIG1vdmUgdG8gcHdtX3N3LmgKKyNpZiBkZWZpbmVkKERSVl9QV01fUFdNMikKKyNpZiBkZWZpbmVkKERSVl9QV01fUFdNMykKKyNpZiBkZWZpbmVkKERSVl9QV01fUFdNNCkKKyNkZWZpbmUgUFdNX0NPVU5UIDQKKyNlbHNlIC8vZGVmaW5lZChEUlZfUFdNX1BXTTQpCisjZGVmaW5lIFBXTV9DT1VOVCAzCisjZW5kaWYvL2RlZmluZWQoRFJWX1BXTV9QV000KQorI2Vsc2UgLy9kZWZpbmVkKERSVl9QV01fUFdNMykKKyNkZWZpbmUgUFdNX0NPVU5UIDIKKyNlbmRpZiAvL2RlZmluZWQoRFJWX1BXTV9QV00zKQorI2Vsc2UgLy9kZWZpbmVkKERSVl9QV01fUFdNMikKKyNkZWZpbmUgUFdNX0NPVU5UIDEKKyNlbmRpZi8vZGVmaW5lZChEUlZfUFdNX1BXTTIpCisKK3R5cGVkZWYgZW51bSAKK3sKKwlwd21jbGtfMU1IWj0wLAorCXB3bWNsa18yTUhaLAorCXB3bWNsa180TUhaLAorCXB3bWNsa184TUhaIAorfVBXTUNsb2NrX0RJVjsKKwordHlwZWRlZiBlbnVtIAoreworCXB3bWNsa18xM009MCwKKwlwd21jbGtfMzJrCit9UFdNQ2xvY2tfU0VMOworCit0eXBlZGVmIGVudW0gCit7CisJUFdNMT0wLAorCVBXTTIsCisJUFdNMywKKwlQV000Cit9UFdNX1RZUEU7CisKK3R5cGVkZWYgdm9pZCAoKkRDTF9QV01fSU5JVCkodm9pZCk7Cit0eXBlZGVmIHZvaWQgKCpEQ0xfUFdNX0NMS19JTklUKShrYWxfdWludDggb3duZXIsIGthbF91aW50MzIgcHdtX251bSwga2FsX3VpbnQzMiBjbGtfc2VsLCBrYWxfdWludDMyIGNsa19kaXYpOwordHlwZWRlZiB2b2lkICgqRENMX1BXTV9TVEFSVCkoRENMX1VJTlQ4IG93bmVyLCBEQ0xfVUlOVDMyIHB3bV9udW0pOwordHlwZWRlZiB2b2lkICgqRENMX1BXTV9TVE9QKShEQ0xfVUlOVDggb3duZXIsIERDTF9VSU5UMzIgcHdtX251bSk7Cit0eXBlZGVmIHZvaWQgKCpEQ0xfUFdNX0NPTkZJR19PTEQpKGthbF91aW50OCBvd25lciwga2FsX3VpbnQzMiBwd21fbnVtLCBrYWxfdWludDMyIGZyZXEsIGthbF91aW50OCBkdXR5KTsKK3R5cGVkZWYgRENMX1VJTlQ4ICgqRENMX1BXTV9HRVRDVVJSRU5UX0xFVkVMKShEQ0xfVUlOVDggcHdtX251bSk7Cit0eXBlZGVmIERDTF9VSU5UMzIoKkRDTF9QV01fR0VUQ1VSUkVOVF9GUkVRKShEQ0xfVUlOVDggcHdtX251bSk7Cit0eXBlZGVmIERDTF9VSU5UOCAoKkRDTF9QV01fR0VUQ1VSUkVOVF9EVVRZKShEQ0xfVUlOVDggcHdtX251bSk7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICBEQ0xfUFdNX0lOSVQgICAgICAgICAgICAgICAgICBwd21Jbml0OworICAgRENMX1BXTV9DTEtfSU5JVCAgICAgICAgICAgICAgcHdtQ2xrSW5pdDsKKyAgIERDTF9QV01fU1RBUlQgICAgICAgICAgICAgICAgIHB3bVN0YXJ0OworICAgRENMX1BXTV9TVE9QICAgICAgICAgICAgICAgICAgcHdtU3RvcDsKKyAgIERDTF9QV01fR0VUQ1VSUkVOVF9MRVZFTCAgICAgIHB3bUdldEN1cnJlbnRfbGV2ZWw7CisgICBEQ0xfUFdNX0dFVENVUlJFTlRfRlJFUSAgICAgICBwd21HZXRDdXJyZW50X0ZyZXE7CisgICBEQ0xfUFdNX0dFVENVUlJFTlRfRFVUWSAgICAgICBwd21HZXRDdXJyZW50X0R1dHk7CisgICBEQ0xfUFdNX0NPTkZJR19PTEQgICAgICAgICAgICBwd21Db25maWdPbGQ7Cit9UFdNRHJpdmVyX3Q7CisKK2V4dGVybiB2b2lkIERDTF9QV01fSW5pdCh2b2lkKTsKK2V4dGVybiB2b2lkIERDTF9QV01fU2V0Q2xvY2soa2FsX3VpbnQ4IG93bmVyLCBrYWxfdWludDMyIHB3bV9udW0sIGthbF91aW50MzIgY2xrX3NlbCwga2FsX3VpbnQzMiBjbGtfZGl2KTsKK2V4dGVybiB2b2lkIERDTF9QV01fU3RhcnQoa2FsX3VpbnQ4IG93bmVyLCBrYWxfdWludDMyIHB3bV9udW0pOworZXh0ZXJuIHZvaWQgRENMX1BXTV9TdG9wKGthbF91aW50OCBvd25lciwga2FsX3VpbnQzMiBwd21fbnVtKTsKK2V4dGVybiB2b2lkIERDTF9QV01fQ29uZmlnT2xkKGthbF91aW50OCBvd25lciwga2FsX3VpbnQzMiBwd21fbnVtLCBrYWxfdWludDMyIGZyZXEsIGthbF91aW50OCBkdXR5KTsKK2V4dGVybiBrYWxfdWludDggRENMX1BXTV9HZXRDdXJyZW50X0xldmVsKGthbF91aW50OCBwd21fbnVtKTsKK2V4dGVybiBrYWxfdWludDggRENMX1BXTV9HZXRDdXJyZW50RHV0eShrYWxfdWludDggcHdtX251bSk7CitleHRlcm4ga2FsX3VpbnQzMiBEQ0xfUFdNX0dldEN1cnJlbnRGcmVxKGthbF91aW50OCBwd21fbnVtKTsKKworCitleHRlcm4gdm9pZCBQV01fSW5pdChQV01DbG9ja19TRUwgY2xrX3NlbCxQV01DbG9ja19ESVYgQ2xvY2tfZGl2KTsKK2V4dGVybiB2b2lkIFBXTTFfQ29uZmlndXJlKGthbF91aW50MzIgZnJlcSwga2FsX3VpbnQ4IGR1dHkpOworZXh0ZXJuIHZvaWQgUFdNMV9TdGFydCh2b2lkKTsKK2V4dGVybiB2b2lkIFBXTTFfU3RvcCh2b2lkKTsKK2V4dGVybiBrYWxfdWludDggIFBXTTFfR2V0Q3VycmVudExldmVsKHZvaWQpOworZXh0ZXJuIGthbF91aW50OCAgUE1XMV9HZXRDdXJyZW50RHV0eSh2b2lkKTsKK2V4dGVybiBrYWxfdWludDMyIFBNVzFfR2V0Q3VycmVudEZyZXEodm9pZCk7CisjaWYgZGVmaW5lZChEUlZfUFdNX1BXTTIpCisgICBleHRlcm4gdm9pZCBQV00yX0luaXQoUFdNQ2xvY2tfU0VMIGNsa19zZWwsUFdNQ2xvY2tfRElWIENsb2NrX2Rpdik7CisgICBleHRlcm4gdm9pZCBQV00yX0NvbmZpZ3VyZShrYWxfdWludDMyIGZyZXEsIGthbF91aW50OCBkdXR5KTsKKyAgIGV4dGVybiB2b2lkIFBXTTJfU3RhcnQodm9pZCk7CisgICBleHRlcm4gdm9pZCBQV00yX1N0b3Aodm9pZCk7CisgICBleHRlcm4ga2FsX3VpbnQ4ICBQV00yX0dldEN1cnJlbnRMZXZlbCh2b2lkKTsKKyAgIGV4dGVybiBrYWxfdWludDggIFBNVzJfR2V0Q3VycmVudER1dHkodm9pZCk7CisgICBleHRlcm4ga2FsX3VpbnQzMiBQTVcyX0dldEN1cnJlbnRGcmVxKHZvaWQpOworI2lmIGRlZmluZWQoRFJWX1BXTV9QV00zKQorICAgZXh0ZXJuIHZvaWQgUFdNM19Jbml0KFBXTUNsb2NrX1NFTCBjbGtfc2VsLFBXTUNsb2NrX0RJViBDbG9ja19kaXYpOworICAgZXh0ZXJuIHZvaWQgUFdNM19Db25maWd1cmUoa2FsX3VpbnQzMiBmcmVxLCBrYWxfdWludDggZHV0eSk7CisgICBleHRlcm4gdm9pZCBQV00zX1N0YXJ0KHZvaWQpOworICAgZXh0ZXJuIHZvaWQgUFdNM19TdG9wKHZvaWQpOworICAgZXh0ZXJuIGthbF91aW50OCAgUFdNM19HZXRDdXJyZW50TGV2ZWwodm9pZCk7CisgICBleHRlcm4ga2FsX3VpbnQ4ICBQTVczX0dldEN1cnJlbnREdXR5KHZvaWQpOworICAgZXh0ZXJuIGthbF91aW50MzIgUE1XM19HZXRDdXJyZW50RnJlcSh2b2lkKTsKKyNpZiBkZWZpbmVkKF9fRFJWX1BNVTUzX1NQRUNfVjJfXykKK2V4dGVybiB2b2lkIFBXTTNfT3V0cHV0X0hpZ2godm9pZCk7CisjZW5kaWYgLy8jaWYgZGVmaW5lZChfX0RSVl9QTVU1M19TUEVDX1YyX18pCisjaWYgZGVmaW5lZChEUlZfUFdNX1BXTTQpCisgICBleHRlcm4gdm9pZCBQV000X0luaXQoUFdNQ2xvY2tfU0VMIGNsa19zZWwsUFdNQ2xvY2tfRElWIENsb2NrX2Rpdik7CisgICBleHRlcm4gdm9pZCBQV000X0NvbmZpZ3VyZShrYWxfdWludDMyIGZyZXEsIGthbF91aW50OCBkdXR5KTsKKyAgIGV4dGVybiB2b2lkIFBXTTRfU3RhcnQodm9pZCk7CisgICBleHRlcm4gdm9pZCBQV000X1N0b3Aodm9pZCk7CisgICBleHRlcm4ga2FsX3VpbnQ4ICBQV000X0dldEN1cnJlbnRMZXZlbCh2b2lkKTsKKyAgIGV4dGVybiBrYWxfdWludDggIFBNVzRfR2V0Q3VycmVudER1dHkodm9pZCk7CisgICBleHRlcm4ga2FsX3VpbnQzMiBQTVc0X0dldEN1cnJlbnRGcmVxKHZvaWQpOworI2VuZGlmICAgLyogRFJWX1BXTV9QV000ICovCisKKyNlbmRpZiAgIC8qIERSVl9QV01fUFdNMyAqLworI2VuZGlmICAgLyogRFJWX1BXTV9QV00yICovCisKKyNlbmRpZiAgLyogIWRlZmluZWQoRFJWX1BXTV9SV0cpICovCisKKworI2lmIGRlZmluZWQoX19EUlZfQ09NTV9SRUdfREJHX18pICYmIGRlZmluZWQoX19EUlZfUFdNX1JFR19EQkdfXykKKyNkZWZpbmUgRFJWX1BXTV9Xcml0ZVJlZyhhZGRyLGRhdGEpICAgICAgICAgICAgICBEUlZfREJHX1dyaXRlUmVnKGFkZHIsZGF0YSkKKyNkZWZpbmUgRFJWX1BXTV9SZWcoYWRkcikgICAgICAgICAgICAgICAgICAgICAgICBEUlZfREJHX1JlZyhhZGRyKSAgICAgICAgICAgICAgICAgICAgICAKKyNkZWZpbmUgRFJWX1BXTV9Xcml0ZVJlZzMyKGFkZHIsZGF0YSkgICAgICAgICAgICBEUlZfREJHX1dyaXRlUmVnMzIoYWRkcixkYXRhKSAgICAgICAgICAKKyNkZWZpbmUgRFJWX1BXTV9SZWczMihhZGRyKSAgICAgICAgICAgICAgICAgICAgICBEUlZfREJHX1JlZzMyKGFkZHIpICAgICAgICAgICAgICAgICAgICAKKyNkZWZpbmUgRFJWX1BXTV9Xcml0ZVJlZzgoYWRkcixkYXRhKSAgICAgICAgICAgICBEUlZfREJHX1dyaXRlUmVnOChhZGRyLGRhdGEpICAgICAgICAgICAKKyNkZWZpbmUgRFJWX1BXTV9SZWc4KGFkZHIpICAgICAgICAgICAgICAgICAgICAgICBEUlZfREJHX1JlZzgoYWRkcikgICAgICAgICAgICAgICAgICAgICAKKyNkZWZpbmUgRFJWX1BXTV9DbGVhckJpdHMoYWRkcixkYXRhKSAgICAgICAgICAgICBEUlZfREJHX0NsZWFyQml0cyhhZGRyLGRhdGEpICAgICAgICAgICAKKyNkZWZpbmUgRFJWX1BXTV9TZXRCaXRzKGFkZHIsZGF0YSkgICAgICAgICAgICAgICBEUlZfREJHX1NldEJpdHMoYWRkcixkYXRhKSAgICAgICAgICAgICAKKyNkZWZpbmUgRFJWX1BXTV9TZXREYXRhKGFkZHIsIGJpdG1hc2ssIHZhbHVlKSAgICBEUlZfREJHX1NldERhdGEoYWRkciwgYml0bWFzaywgdmFsdWUpICAKKyNkZWZpbmUgRFJWX1BXTV9DbGVhckJpdHMzMihhZGRyLGRhdGEpICAgICAgICAgICBEUlZfREJHX0NsZWFyQml0czMyKGFkZHIsZGF0YSkgICAgICAgICAKKyNkZWZpbmUgRFJWX1BXTV9TZXRCaXRzMzIoYWRkcixkYXRhKSAgICAgICAgICAgICBEUlZfREJHX1NldEJpdHMzMihhZGRyLGRhdGEpICAgICAgICAgICAKKyNkZWZpbmUgRFJWX1BXTV9TZXREYXRhMzIoYWRkciwgYml0bWFzaywgdmFsdWUpICBEUlZfREJHX1NldERhdGEzMihhZGRyLCBiaXRtYXNrLCB2YWx1ZSkKKyNkZWZpbmUgRFJWX1BXTV9DbGVhckJpdHM4KGFkZHIsZGF0YSkgICAgICAgICAgICBEUlZfREJHX0NsZWFyQml0czgoYWRkcixkYXRhKSAgICAgICAgICAKKyNkZWZpbmUgRFJWX1BXTV9TZXRCaXRzOChhZGRyLGRhdGEpICAgICAgICAgICAgICBEUlZfREJHX1NldEJpdHM4KGFkZHIsZGF0YSkgICAgICAgICAgICAKKyNkZWZpbmUgRFJWX1BXTV9TZXREYXRhOChhZGRyLCBiaXRtYXNrLCB2YWx1ZSkgICBEUlZfREJHX1NldERhdGE4KGFkZHIsIGJpdG1hc2ssIHZhbHVlKSAKKyNlbHNlCisjZGVmaW5lIERSVl9QV01fV3JpdGVSZWcoYWRkcixkYXRhKSAgICAgICAgICAgICAgRFJWX1dyaXRlUmVnKGFkZHIsZGF0YSkKKyNkZWZpbmUgRFJWX1BXTV9SZWcoYWRkcikgICAgICAgICAgICAgICAgICAgICAgICBEUlZfUmVnKGFkZHIpICAgICAgICAgICAgICAgICAgICAgIAorI2RlZmluZSBEUlZfUFdNX1dyaXRlUmVnMzIoYWRkcixkYXRhKSAgICAgICAgICAgIERSVl9Xcml0ZVJlZzMyKGFkZHIsZGF0YSkgICAgICAgICAgCisjZGVmaW5lIERSVl9QV01fUmVnMzIoYWRkcikgICAgICAgICAgICAgICAgICAgICAgRFJWX1JlZzMyKGFkZHIpICAgICAgICAgICAgICAgICAgICAKKyNkZWZpbmUgRFJWX1BXTV9Xcml0ZVJlZzgoYWRkcixkYXRhKSAgICAgICAgICAgICBEUlZfV3JpdGVSZWc4KGFkZHIsZGF0YSkgICAgICAgICAgIAorI2RlZmluZSBEUlZfUFdNX1JlZzgoYWRkcikgICAgICAgICAgICAgICAgICAgICAgIERSVl9SZWc4KGFkZHIpICAgICAgICAgICAgICAgICAgICAgCisjZGVmaW5lIERSVl9QV01fQ2xlYXJCaXRzKGFkZHIsZGF0YSkgICAgICAgICAgICAgRFJWX0NsZWFyQml0cyhhZGRyLGRhdGEpICAgICAgICAgICAKKyNkZWZpbmUgRFJWX1BXTV9TZXRCaXRzKGFkZHIsZGF0YSkgICAgICAgICAgICAgICBEUlZfU2V0Qml0cyhhZGRyLGRhdGEpICAgICAgICAgICAgIAorI2RlZmluZSBEUlZfUFdNX1NldERhdGEoYWRkciwgYml0bWFzaywgdmFsdWUpICAgIERSVl9TZXREYXRhKGFkZHIsIGJpdG1hc2ssIHZhbHVlKSAgCisjZGVmaW5lIERSVl9QV01fQ2xlYXJCaXRzMzIoYWRkcixkYXRhKSAgICAgICAgICAgRFJWX0NsZWFyQml0czMyKGFkZHIsZGF0YSkgICAgICAgICAKKyNkZWZpbmUgRFJWX1BXTV9TZXRCaXRzMzIoYWRkcixkYXRhKSAgICAgICAgICAgICBEUlZfU2V0Qml0czMyKGFkZHIsZGF0YSkgICAgICAgICAgIAorI2RlZmluZSBEUlZfUFdNX1NldERhdGEzMihhZGRyLCBiaXRtYXNrLCB2YWx1ZSkgIERSVl9TZXREYXRhMzIoYWRkciwgYml0bWFzaywgdmFsdWUpCisjZGVmaW5lIERSVl9QV01fQ2xlYXJCaXRzOChhZGRyLGRhdGEpICAgICAgICAgICAgRFJWX0NsZWFyQml0czgoYWRkcixkYXRhKSAgICAgICAgICAKKyNkZWZpbmUgRFJWX1BXTV9TZXRCaXRzOChhZGRyLGRhdGEpICAgICAgICAgICAgICBEUlZfU2V0Qml0czgoYWRkcixkYXRhKSAgICAgICAgICAgIAorI2RlZmluZSBEUlZfUFdNX1NldERhdGE4KGFkZHIsIGJpdG1hc2ssIHZhbHVlKSAgIERSVl9TZXREYXRhOChhZGRyLCBiaXRtYXNrLCB2YWx1ZSkgCisjZW5kaWYgLy8jaWYgZGVmaW5lZChfX0RSVl9DT01NX1JFR19EQkdfXykgJiYgZGVmaW5lZChfX0RSVl9QV01fUkVHX0RCR19fKQorI2VuZGlmCisKZGlmZiAtLWdpdCBhL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvcmVhZG1lLnR4dCBiL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvcmVhZG1lLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9yZWFkbWUudHh0CmRpZmYgLS1naXQgYS9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL3JlZ19wZXJpX3B3cmFwX2JyaWRnZS5oIGIvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9yZWdfcGVyaV9wd3JhcF9icmlkZ2UuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MjYzMDUwCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9yZWdfcGVyaV9wd3JhcF9icmlkZ2UuaApAQCAtMCwwICsxLDQ2IEBACisjaWZuZGVmIF9fUEVSSV9QV1JBUF9CUklER0VfUkVHU19IX18KKyNkZWZpbmUgX19QRVJJX1BXUkFQX0JSSURHRV9SRUdTX0hfXworCisjaW5jbHVkZSAicmVnX2Jhc2UuaCIKKworI2RlZmluZSBQRVJJX1BXUkFQX0JSSURHRV9CQVNFIChBUF9QRVJJX1BXUkFQX0JSSURHRV9iYXNlKQorCisjZGVmaW5lIFBFUklfUFdSQVBfQlJJREdFX0lBUkJfSU5JVCAgICAgICAgICAgICAoUEVSSV9QV1JBUF9CUklER0VfQkFTRSsweDApCisjZGVmaW5lIFBFUklfUFdSQVBfQlJJREdFX0lPUkRfQVJCX0VOICAgICAgICAgICAoUEVSSV9QV1JBUF9CUklER0VfQkFTRSsweDQpCisjZGVmaW5lIFBFUklfUFdSQVBfQlJJREdFX0lBUkJfU1RBMCAgICAgICAgICAgICAoUEVSSV9QV1JBUF9CUklER0VfQkFTRSsweDgpCisjZGVmaW5lIFBFUklfUFdSQVBfQlJJREdFX0lBUkJfU1RBMSAgICAgICAgICAgICAoUEVSSV9QV1JBUF9CUklER0VfQkFTRSsweEMpCisjZGVmaW5lIFBFUklfUFdSQVBfQlJJREdFX1dBQ1MzX0VOICAgICAgICAgICAgICAoUEVSSV9QV1JBUF9CUklER0VfQkFTRSsweDEwKQorI2RlZmluZSBQRVJJX1BXUkFQX0JSSURHRV9JTklUX0RPTkUzICAgICAgICAgICAgKFBFUklfUFdSQVBfQlJJREdFX0JBU0UrMHgxNCkKKyNkZWZpbmUgUEVSSV9QV1JBUF9CUklER0VfV0FDUzNfQ01EICAgICAgICAgICAgIChQRVJJX1BXUkFQX0JSSURHRV9CQVNFKzB4MTgpCisjZGVmaW5lIFBFUklfUFdSQVBfQlJJREdFX1dBQ1MzX1JEQVRBICAgICAgICAgICAoUEVSSV9QV1JBUF9CUklER0VfQkFTRSsweDFDKQorI2RlZmluZSBQRVJJX1BXUkFQX0JSSURHRV9XQUNTM19WTERDTFIgICAgICAgICAgKFBFUklfUFdSQVBfQlJJREdFX0JBU0UrMHgyMCkKKyNkZWZpbmUgUEVSSV9QV1JBUF9CUklER0VfV0FDUzRfRU4gICAgICAgICAgICAgIChQRVJJX1BXUkFQX0JSSURHRV9CQVNFKzB4MjQpCisjZGVmaW5lIFBFUklfUFdSQVBfQlJJREdFX0lOSVRfRE9ORTQgICAgICAgICAgICAoUEVSSV9QV1JBUF9CUklER0VfQkFTRSsweDI4KQorI2RlZmluZSBQRVJJX1BXUkFQX0JSSURHRV9XQUNTNF9DTUQgICAgICAgICAgICAgKFBFUklfUFdSQVBfQlJJREdFX0JBU0UrMHgyQykKKyNkZWZpbmUgUEVSSV9QV1JBUF9CUklER0VfV0FDUzRfUkRBVEEgICAgICAgICAgIChQRVJJX1BXUkFQX0JSSURHRV9CQVNFKzB4MzApCisjZGVmaW5lIFBFUklfUFdSQVBfQlJJREdFX1dBQ1M0X1ZMRENMUiAgICAgICAgICAoUEVSSV9QV1JBUF9CUklER0VfQkFTRSsweDM0KQorI2RlZmluZSBQRVJJX1BXUkFQX0JSSURHRV9JTlRfRU4gICAgICAgICAgICAgICAgKFBFUklfUFdSQVBfQlJJREdFX0JBU0UrMHgzOCkKKyNkZWZpbmUgUEVSSV9QV1JBUF9CUklER0VfSU5UX0ZMR19SQVcgICAgICAgICAgIChQRVJJX1BXUkFQX0JSSURHRV9CQVNFKzB4M0MpCisjZGVmaW5lIFBFUklfUFdSQVBfQlJJREdFX0lOVF9GTEcgICAgICAgICAgICAgICAoUEVSSV9QV1JBUF9CUklER0VfQkFTRSsweDQwKQorI2RlZmluZSBQRVJJX1BXUkFQX0JSSURHRV9JTlRfQ0xSICAgICAgICAgICAgICAgKFBFUklfUFdSQVBfQlJJREdFX0JBU0UrMHg0NCkKKyNkZWZpbmUgUEVSSV9QV1JBUF9CUklER0VfVElNRVJfRU4gICAgICAgICAgICAgIChQRVJJX1BXUkFQX0JSSURHRV9CQVNFKzB4NDgpCisjZGVmaW5lIFBFUklfUFdSQVBfQlJJREdFX1RJTUVSX1NUQSAgICAgICAgICAgICAoUEVSSV9QV1JBUF9CUklER0VfQkFTRSsweDRDKQorI2RlZmluZSBQRVJJX1BXUkFQX0JSSURHRV9XRFRfVU5JVCAgICAgICAgICAgICAgKFBFUklfUFdSQVBfQlJJREdFX0JBU0UrMHg1MCkKKyNkZWZpbmUgUEVSSV9QV1JBUF9CUklER0VfV0RUX1NSQ19FTiAgICAgICAgICAgIChQRVJJX1BXUkFQX0JSSURHRV9CQVNFKzB4NTQpCisjZGVmaW5lIFBFUklfUFdSQVBfQlJJREdFX1dEVF9GTEcgICAgICAgICAgICAgICAoUEVSSV9QV1JBUF9CUklER0VfQkFTRSsweDU4KQorI2RlZmluZSBQRVJJX1BXUkFQX0JSSURHRV9ERUJVR19JTlRfU0VMICAgICAgICAgKFBFUklfUFdSQVBfQlJJREdFX0JBU0UrMHg1QykKKworCisjZGVmaW5lIEdFVF9XQUNTM19SREFUQSh4KSAgICAgICAgICAgKCh4Pj4wKSAgJiAweDAwMDBmZmZmKQorI2RlZmluZSBHRVRfV0FDUzNfRlNNKHgpICAgICAgICAgICAgICgoeD4+MTYpICYgMHgwMDAwMDAwNykKKyNkZWZpbmUgR0VUX1dBQ1MzX1JFUSh4KSAgICAgICAgICAgICAoKHg+PjE5KSAmIDB4MDAwMDAwMDEpCisjZGVmaW5lIEdFVF9TWU5DX0lETEUzKHgpICAgICAgICAgICAgKCh4Pj4yMCkgJiAweDAwMDAwMDAxKQorI2RlZmluZSBHRVRfSU5JVF9ET05FMyh4KSAgICAgICAgICAgICgoeD4+MjEpICYgMHgwMDAwMDAwMSkKKyNkZWZpbmUgR0VUX1dBQ1M0X1JEQVRBKHgpICAgICAgICAgICAoKHg+PjApICAmIDB4MDAwMGZmZmYpCisjZGVmaW5lIEdFVF9XQUNTNF9GU00oeCkgICAgICAgICAgICAgKCh4Pj4xNikgJiAweDAwMDAwMDA3KQorI2RlZmluZSBHRVRfV0FDUzRfUkVRKHgpICAgICAgICAgICAgICgoeD4+MTkpICYgMHgwMDAwMDAwMSkKKyNkZWZpbmUgR0VUX1NZTkNfSURMRTQoeCkgICAgICAgICAgICAoKHg+PjIwKSAmIDB4MDAwMDAwMDEpCisjZGVmaW5lIEdFVF9JTklUX0RPTkU0KHgpICAgICAgICAgICAgKCh4Pj4yMSkgJiAweDAwMDAwMDAxKQorCisjZW5kaWYgLy9fX1BFUklfUFdSQVBfQlJJREdFX1JFR1NfSF9fCisKZGlmZiAtLWdpdCBhL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvcnRjX2h3LmggYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL3J0Y19ody5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM3YWViODIKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL3J0Y19ody5oCkBAIC0wLDAgKzEsMzQ5IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMDUKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4gCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRmlsZW5hbWU6CisgKiAtLS0tLS0tLS0KKyAqICAgIHJ0Y19ody5oCisgKgorICogUHJvamVjdDoKKyAqIC0tLS0tLS0tCisgKiAgIE1hdWlfU29mdHdhcmUKKyAqCisgKiBEZXNjcmlwdGlvbjoKKyAqIC0tLS0tLS0tLS0tLQorICogICBUaGlzIGZpbGUgaXMgaW50ZW5kcyBmb3IgUlRDIGRyaXZlci4KKyAqCisgKiBBdXRob3I6CisgKiAtLS0tLS0tCisgKiAtLS0tLS0tCisgKgorICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKiAgICAgICAgICAgICBISVNUT1JZCisgKiBCZWxvdyB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiBVcHBlciB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZm5kZWYgX1JUQ19IV19ICisjZGVmaW5lIF9SVENfSFdfSAorI2luY2x1ZGUgInJlZ19iYXNlLmgiCisKKyNpZiAhZGVmaW5lZChEUlZfUlRDX09GRikKKy8qKioqKioqKioqKioqKioqKgorICogUlRDIFJlZ2lzdGVycyAqCisgKioqKioqKioqKioqKioqKiovCisjZGVmaW5lIFJUQ19CQlBVICAgICAgICAoUlRDX2Jhc2UrMHgwMDAwKSAvKkJhc2ViYW5kIFBvd2VyLXVwIGN0cmwgICovCisjZGVmaW5lIFJUQ19JUlFfU1RBVFVTICAoUlRDX2Jhc2UrMHgwMDA0KSAvKklSUSBTdGF0dXMgICAgICAgICAgICAgICovCisjZGVmaW5lIFJUQ19JUlFfRU4gICAgICAoUlRDX2Jhc2UrMHgwMDA4KSAvKklSUSBFbmFibGUgICAgICAgICAgICAgICovCisjZGVmaW5lIFJUQ19DSUlfRU4gICAgICAoUlRDX2Jhc2UrMHgwMDBDKSAvKkNvdW50ZXIgaW5jcmVtZW50IElSUSAgICovCisjZGVmaW5lIFJUQ19BTF9NQVNLICAgICAoUlRDX2Jhc2UrMHgwMDEwKS8qQWxhcm0gbWFzayBjb250cm9sICAgICAgKi8KKyNkZWZpbmUgUlRDX1RDX1NFQyAgICAgIChSVENfYmFzZSsweDAwMTQpLypTZWNvbmQgdGltZSBjb3VudGVyICAgICAqLworI2RlZmluZSBSVENfVENfTUlOICAgICAgKFJUQ19iYXNlKzB4MDAxOCkvKk1pbnV0ZSB0aW1lIGNvdW50ZXIgICAgICovCisjZGVmaW5lIFJUQ19UQ19IT1UgICAgICAoUlRDX2Jhc2UrMHgwMDFDKS8qSG91ciB0aW1lIGNvdW50ZXIgICAgICAgKi8KKyNkZWZpbmUgUlRDX1RDX0RPTSAgICAgIChSVENfYmFzZSsweDAwMjApLypEYXkgb2YgTXRoIHRpbWUgY291bnRlciAqLworI2RlZmluZSBSVENfVENfRE9XICAgICAgKFJUQ19iYXNlKzB4MDAyNCkvKkRheSBvZiBXayB0aW1lIGNvdW50ZXIgICovCisjZGVmaW5lIFJUQ19UQ19NVEggICAgICAoUlRDX2Jhc2UrMHgwMDI4KS8qTW9udGggdGltZSBjb3VudGVyICAgICAgKi8KKyNkZWZpbmUgUlRDX1RDX1lFQSAgICAgIChSVENfYmFzZSsweDAwMkMpLypZZWFyIHRpbWUgY291bnRlciAgICAgICAqLworI2RlZmluZSBSVENfQUxfU0VDICAgICAgKFJUQ19iYXNlKzB4MDAzMCkvKlNlY29uZCBhbGFybSAgICAgICAgICAgICovCisjZGVmaW5lIFJUQ19BTF9NSU4gICAgICAoUlRDX2Jhc2UrMHgwMDM0KS8qTWludXRlIGFsYXJtICAgICAgICAgICAgKi8KKyNkZWZpbmUgUlRDX0FMX0hPVSAgICAgIChSVENfYmFzZSsweDAwMzgpLypIb3VyIGFsYXJtICAgICAgICAgICAgICAqLworI2RlZmluZSBSVENfQUxfRE9NICAgICAgKFJUQ19iYXNlKzB4MDAzQykvKkRheSBvZiBNb250aCBhbGFybSAgICAgICovCisjZGVmaW5lIFJUQ19BTF9ET1cgICAgICAoUlRDX2Jhc2UrMHgwMDQwKS8qRGF5IG9mIFdlZWsgYWxhcm0gICAgICAgKi8KKyNkZWZpbmUgUlRDX0FMX01USCAgICAgIChSVENfYmFzZSsweDAwNDQpLypNb250aCBhbGFybSAgICAgICAgICAgICAqLworI2RlZmluZSBSVENfQUxfWUVBICAgICAgKFJUQ19iYXNlKzB4MDA0OCkvKlllYXIgYWxhcm0gICAgICAgICAgICAgICovCisjZGVmaW5lIFJUQ19YT1NDQ0FMICAgICAoUlRDX2Jhc2UrMHgwMDRDKQorI2RlZmluZSBSVENfUE9XRVJLRVkxICAgKFJUQ19iYXNlKzB4MDA1MCkKKyNkZWZpbmUgUlRDX1BPV0VSS0VZMiAgIChSVENfYmFzZSsweDAwNTQpCisjaWYgZGVmaW5lZChEUlZfUlRDX1JFR19DT01NKQorICAgI2RlZmluZSBSVENfSU5GTzEgICAgKFJUQ19iYXNlKzB4MDA1OCkKKyAgICNkZWZpbmUgUlRDX0lORk8yICAgIChSVENfYmFzZSsweDAwNWMpCisjaWYgZGVmaW5lZChEUlZfUlRDX1dfRkxBRykKKyAgICNkZWZpbmUgUlRDX1dfRkxBRyAgIChSVENfYmFzZSsweDAwNjApICAgCisjZW5kaWYKKyNlbmRpZiAgIC8qRFJWX1JUQ19SRUdfQ09NTSovCisKKyNpZiBkZWZpbmVkKERSVl9SVENfSFdfQ0FMSSkKKyNkZWZpbmUgUlRDX1NQQVIwICAgICAgIChSVENfYmFzZSsweDAwNjApCisjZGVmaW5lIFJUQ19TUEFSMSAgICAgICAoUlRDX2Jhc2UrMHgwMDY0KQorI2RlZmluZSBSVENfUFJPVCAgICAgICAgKFJUQ19iYXNlKzB4MDA2OCkKKyNkZWZpbmUgUlRDX0RJRkYgICAgICAgIChSVENfYmFzZSsweDAwNkMpCisjZGVmaW5lIFJUQ19DQUxJICAgICAgICAoUlRDX2Jhc2UrMHgwMDcwKQorI2RlZmluZSBSVENfV1JUR1IgICAgICAgKFJUQ19iYXNlKzB4MDA3NCkKKyNlbmRpZiAvKiBEUlZfUlRDX0hXX0NBTEkgKi8KKworI2lmIGRlZmluZWQoRFJWX1JUQ19HUElPKQorI2RlZmluZSBSVENfR1BJTyAgICAgICAoUlRDX2Jhc2UrMHgwMDc4KQorI2VuZGlmIC8qIERSVl9SVENfR1BJTyAqLworCisvL1JUQ19JUlFfU1RBVFVTCisjZGVmaW5lIFJUQ19JUlFfU1RBVFVTX0FMX1NUQVQJCTB4MDAwMQorI2RlZmluZSBSVENfSVJRX1NUQVRVU19UQ19TVEFUCQkweDAwMDIKKyNpZiBkZWZpbmVkKERSVl9SVENfTE9XX1BPV0VSX0RFVEVDVCkKKyNkZWZpbmUgUlRDX0lSUV9TVEFUVVNfTFBfU1RBVAkJMHgwMDA4CisjZW5kaWYgLyogRFJWX1JUQ19HUElPICovCisKKy8vUlRDX0lSUV9FTgorI2RlZmluZQlSVENfSVJRX0VOX0FMCQkgICAweDAwMDEKKyNkZWZpbmUJUlRDX0lSUV9FTl9UQwkJICAgMHgwMDAyCisjZGVmaW5lCVJUQ19JUlFfRU5fT05FU0hPVAkweDAwMDQKKworI2RlZmluZQlSVENfSVJRX0VOX0FMTE9GRgkgICAweDAwMDAKKworLy9SVENfQ0lJX0VOCisjZGVmaW5lCVJUQ19DSUlfRU5fU0VDCQkweDAwMDEKKyNkZWZpbmUJUlRDX0NJSV9FTl9NSU4JCTB4MDAwMgorI2RlZmluZQlSVENfQ0lJX0VOX0hPVQkJMHgwMDA0CisjZGVmaW5lCVJUQ19DSUlfRU5fRE9NCQkweDAwMDgKKyNkZWZpbmUJUlRDX0NJSV9FTl9ET1cJCTB4MDAxMAorI2RlZmluZQlSVENfQ0lJX0VOX01USAkJMHgwMDIwCisjZGVmaW5lCVJUQ19DSUlfRU5fWUVBCQkweDAwNDAKKyNkZWZpbmUJUlRDX0NJSV9FTl9BTExPRkYJMHgwMDAwCisjaWYgZGVmaW5lZChEUlZfUlRDX0NJSV9IQUxGX1NFQykKKyAgICNkZWZpbmUJUlRDX0NJSV9FTl8xXzJTCQkweDAwODAKKyAgICNkZWZpbmUJUlRDX0NJSV9FTl8xXzRTCQkweDAxMDAKKyAgICNkZWZpbmUJUlRDX0NJSV9FTl8xXzhTCSAgIDB4MDIwMAorI2VuZGlmICAgLypEUlZfUlRDX0NJSV9IQUxGX1NFQyovCisKKy8vUlRDX0FMX01BU0ssIG1hc2sgPT0+IDEgY2xvc2UgaW50ciwgMCBvcGVuIGludHIuCisjZGVmaW5lCVJUQ19BTF9NQVNLX1NFQwkJMHgwMDAxCisjZGVmaW5lCVJUQ19BTF9NQVNLX01JTgkJMHgwMDAzCisjZGVmaW5lCVJUQ19BTF9NQVNLX0hPVQkJMHgwMDA3CisjZGVmaW5lCVJUQ19BTF9NQVNLX0RPTQkJMHgwMDBmCisjZGVmaW5lCVJUQ19BTF9NQVNLX0RPVwkJMHgwMDE3CisjZGVmaW5lCVJUQ19BTF9NQVNLX01USAkJMHgwMDJmCisjZGVmaW5lCVJUQ19BTF9NQVNLX1lFQQkJMHgwMDZmCisjZGVmaW5lCVJUQ19BTF9NQVNLX0FMTE9GRgkweDAwMDAKKyNkZWZpbmUgUlRDX0FMX01BU0tfTk9STUFMCSAgIChSVENfQUxfTUFTS19IT1UgfCBSVENfQUxfTUFTS19NSU4pCisKKy8vUlRDX1BPV0VSS0VZCisjZGVmaW5lIFJUQ19QT1dFUktFWTFfS0VZCTB4YTM1NworI2RlZmluZSBSVENfUE9XRVJLRVkyX0tFWQkweDY3ZDIKKworI2RlZmluZSBSVENfUFJPVEVDVDEgMHg1ODZhCisjZGVmaW5lIFJUQ19QUk9URUNUMiAweDkxMzYKKworI2lmIGRlZmluZWQoRFJWX1JUQ19JTkZPX01BU0spCisgICAjZGVmaW5lIFJUQ19JTkZPMV9SRVNFVERUSU1FICAweDAwMGYKKyAgICNkZWZpbmUgUlRDX0lORk8xX0lORk9fTUFTSyAgIDB4MDBmMAorICAgI2RlZmluZSBSVENfSU5GTzJfSU5GT19NQVNLICAgMHgwMGZmCisjZW5kaWYgICAvKkRSVl9SVENfSU5GT19NQVNLKi8KKworI2lmIGRlZmluZWQoRFJWX1JUQ19SRUdfQ09NTSkKKyNpZiAhZGVmaW5lZChEUlZfUlRDX1BETl9FWFRFTkQpCisjZGVmaW5lIFJUQ19QRE4xX01BU0sgMHgwMGYxCisjZW5kaWYgLyohZGVmaW5lZChEUlZfUlRDX1BETl9FWFRFTkQpKi8KKyNlbmRpZiAgIC8qRFJWX1JUQ19SRUdfQ09NTSovCisKKworI2lmIGRlZmluZWQoRFJWX1JUQ19XX0ZMQUcpCisKKyNkZWZpbmUgIFJUQ19QT1dFUktFWV9CVVNZICAweDMKKyNkZWZpbmUgIFJUQ19CQlBVX0JVU1kgIDB4NAorI2RlZmluZSAgUlRDX1RJTUVfQlVTWSAgMHg4MDAwCisKKyNlbmRpZgorCisjaWYgZGVmaW5lZChEUlZfUlRDX0hXX0NBTEkpCisjZGVmaW5lIFJUQ19ESUZGX01BU0sgICAweDBmZmYKKyNkZWZpbmUgUlRDX0NBTElfTUFTSyAgIDB4MDA3ZgorI2RlZmluZSBSVENfV1JUR1JfV1JUR1IgMHgwMDAxCisjZW5kaWYKKworCisjZGVmaW5lIFJUQ19PU0MzMl9BTVBfRU4gICAgICAgICAgICAweDEwMAorCisjaWYgZGVmaW5lZChEUlZfUlRDX0lOVEVSTkFMXzMyS19BU182MjU1KQorI2RlZmluZSBSVENfT1NDMzJfWE9TQzMyX0VOQiAgICAgICAgMHgwMjAKKyNkZWZpbmUgUlRDX09TQzMyX0VNQkNLX1NFTF9NT0RFICAgIDB4MDQwCisjZGVmaW5lIFJUQ19PU0MzMl9FTUJDS19TRUwgICAgICAgICAweDA4MAorI2RlZmluZSBSVENfT1NDMzJfRU9TQ19DSE9QX0VOICAgICAgMHg0MDAKKworI2RlZmluZSBSVENfR1BJT19WQkFUX0xQU1RBX1JBVyAgICAgMHgwMDAxCisjZGVmaW5lIFJUQ19HUElPX0VNQkNLX1NXSVRDSF9GQUlMICAweDAwMDIKKyNlbmRpZgorCisjaWYgZGVmaW5lZChEUlZfUlRDX0dQSU8pCisjZGVmaW5lIFJUQ19HUElPX0xQRU4gCQkJMHgwMDA0CisjZGVmaW5lIFJUQ19HUElPX0xQUlNUCQkJMHgwMDA4CisjZGVmaW5lIFJUQ19HUElPX0NEQk8JCQkweDAwMTAKKyNkZWZpbmUgUlRDX0dQSU9fRjMyS09CCQkgICAgMHgwMDIwCisjZGVmaW5lIFJUQ19HUElPX0dQTwkJCTB4MDA0MAorI2RlZmluZSBSVENfR1BJT19HT0UJCQkweDAwODAKKyNkZWZpbmUgUlRDX0dQSU9fR1NSCQkJMHgwMTAwCisjZGVmaW5lIFJUQ19HUElPX0dTTVQJCQkweDAyMDAKKyNkZWZpbmUgUlRDX0dQSU9fR1BFTgkJCTB4MDQwMAorI2RlZmluZSBSVENfR1BJT19HUFUJCQkweDA4MDAKKyNkZWZpbmUgUlRDX0dQSU9fR0U0CQkJMHgxMDAwCisjZGVmaW5lIFJUQ19HUElPX0dFOAkJCTB4MjAwMAorI2RlZmluZSBSVENfR1BJT19HUEkJCQkweDQwMDAKKyNkZWZpbmUgUlRDX0dQSU9fTFBTVEFfUkFXCTB4ODAwMAorI2VuZGlmCisKKyNlbmRpZiAvKiFkZWZpbmVkKERSVl9SVENfT0ZGKSovCisKKyNlbmRpZiAgIC8qX1JUQ19IV19IKi8KKwpkaWZmIC0tZ2l0IGEvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9ydGNfc3cuaCBiL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvcnRjX3N3LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzk0ZTM3MwotLS0gL2Rldi9udWxsCisrKyBiL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvcnRjX3N3LmgKQEAgLTAsMCArMSBAQAorLyogRW1wdHkgKi8KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL3J0Y19zd19uZXcuaCBiL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvcnRjX3N3X25ldy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlmYTgxMWUKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL3J0Y19zd19uZXcuaApAQCAtMCwwICsxLDU0NCBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDA1CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuIAorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZpbGVuYW1lOgorICogLS0tLS0tLS0tCisgKiAgICBydGNfc3cuaAorICoKKyAqIFByb2plY3Q6CisgKiAtLS0tLS0tLQorICogICBNYXVpX1NvZnR3YXJlCisgKgorICogRGVzY3JpcHRpb246CisgKiAtLS0tLS0tLS0tLS0KKyAqICAgVGhpcyBmaWxlIGlzIGludGVuZHMgZm9yIFJUQyBkcml2ZXIgYW5kIGFkYXB0aW9uLgorICoKKyAqIEF1dGhvcjoKKyAqIC0tLS0tLS0KKyAqIC0tLS0tLS0KKyAqCisgKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqICAgICAgICAgICAgIEhJU1RPUlkKKyAqIEJlbG93IHRoaXMgbGluZSwgdGhpcyBwYXJ0IGlzIGNvbnRyb2xsZWQgYnkgUFZDUyBWTS4gRE8gTk9UIE1PRElGWSEhCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIFVwcGVyIHRoaXMgbGluZSwgdGhpcyBwYXJ0IGlzIGNvbnRyb2xsZWQgYnkgUFZDUyBWTS4gRE8gTk9UIE1PRElGWSEhCisgKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmbmRlZiBfUlRDX1NXX0gKKyNkZWZpbmUgX1JUQ19TV19ICisKKyNpbmNsdWRlICJkcnZfY29tbS5oIgorI2luY2x1ZGUgImthbF9nZW5lcmFsX3R5cGVzLmgiCisjaW5jbHVkZSAia2FsX3B1YmxpY19kZWZzLmgiCisKKyNkZWZpbmUgT05FX1NIT1RfRElTCQkwCisjZGVmaW5lIE9ORV9TSE9UX0VOCQkxCisKKyNkZWZpbmUgUlRDX0JCUFVfS0VZCQkgICAgICAgICAgICAgICAweDQzMDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorI2RlZmluZSBSVENfQkJQVV9BTEFSTV9TVwkgICAgICAgICAgICAweDAwMDEKKyNpZiBkZWZpbmVkKERSVl9SVENfQkJQVV9BU182MjA1KSB8fCBkZWZpbmVkKERSVl9SVENfQkJQVV9BU182MjA4KSB8fCBkZWZpbmVkKEZQR0EpCisgICAjZGVmaW5lIFJUQ19CQlBVX1BXUl9QT0xBUklUWQkgICAgICAweDAwMDIKKyNlbmRpZiAgIC8qRFJWX1JUQ19CQlBVX0FTXzYyMDUsRFJWX1JUQ19CQlBVX0FTXzYyMDgsRlBHQSovCisKKyNpZiBkZWZpbmVkKERSVl9SVENfQkJQVV9BU182MjA1QikgfHwgZGVmaW5lZChEUlZfUlRDX0JCUFVfQVNfNjIzOCkKKyAgICNkZWZpbmUgUlRDX0JCUFVfV1JJVEVfRU4gICAgICAgICAgIDB4MDAwMgorICAgI2RlZmluZSBSVENfQkJQVV9QV1JfU1cJICAgICAgICAgICAgMHgwMDA0CisgICAjZGVmaW5lIFJUQ19CQlBVX0FVVE9QRE4gICAgICAgICAgICAweDAwMDgKKyAgICNpZiAgZGVmaW5lZChEUlZfUlRDX0JCUFVfQVNfNjIzOCkKKyAgICAgICNkZWZpbmUgUlRDX0JCUFVfQ0xSUEtZICAgICAgICAgICAgMHgwMDEwCisgICAgICAjZGVmaW5lIFJUQ19CQlBVX1JFTE9BRCAgICAgICAgICAgIDB4MDAyMAorICAgICAgI2RlZmluZSBSVENfQkJQVV9DQlVTWSAgICAgICAgICAgICAweDAwNDAKKyAgICAgICNkZWZpbmUgUlRDX0JCUFVfREJJTkcgICAgICAgICAgICAgMHgwMDgwCisgICAjZW5kaWYKKyNlbmRpZiAgIC8qRFJWX1JUQ19CQlBVX0FTXzYyMDVCKi8KKworI2lmIGRlZmluZWQoRFJWX1JUQ19CQlBVX0FTXzYyMTgpCisgICAjZGVmaW5lIFJUQ19CQlBVX1BXUl9QT0xBUklUWSAgICAgICAweDAwMDIKKyAgICNkZWZpbmUgUlRDX0JCUFVfUFdSX1NXCSAgICAgICAgICAgIDB4MDAwNAorICAgI2RlZmluZSBSVENfQkJQVV9BVVRPUEROICAgICAgICAgICAgMHgwMDA4CisjZW5kaWYgICAvKkRSVl9SVENfQkJQVV9BU182MjE4Ki8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorI2lmIGRlZmluZWQoRFJWX1JUQ19CQlBVX0FTXzYyMDUpCisgICAjZGVmaW5lIFJUQ19CQlBVX1BXUl9TVwkgICAgICAgICAgICAweDAwMDQKKyAgICNkZWZpbmUgUlRDX0JCUFVfUEROX1hPU0MzMksJCSAgIDB4MDAxMAorI2VuZGlmIC8qKERSVl9SVENfQkJQVV9BU182MjA1KSovCisjaWYgZGVmaW5lZChEUlZfUlRDX0JCUFVfQVNfNjIwOCkgfHwgZGVmaW5lZChGUEdBKQorICAgI2RlZmluZSBSVENfQkJQVV9QRE5fWE9TQzMySwkJICAgMHgwMDA0CisgICAjZGVmaW5lIFJUQ19CQlBVX1BXUl9TVwkgICAgICAgICAgICAweDAwMTAKKyNlbmRpZiAvKihEUlZfUlRDX0JCUFVfQVNfNjIwOCxGUEdBKSovCisKKyNpZiBkZWZpbmVkKERSVl9SVENfQkJQVV9BU182Mjc2KQorICAjZGVmaW5lIFJUQ19CQlBVX1BXUl9TVwkgICAgICAgICAgICAweDAwMDQgCisgICNkZWZpbmUgUlRDX0JCUFVfQVVUT1BETiAgICAgICAgICAgIDB4MDAwOAorICAjZGVmaW5lIFJUQ19CQlBVX0NMUlBLWSAgICAgICAgICAgIDB4MDAxMAorICAjZGVmaW5lIFJUQ19CQlBVX1JFTE9BRCAgICAgICAgICAgIDB4MDAyMAorICAjZGVmaW5lIFJUQ19CQlBVX0NCVVNZICAgICAgICAgICAgIDB4MDA0MAorI2VuZGlmICAgLypEUlZfUlRDX0JCUFVfQVNfNjIwNUIqLworCisKKyNpZiBkZWZpbmVkKERSVl9SVENfQkJQVV9BU182MjA1KSB8fCBkZWZpbmVkKERSVl9SVENfQkJQVV9BU182MjA4KSB8fCBkZWZpbmVkKEZQR0EpCisgICAjZGVmaW5lIFJUQ19CQlBVX1BPV0VST04gICAgICAgIChSVENfQkJQVV9QRE5fWE9TQzMyS3xSVENfQkJQVV9QV1JfU1d8UlRDX0JCUFVfUFdSX1BPTEFSSVRZfFJUQ19CQlBVX0FMQVJNX1NXfFJUQ19CQlBVX0tFWSkKKyAgICNkZWZpbmUgUlRDX0JCUFVfUE9XRVJPRkYgICAgICAgKFJUQ19CQlBVX1BETl9YT1NDMzJLfFJUQ19CQlBVX1BXUl9QT0xBUklUWXxSVENfQkJQVV9BTEFSTV9TV3xSVENfQkJQVV9LRVkpCisjZW5kaWYgICAvKkRSVl9SVENfQkJQVV9BU182MjA1LERSVl9SVENfQkJQVV9BU182MjA4LEZQR0EqLworCisjaWYgZGVmaW5lZChEUlZfUlRDX0JCUFVfQVNfNjIwNUIpIHx8IGRlZmluZWQoRFJWX1JUQ19CQlBVX0FTXzYyMzgpCisgICAjZGVmaW5lIFJUQ19CQlBVX1BPV0VST04gICAgICAgIChSVENfQkJQVV9QV1JfU1d8UlRDX0JCUFVfV1JJVEVfRU58UlRDX0JCUFVfQUxBUk1fU1d8UlRDX0JCUFVfQVVUT1BETnxSVENfQkJQVV9LRVkpCisgICAjZGVmaW5lIFJUQ19CQlBVX1BPV0VST0ZGICAgICAgIChSVENfQkJQVV9XUklURV9FTnxSVENfQkJQVV9BTEFSTV9TV3xSVENfQkJQVV9BVVRPUEROfFJUQ19CQlBVX0tFWSkKKyNlbmRpZiAgIC8qRFJWX1JUQ19CQlBVX0FTXzYyMDVCKi8KKy8qMDIyNyBUWSByZW1vdmVzIFJUQ19CQlBVX0FMQVJNX1NXKi8KKyNpZiBkZWZpbmVkKERSVl9SVENfQkJQVV9BU182MjE4KQorICAgI2RlZmluZSBSVENfQkJQVV9QT1dFUk9OICAgICAgICAoUlRDX0JCUFVfUFdSX1NXfFJUQ19CQlBVX1BXUl9QT0xBUklUWXxSVENfQkJQVV9BTEFSTV9TV3xSVENfQkJQVV9BVVRPUEROfFJUQ19CQlBVX0tFWSkKKyAgICNkZWZpbmUgUlRDX0JCUFVfUE9XRVJPRkYgICAgICAgKFJUQ19CQlBVX1BXUl9QT0xBUklUWXxSVENfQkJQVV9BTEFSTV9TV3xSVENfQkJQVV9BVVRPUEROfFJUQ19CQlBVX0tFWSkKKyNlbmRpZiAgIC8qRFJWX1JUQ19CQlBVX0FTXzYyMTgqLworCisjaWYgZGVmaW5lZChEUlZfUlRDX0JCUFVfQVNfNjI3NikKKyAgICNkZWZpbmUgUlRDX0JCUFVfUE9XRVJPTiAgICAgICAgKFJUQ19CQlBVX1BXUl9TV3xSVENfQkJQVV9BTEFSTV9TV3xSVENfQkJQVV9BVVRPUEROfFJUQ19CQlBVX0tFWSkKKyAgICNkZWZpbmUgUlRDX0JCUFVfUE9XRVJPRkYgICAgICAgKFJUQ19CQlBVX0FMQVJNX1NXfFJUQ19CQlBVX0FVVE9QRE58UlRDX0JCUFVfS0VZKQorI2VuZGlmICAgLypEUlZfUlRDX0JCUFVfQVNfNjIwNUIqLworCit0eXBlZGVmIHN0cnVjdCBfX3J0YyAKK3sKKwlrYWxfdWludDgJCXJ0Y19zZWM7ICAgIC8qIHNlY29uZHMgYWZ0ZXIgdGhlIG1pbnV0ZSAgIC0gWzAsNTldICAqLworCWthbF91aW50OAkJcnRjX21pbjsgICAgLyogbWludXRlcyBhZnRlciB0aGUgaG91ciAgICAgLSBbMCw1OV0gICovCisJa2FsX3VpbnQ4CQlydGNfaG91cjsgICAvKiBob3VycyBhZnRlciB0aGUgbWlkbmlnaHQgICAtIFswLDIzXSAgKi8KKwlrYWxfdWludDgJCXJ0Y19kYXk7ICAgIC8qIGRheSBvZiB0aGUgbW9udGggICAgICAgICAgIC0gWzEsMzFdICAqLworCWthbF91aW50OAkJcnRjX21vbjsgICAgLyogbW9udGhzIAkJICAgICAgICAgICAgICAgLSBbMSwxMl0gKi8KKwlrYWxfdWludDgJCXJ0Y193ZGF5OyAgIC8qIGRheXMgaW4gYSB3ZWVrIAkJICAgICAgLSBbMSw3XSAqLworCWthbF91aW50OAkJcnRjX3llYXI7ICAgLyogeWVhcnMgICAgICAgICAgICAgICAgICAgICAgLSBbMCwxMjddICovCit9IHRfcnRjOworCit0eXBlZGVmIHN0cnVjdCAKK3sKKwl2b2lkICgqcnRjX3RjZnVuYykodm9pZCk7CisJdm9pZCAoKnJ0Y19hbGZ1bmMpKHZvaWQpOyAKK31ydGNfY2FsbGJhYzsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIGthbF9oaXNyaWQgaGlzcjsKK31ydGNfbW9kdWxlOworCit0eXBlZGVmIHN0cnVjdAorewora2FsX2Jvb2wgICAgIHRpbWVfdmFsaWQ7Cit0X3J0YyAgICAgICAgcnRjX3RpbWU7CitrYWxfYm9vbCAgICAgdGlja3NfZGlmZl92YWxpZDsKK2thbF9pbnQzMiAgICB0aWNrc19kaWZmX3Blcl9ob3VyOworfSBydGNfbnZyYW1fZGF0YTsKKwordHlwZWRlZiBzdHJ1Y3R7CisgICBtb2R1bGVfdHlwZSAgICAgICBkZXN0X21vZF9pZDsKKyAgIHNhcF90eXBlICAgICAgICAgIHNhcF9pZDsKKyAgIG1zZ190eXBlICAgICAgICAgIG1zZ19pZDsKK31SVENfUkVHX01PRFVMRV9JTE1fSU5GT19UOworCit0eXBlZGVmIGVudW0KK3sKKyAgICBydGNfcGRuMSA9IDAsCisgICAgcnRjX3BkbjIsCisgICAgcnRjX21heF9pbmRleAorfSBSVENfUEROX0lOREVYOworCisjaWYgZGVmaW5lZChEUlZfUlRDX1JFR19TUEFSKQordHlwZWRlZiBlbnVtCit7CisgICAgcnRjX3NwYXIwID0gMCwKKyAgICBydGNfc3BhcjEsCisgICAgcnRjX3NwYXJfbWF4X2luZGV4Cit9UlRDX1NQQVJfSU5ERVg7CisjZW5kaWYKKworI2lmIGRlZmluZWQoRFJWX1JUQ19HUElPKQordHlwZWRlZiBlbnVtIHsKKyAgIFJUQ19HUElPX0RJU0FCTEUgPSAwLAorICAgUlRDX0dQSU9fRVhQT1JUXzMySywKKyAgIFJUQ19HUElPX0VYUE9SVF9DT1JFREVUQiwKK31SVENfR1BJT19NT0RFX2VudW07CisKK3R5cGVkZWYgZW51bSB7CisgICBSVENfR1BJT19OT19QVUxMID0gMCwKKyAgIFJUQ19HUElPX1BVTExfRE9XTiwKKyAgIFJUQ19HUElPX1BVTExfVVAKK31SVENfR1BJT19QVUxMX1RZUEVfZW51bTsKKwordHlwZWRlZiBlbnVtIHsKKyAgIFJUQ19HUElPX0RTXzRtQSA9IDAsCisgICBSVENfR1BJT19EU184bUEsCisgICBSVENfR1BJT19EU18xMm1BLAorICAgUlRDX0dQSU9fRFNfMTZtQQorfVJUQ19HUElPX0RSSVZJTkdfU1RSRU5HVEhfZW51bTsKKyNlbmRpZiAvL2RlZmluZWQoRFJWX1JUQ19HUElPKQorCisjaWYgZGVmaW5lZChEUlZfUlRDX1JFR19DT01NKQorCitrYWxfdWludDE2IFJUQ19SZWFkX1BETihSVENfUEROX0lOREVYIFBETkluZGV4KTsKK3ZvaWQgUlRDX1NldF9QRE5fYml0cyhSVENfUEROX0lOREVYIFBETkluZGV4LGthbF91aW50MTYgZmxhZyk7Cit2b2lkIFJUQ19DbGVhcl9QRE5fYml0cyhSVENfUEROX0lOREVYIFBETkluZGV4LGthbF91aW50MTYgZmxhZyk7Cit2b2lkIFJUQ19Xcml0ZV9QRE5fYml0cyhSVENfUEROX0lOREVYIFBETkluZGV4LGthbF91aW50MTYgZmxhZyk7CisKKyNlbmRpZiAvLyNpZiBkZWZpbmVkKERSVl9SVENfUkVHX0NPTU0pCisKKyNpZiBkZWZpbmVkKERSVl9SVENfUkVHX1NQQVIpCitrYWxfdWludDE2IFJUQ19SZWFkX1NQQVIoUlRDX1NQQVJfSU5ERVggU1BBUkluZGV4KTsKK3ZvaWQgUlRDX1dyaXRlX1NQQVIoUlRDX1NQQVJfSU5ERVggU1BBUkluZGV4LCBrYWxfdWludDE2IGZsYWcpOworI2VuZGlmIC8vIEVuZCBvZiAjaWYgZGVmaW5lZChEUlZfUlRDX1JFR19TUEFSKQorLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisvLyBFeHBvcnRlZCBBUElzLCB1c2VkIGJ5IG1vZHVsZXMgb3RoZXIgdGhhbiBkcml2ZXIgbGV2ZWwgZnVuY3Rpb25zCitleHRlcm4gdm9pZCBSVENfQ29uZmlnXyhrYWxfdWludDggQUxfRU4sa2FsX3VpbnQ4IFRDX0VOKTsKK2V4dGVybiB2b2lkIFJUQ19Jbml0VENfVGltZSh0X3J0YyAqcnRjdGltZSk7CitleHRlcm4gdm9pZCBSVENfR2V0VGltZV8odF9ydGMgKnJ0Y3RpbWUpOworZXh0ZXJuIHZvaWQgUlRDX1NldEFsYXJtKHRfcnRjICpydGN0aW1lKTsKK2V4dGVybiBrYWxfYm9vbCBSVENfR2V0QUxUaW1lKHRfcnRjICpydGN0aW1lKTsKK2V4dGVybiBrYWxfYm9vbCBSVENfaXNGaXNydE9uKHZvaWQpOworZXh0ZXJuIHZvaWQgUlRDX3NldFBXUktleSh2b2lkKTsKK2V4dGVybiB2b2lkIFJUQ19zZXRYT1NDXyh2b2lkKTsKK2V4dGVybiB2b2lkIFJUQ191bmxvY2tQUk9UKHZvaWQpOworI2lmIGRlZmluZWQoRFJWX1JUQ19MT1dfUE9XRVJfREVURUNUKQorZXh0ZXJuIHZvaWQgUlRDX0NsZWFyX0xQU1RBX1JBVyh2b2lkKTsKK2V4dGVybiB2b2lkICBSVENfU2V0X0dQSU9fT3V0cHV0X01vZGUoa2FsX2Jvb2wgdmFsdWUsa2FsX2Jvb2wgaXNfU2xld1JhdGVPbik7CitleHRlcm4ga2FsX2Jvb2wgUlRDX0dldF9HUElPX0lucHV0KHZvaWQpOworZXh0ZXJuIHZvaWQgUlRDX1NldF9HUElPX0lucHV0X01vZGUoUlRDX0dQSU9fUFVMTF9UWVBFX2VudW0gUHVsbFR5cGUsUlRDX0dQSU9fRFJJVklOR19TVFJFTkdUSF9lbnVtIFB1bGxEcyxrYWxfYm9vbCBpc19TbWl0aFRyaWdnZXIpOworZXh0ZXJuIHZvaWQgUlRDX1NldF9HUElPX01vZGUoUlRDX0dQSU9fTU9ERV9lbnVtIE1vZGUpOworI2VuZGlmIC8vI2lmIGRlZmluZWQoRFJWX1JUQ19MT1dfUE9XRVJfREVURUNUKQorCisvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy8vIE1vRElTIHBhcnNlciBza2lwIHN0YXJ0CisvLyBFeHBvcnRlZCBmdW5jdGlvbnMsIHVzZWQgYnkgZHJpdmVyIGxldmVsIGZ1bmN0aW9ucworZXh0ZXJuIGthbF9ib29sIGlzUFdST25CeVJUQyh2b2lkKTsKK2V4dGVybiB2b2lkIFJUQ19JUlFPbmVTaG90RW5hYmxlKGthbF91aW50OCBvbmVTaG90RU4pOworZXh0ZXJuIHZvaWQgUlRDX0xJU1Iodm9pZCk7CitleHRlcm4gdm9pZCBSVENfaW5pdF8odm9pZCAoKlJUQ19UQ0NhbGxiYWNrKSh2b2lkKSx2b2lkICgqUlRDX0FMQ2FsbGJhY2spKHZvaWQpKTsKK2V4dGVybiBrYWxfYm9vbCBSVENfaXNfTVNfRmlyc3RQb3dlck9uXyh2b2lkKTsKK2V4dGVybiBrYWxfYm9vbCBSVENfaXNfY29uZmlnX3ZhbGlkKHZvaWQpOworZXh0ZXJuIGthbF9ib29sIFJUQ19pc19UaW1lX1ZhbGlkKHRfcnRjICp0aW1lKTsKK2V4dGVybiB2b2lkIFJUQ19HZXRUaW1lT25seSh0X3J0YyAqcnRjdGltZSApOworZXh0ZXJuIGthbF91aW50OCBSVENfcmVhZF94b3NjX3JlZyh2b2lkKTsKK2V4dGVybiB2b2lkIFJUQ193cml0ZV94b3NjX3JlZyhrYWxfdWludDE2IHJlZ192YWx1ZSk7CitleHRlcm4gdm9pZCBSVENfU2F2ZVRDX1RpbWUodF9ydGMgKnJ0Y3RpbWUpOworZXh0ZXJuIHZvaWQgUlRDX3NldF9GaXJzdF9Qb3dlck9uKGthbF9ib29sIGlzRmlyc3RQb3dlck9uKTsKK2V4dGVybiBrYWxfYm9vbCBSVENfQm9vdGxvYWRlcl9Qb3dlck9uXyh2b2lkKTsKKworI2lmIGRlZmluZWQoRFJWX1JUQ19IV19DQUxJKQorZXh0ZXJuIHZvaWQgUlRDX3dhaXRfYnVzeSh2b2lkKTsKK2V4dGVybiB2b2lkIFJUQ193cml0ZV90cmlnZ2VyKHZvaWQpOworZXh0ZXJuIHZvaWQgUlRDX3dyaXRlX3RyaWdnZXJfd2FpdCh2b2lkKTsKKyNlbmRpZiAvKiBkZWZpbmVkKERSVl9SVENfSFdfQ0FMSSkgKi8KKy8vIE1vRElTIHBhcnNlciBza2lwIGVuZAorCisvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy8vIE1vRElTIHBhcnNlciBza2lwIHN0YXJ0CisvLyBVbmtub3duIGZ1bmN0aW9ucywgbWF5YmUgcHJldmlvdXMgb3duZXIgZm9yZ290IHRvIGRlbGV0ZQorZXh0ZXJuIHZvaWQgUlRDX0JCUFVPcGVuKGthbF9ib29sIG9wZW4pOworZXh0ZXJuIHZvaWQgUlRDX0JCUFdSVVBfaW5pdCh2b2lkKTsKKy8vIE1vRElTIHBhcnNlciBza2lwIGVuZAorCisjaWYgZGVmaW5lZChEUlZfUlRDX1JFR19DT01NKQorLy9wd2ljIG1heSBjaGFuZ2UgcGRuIHZhbHVlIGR1cmluZyBib290aW5nLCBzYXZlIHRoZSBvcmlnaW5hbCB2YWx1ZSBvZiBwZG4xLgorZXh0ZXJuIGthbF91aW50MTYgIG9yaWdpbmFsUEROMTsKK2V4dGVybiBrYWxfdWludDE2IFJUQ19vcmlnaW5hbF9wbmQxKHZvaWQpOworI2VuZGlmCisKKyNpZiAhZGVmaW5lZChfX0ZVRV9fKSAmJiAhZGVmaW5lZChfX1VCTF9fKQorZXh0ZXJuIGthbF9ib29sIFJUQ19TZXRfTW9kdWxlX0lMTV9JbmZvKFJUQ19SRUdfTU9EVUxFX0lMTV9JTkZPX1QgKk1vZHVsZV9pbG1faW5mbyk7CisjZW5kaWYKKworI2lmICFkZWZpbmVkKERSVl9SVENfT0ZGKQorI2lmIGRlZmluZWQoX19EUlZfQ09NTV9SRUdfREJHX18pICYmIGRlZmluZWQoX19EUlZfUlRDX1JFR19EQkdfXykKKyNkZWZpbmUgRFJWX1JUQ19Xcml0ZVJlZyhhZGRyLGRhdGEpICAgICAgICAgICAgICBEUlZfREJHX1dyaXRlUmVnKGFkZHIsZGF0YSkKKyNkZWZpbmUgRFJWX1JUQ19SZWcoYWRkcikgICAgICAgICAgICAgICAgICAgICAgICBEUlZfREJHX1JlZyhhZGRyKSAgICAgICAgICAgICAgICAgICAgICAKKyNkZWZpbmUgRFJWX1JUQ19Xcml0ZVJlZzMyKGFkZHIsZGF0YSkgICAgICAgICAgICBEUlZfREJHX1dyaXRlUmVnMzIoYWRkcixkYXRhKSAgICAgICAgICAKKyNkZWZpbmUgRFJWX1JUQ19SZWczMihhZGRyKSAgICAgICAgICAgICAgICAgICAgICBEUlZfREJHX1JlZzMyKGFkZHIpICAgICAgICAgICAgICAgICAgICAKKyNkZWZpbmUgRFJWX1JUQ19Xcml0ZVJlZzgoYWRkcixkYXRhKSAgICAgICAgICAgICBEUlZfREJHX1dyaXRlUmVnOChhZGRyLGRhdGEpICAgICAgICAgICAKKyNkZWZpbmUgRFJWX1JUQ19SZWc4KGFkZHIpICAgICAgICAgICAgICAgICAgICAgICBEUlZfREJHX1JlZzgoYWRkcikgICAgICAgICAgICAgICAgICAgICAKKyNkZWZpbmUgRFJWX1JUQ19DbGVhckJpdHMoYWRkcixkYXRhKSAgICAgICAgICAgICBEUlZfREJHX0NsZWFyQml0cyhhZGRyLGRhdGEpICAgICAgICAgICAKKyNkZWZpbmUgRFJWX1JUQ19TZXRCaXRzKGFkZHIsZGF0YSkgICAgICAgICAgICAgICBEUlZfREJHX1NldEJpdHMoYWRkcixkYXRhKSAgICAgICAgICAgICAKKyNkZWZpbmUgRFJWX1JUQ19TZXREYXRhKGFkZHIsIGJpdG1hc2ssIHZhbHVlKSAgICBEUlZfREJHX1NldERhdGEoYWRkciwgYml0bWFzaywgdmFsdWUpICAKKyNkZWZpbmUgRFJWX1JUQ19DbGVhckJpdHMzMihhZGRyLGRhdGEpICAgICAgICAgICBEUlZfREJHX0NsZWFyQml0czMyKGFkZHIsZGF0YSkgICAgICAgICAKKyNkZWZpbmUgRFJWX1JUQ19TZXRCaXRzMzIoYWRkcixkYXRhKSAgICAgICAgICAgICBEUlZfREJHX1NldEJpdHMzMihhZGRyLGRhdGEpICAgICAgICAgICAKKyNkZWZpbmUgRFJWX1JUQ19TZXREYXRhMzIoYWRkciwgYml0bWFzaywgdmFsdWUpICBEUlZfREJHX1NldERhdGEzMihhZGRyLCBiaXRtYXNrLCB2YWx1ZSkKKyNkZWZpbmUgRFJWX1JUQ19DbGVhckJpdHM4KGFkZHIsZGF0YSkgICAgICAgICAgICBEUlZfREJHX0NsZWFyQml0czgoYWRkcixkYXRhKSAgICAgICAgICAKKyNkZWZpbmUgRFJWX1JUQ19TZXRCaXRzOChhZGRyLGRhdGEpICAgICAgICAgICAgICBEUlZfREJHX1NldEJpdHM4KGFkZHIsZGF0YSkgICAgICAgICAgICAKKyNkZWZpbmUgRFJWX1JUQ19TZXREYXRhOChhZGRyLCBiaXRtYXNrLCB2YWx1ZSkgICBEUlZfREJHX1NldERhdGE4KGFkZHIsIGJpdG1hc2ssIHZhbHVlKSAKKyNlbHNlCisjZGVmaW5lIERSVl9SVENfV3JpdGVSZWcoYWRkcixkYXRhKSAgICAgICAgICAgICAgRFJWX1dyaXRlUmVnKGFkZHIsZGF0YSkKKyNkZWZpbmUgRFJWX1JUQ19SZWcoYWRkcikgICAgICAgICAgICAgICAgICAgICAgICBEUlZfUmVnKGFkZHIpICAgICAgICAgICAgICAgICAgICAgIAorI2RlZmluZSBEUlZfUlRDX1dyaXRlUmVnMzIoYWRkcixkYXRhKSAgICAgICAgICAgIERSVl9Xcml0ZVJlZzMyKGFkZHIsZGF0YSkgICAgICAgICAgCisjZGVmaW5lIERSVl9SVENfUmVnMzIoYWRkcikgICAgICAgICAgICAgICAgICAgICAgRFJWX1JlZzMyKGFkZHIpICAgICAgICAgICAgICAgICAgICAKKyNkZWZpbmUgRFJWX1JUQ19Xcml0ZVJlZzgoYWRkcixkYXRhKSAgICAgICAgICAgICBEUlZfV3JpdGVSZWc4KGFkZHIsZGF0YSkgICAgICAgICAgIAorI2RlZmluZSBEUlZfUlRDX1JlZzgoYWRkcikgICAgICAgICAgICAgICAgICAgICAgIERSVl9SZWc4KGFkZHIpICAgICAgICAgICAgICAgICAgICAgCisjZGVmaW5lIERSVl9SVENfQ2xlYXJCaXRzKGFkZHIsZGF0YSkgICAgICAgICAgICAgRFJWX0NsZWFyQml0cyhhZGRyLGRhdGEpICAgICAgICAgICAKKyNkZWZpbmUgRFJWX1JUQ19TZXRCaXRzKGFkZHIsZGF0YSkgICAgICAgICAgICAgICBEUlZfU2V0Qml0cyhhZGRyLGRhdGEpICAgICAgICAgICAgIAorI2RlZmluZSBEUlZfUlRDX1NldERhdGEoYWRkciwgYml0bWFzaywgdmFsdWUpICAgIERSVl9TZXREYXRhKGFkZHIsIGJpdG1hc2ssIHZhbHVlKSAgCisjZGVmaW5lIERSVl9SVENfQ2xlYXJCaXRzMzIoYWRkcixkYXRhKSAgICAgICAgICAgRFJWX0NsZWFyQml0czMyKGFkZHIsZGF0YSkgICAgICAgICAKKyNkZWZpbmUgRFJWX1JUQ19TZXRCaXRzMzIoYWRkcixkYXRhKSAgICAgICAgICAgICBEUlZfU2V0Qml0czMyKGFkZHIsZGF0YSkgICAgICAgICAgIAorI2RlZmluZSBEUlZfUlRDX1NldERhdGEzMihhZGRyLCBiaXRtYXNrLCB2YWx1ZSkgIERSVl9TZXREYXRhMzIoYWRkciwgYml0bWFzaywgdmFsdWUpCisjZGVmaW5lIERSVl9SVENfQ2xlYXJCaXRzOChhZGRyLGRhdGEpICAgICAgICAgICAgRFJWX0NsZWFyQml0czgoYWRkcixkYXRhKSAgICAgICAgICAKKyNkZWZpbmUgRFJWX1JUQ19TZXRCaXRzOChhZGRyLGRhdGEpICAgICAgICAgICAgICBEUlZfU2V0Qml0czgoYWRkcixkYXRhKSAgICAgICAgICAgIAorI2RlZmluZSBEUlZfUlRDX1NldERhdGE4KGFkZHIsIGJpdG1hc2ssIHZhbHVlKSAgIERSVl9TZXREYXRhOChhZGRyLCBiaXRtYXNrLCB2YWx1ZSkgCisjZW5kaWYgLy8jaWYgZGVmaW5lZChfX0RSVl9DT01NX1JFR19EQkdfXykgJiYgZGVmaW5lZChfX0RSVl9SVENfUkVHX0RCR19fKQorCisjZWxzZSAvLyFkZWZpbmVkKERSVl9SVENfT0ZGKQorCisjZGVmaW5lIERSVl9SVENfV3JpdGVSZWcoYWRkcixkYXRhKSAgICAgICAgICAgIAorI2RlZmluZSBEUlZfUlRDX1JlZyhhZGRyKSAgICAgICAgICAgICAgICAgICAgICBkcnZfZHVtbXlfcmV0dXJuKCkKKyNkZWZpbmUgRFJWX1JUQ19Xcml0ZVJlZzMyKGFkZHIsZGF0YSkgICAgICAgICAgCisjZGVmaW5lIERSVl9SVENfUmVnMzIoYWRkcikgICAgICAgICAgICAgICAgICAgIGRydl9kdW1teV9yZXR1cm4oKQorI2RlZmluZSBEUlZfUlRDX1dyaXRlUmVnOChhZGRyLGRhdGEpICAgICAgICAgICAKKyNkZWZpbmUgRFJWX1JUQ19SZWc4KGFkZHIpICAgICAgICAgICAgICAgICAgICAgZHJ2X2R1bW15X3JldHVybigpCisjZGVmaW5lIERSVl9SVENfQ2xlYXJCaXRzKGFkZHIsZGF0YSkgICAgICAgICAgIAorI2RlZmluZSBEUlZfUlRDX1NldEJpdHMoYWRkcixkYXRhKSAgICAgICAgICAgICAKKyNkZWZpbmUgRFJWX1JUQ19TZXREYXRhKGFkZHIsIGJpdG1hc2ssIHZhbHVlKSAgCisjZGVmaW5lIERSVl9SVENfQ2xlYXJCaXRzMzIoYWRkcixkYXRhKSAgICAgICAgIAorI2RlZmluZSBEUlZfUlRDX1NldEJpdHMzMihhZGRyLGRhdGEpICAgICAgICAgICAKKyNkZWZpbmUgRFJWX1JUQ19TZXREYXRhMzIoYWRkciwgYml0bWFzaywgdmFsdWUpCisjZGVmaW5lIERSVl9SVENfQ2xlYXJCaXRzOChhZGRyLGRhdGEpICAgICAgICAgIAorI2RlZmluZSBEUlZfUlRDX1NldEJpdHM4KGFkZHIsZGF0YSkgICAgICAgICAgICAKKyNkZWZpbmUgRFJWX1JUQ19TZXREYXRhOChhZGRyLCBiaXRtYXNrLCB2YWx1ZSkgCisKKyNlbmRpZiAvLyFkZWZpbmVkKERSVl9SVENfT0ZGKQorCisjZW5kaWYKKwpkaWZmIC0tZ2l0IGEvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9ydGNfdHJjLmggYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL3J0Y190cmMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOGEzOWQ4Ci0tLSAvZGV2L251bGwKKysrIGIvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9ydGNfdHJjLmgKQEAgLTAsMCArMSwxNDEgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAwNQorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLiAKKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRmlsZW5hbWU6CisgKiAtLS0tLS0tLS0KKyAqICAgcnRjX3RyYy5oCisgKgorICogUHJvamVjdDoKKyAqIC0tLS0tLS0tCisgKiAgIE1BVUkKKyAqCisgKiBEZXNjcmlwdGlvbjoKKyAqIC0tLS0tLS0tLS0tLQorICogICBUaGlzIGlzIHRyYWNlIG1hcCBkZWZpbml0aW9uIGZvciBSVEMgZHJpdmVyCisgKgorICogQXV0aG9yOgorICogLS0tLS0tLQorICogLS0tLS0tLQorICoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmbmRlZiBfUlRDX1RSQ19ICisjZGVmaW5lIF9SVENfVFJDX0gKKworCisjaWZuZGVmIEdFTl9GT1JfUEMKKworICAgI2lmbmRlZiBfU1RBQ0tfQ09ORklHX0gKKyAgICNlcnJvciAic3RhY2tfY29uZmlnLmggc2hvdWxkIGJlIGluY2x1ZGVkIGJlZm9yZSB0c3RfY29uZmlnLmgiCisgICAjZW5kaWYKKworI2Vsc2UKKyAgICNpbmNsdWRlICJrYWxfdHJhY2UuaCIKKyNlbmRpZiAvKiBHRU5fRk9SX1BDICovCisKKworI2lmbmRlZiBfS0FMX1RSQUNFX0gKKyAgICNlcnJvciAia2FsX3RyYWNlLmggc2hvdWxkIGJlIGluY2x1ZGVkIGJlZm9yZSB0c3RfdHJhY2UuaCIKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoR0VOX0ZPUl9QQykKKyNpZiBkZWZpbmVkKF9fVFNUX01PRFVMRV9fKSB8fCBkZWZpbmVkKF9fQ1VTVE9NX1JFTEVBU0VfXykKKyAgICAjaW5jbHVkZSAicnRjX3RyY19nZW4uaCIKKyNlbmRpZiAvKiBUU1QgVHJhY2UgRGVmaW50aW9uICovCisjZW5kaWYKK0JFR0lOX1RSQUNFX01BUChNT0RfUlRDX0hJU1IpCisKKyAgIFRSQ19NU0coUlRDX1JFUEVBVF9DQUxJX0FESlVTVF9DT1VOVCwiUlRDIGFkanVzdCAlZCBjb3VudCBmb3IgcmVwZWF0IGNhbGlicmF0aW9uIHJlZ2lzdGVyIikKKyAgIFRSQ19NU0coUlRDX1JFUEVBVF9DQUxJX1ZBTFVFLCJSVEMgcmVwZWF0IGNhbGlicmF0aW9uIHJlZ2lzdGVyIHZhbHVlOiAleCIpCisgICBUUkNfTVNHKFJUQ19SRVBFQVRfQ0FMSV9WQUxVRV9FWENFRURfTUFYLCJSVEMgcmVwZWF0IGNhbGlicmF0aW9uIHZhbHVlICVkIGV4Y2VlZCBtYXgiKQorICAgVFJDX01TRyhSVENfUkVQRUFUX0NBTElfVkFMVUVfRVhDRUVEX01JTiwiUlRDIHJlcGVhdCBjYWxpYnJhdGlvbiB2YWx1ZSAlZCBleGNlZWQgbWluIikKKyAgIFRSQ19NU0coUlRDX1JFUEVBVF9DQUxJX1BFUkZPUk1fQ0FMSSwiUlRDIHJlcGVhdCBjYWxpYnJhdGlvbiBwZXJmb3JtIGZvciAlZCBjb3VudHMiKQorICAgCisgICBUUkNfTVNHKFJUQ19PTkVTSE9UX0NBTElfUEVSRk9STV9DT1VOVCwiUlRDIG9uZSBzaG90IGNhbGlicmF0aW9uIGZvciAlZCBjb3VudHMsIHJlbWFpbnMgJWQgY291bnRzIikKKyAgIFRSQ19NU0coUlRDX09ORVNIT1RfQ0FMSV9WQUxVRSwiUlRDIG9uZXNob3QgY2FsaWJyYXRpb24gcmVnaXN0ZXIgdmFsdWU6ICV4IikKKyAgIFRSQ19NU0coUlRDX09ORVNIT1RfQ0FMSV9GSU5JU0gsIlJUQyBvbmVzaG90IGNhbGlicmF0aW9uIGZpbmlzaCIpCisgICAKKyAgIFRSQ19NU0coUlRDX0hXX0NBTElfU1RBUlRfTUVBU1VSRV9JTkFDQ1VSQVRFLCJSVEMgSFcgY2FsaSwgc3RhcnQgdG8gbWVhc3VyZSBydGMgaW5hY2N1cmF0ZTogKCVkOiVkOiVkKSIpCisgICBUUkNfTVNHKFJUQ19IV19DQUxJX0lOSVRfTUVBU1VSRV9BQ0NVUkFURV9MMV9USUNLLCJSVEMgSFcgY2FsaSwgaW5pdCBMMSB0aWNrOiAlZCIpCisgICBUUkNfTVNHKFJUQ19IV19DQUxJX0ZJTklTSF9NRUFTVVJFX0lOQUNDVVJBVEUsIlJUQyBIVyBjYWxpLCBmaW5pc2ggbWVhc3VyaW5nIHJ0YyBpbmFjY3VyYXRlOiAoJWQ6JWQ6JWQpIikKKyAgIFRSQ19NU0coUlRDX0hXX0NBTElfRklOSVNIX01FQVNVUkVfQUNDVVJBVEVfTDFfVElDSywiUlRDIEhXIGNhbGksIGZpbmlzaCBMMSB0aWNrOiAlZCwgaW5hY2N1cmF0ZSB0aWNrczogJWQiKQorICAgVFJDX01TRyhSVENfSFdfQ0FMSV9OT19ORUVEX1RPX0NBTEksIlJUQyBIVyBjYWxpLCBubyBuZWVkIHRvIHBlcmZvcm0gY2FsaWJyYXRpb24sIG5vIGRpZmYgY291bnQ6ICVkIikKKyAgIFRSQ19NU0coUlRDX0hXX0NBTElfSU5fUFJPR1JFU1MsIlJUQyBIVyBjYWxpLCBpbiBwcm9ncmVzczogKCVkOiVkOiVkKSIpCisgICBUUkNfTVNHKFJUQ19IV19DQUxJX0lOSVRfUkVQRUFUX0NBTElfQ09VTlQsIlJUQyBIVyBjYWxpLCBpbml0IHJlcGVhdCBjYWxpIGNvdW50OiAlZCIpCisgICAKKyAgIFRSQ19NU0coUlRDX1NXX0NBTElfU1RBUlRfUE9XRVJPRkZfQ0FMSSwiUlRDIFNXIGNhbGksIHN0YXJ0IHRvIGRvIHBvd2VyIG9mZiBjYWxpIikKKyAgIFRSQ19NU0coUlRDX1NXX0NBTElfU1RBUlRfUE9XRVJPRkZfQ0FMSV9USU1FLCJSVEMgU1cgY2FsaSwgY3VycmVudCB0aW1lIGJlZm9yZSBwb3dlciBvZmYgY2FsaTogKCVkOiVkOiVkKSIpCisgICBUUkNfTVNHKFJUQ19TV19DQUxJX0ZJTklTSF9QT1dFUk9GRl9DQUxJX1RJTUUsIlJUQyBTVyBjYWxpLCBjdXJyZW50IHRpbWUgYWZ0ZXIgcG93ZXIgb2ZmIGNhbGk6ICglZDolZDolZCkiKQorICAgVFJDX01TRyhSVENfU1dfQ0FMSV9GSU5JU0hfMk5EX1BPV0VST0ZGX0NBTEksIlJUQyBTVyBjYWxpLCB3YWl0ICVkIHRpY2tzIHRvIHBlcmZvcm0gMm5kIHBvd2VyIG9mZiBjYWxpIikKKyAgIFRSQ19NU0coUlRDX1NXX0NBTElfQUZURVJfMk5EX1BPV0VST0ZGX0NBTEksIlJUQyBTVyBjYWxpLCBjdXJyZW50IHRpbWUgYWZ0ZXIgMm5kIHBvd2VyIG9mZiBjYWxpOiAoJWQ6JWQ6JWQpIikKKyAgIFRSQ19NU0coUlRDX1NXX0NBTElfU1RBUlRfUE9XRVJPTl9DQUxJX1RJTUUsIlJUQyBTVyBjYWxpLCBzdGFydCBwb3dlciBvbiBjYWxpOiAoJWQ6JWQ6JWQpLCBpbml0IHRpY2s6ICVkIikKKyAgIFRSQ19NU0coUlRDX1NXX0NBTElfUE9XRVJPTl9DQUxJX1NUQVJUX0lOQUNDVVJBQ1lfTUVBU1VSRSwiUlRDIFNXIGNhbGksIHN0YXJ0IGFjY3VyYWN5IG1lYXN1cmUiKQorICAgVFJDX01TRyhSVENfU1dfQ0FMSV9QT1dFUk9OX0NBTElfRklOSVNIX0lOQUNDVVJBQ1lfTUVBU1VSRSwiUlRDIFNXIGNhbGksIGFjY3VyYWN5IGZvciBvbmUgaG91cjogJWQgdGlja3MiKQorICAgVFJDX01TRyhSVENfU1dfQ0FMSV9QT1dFUk9OX0NBTElfU1RBUlQsIlJUQyBTVyBjYWxpLCBzdGFydCBwb3dlciBvbiBjYWxpOiAoJWQ6JWQ6JWQpLCBpbml0IHRpY2s6ICVkIikKKyAgIFRSQ19NU0coUlRDX1NXX0NBTElfV1JJVEVfTlZSQU0sIlJUQyBTVyBjYWxpLCB3cml0ZSB0byBOVlJBTSIpCisgICBUUkNfTVNHKFJUQ19TV19DQUxJX0tBTF9FWFBJUkVfRUFSTFksIlJUQyBTVyBjYWxpLCBLQUxfdGltZXIgZXhwaXJlZCBlYXJseSwgZXhwZWN0ZWQ6ICVkICh0aWNrKSwgbm93OiAlZCIpCisgICBUUkNfTVNHKFJUQ19TV19DQUxJX1RJTU9VRV9OT1RfSU5fU0VDX0JPVU5EQVJZLCJSVEMgU1cgY2FsaSwgdGltZW91dCBub3QgaW4gc2Vjb25kIGJvdW5kYXJ5OiAlZCAodGljaykiKQorICAgVFJDX01TRyhSVENfU1dfQ0FMSV9USU1PVUVfT1VULCJSVEMgU1cgY2FsaSB0aW1lb3V0ICglZDolZDolZCksIGN1cnJlbnQgZnJhbWUgdGljazogJWQiKQorICAgVFJDX01TRyhSVENfU1dfQ0FMSV9VUERBVEVfVElNRSwiUlRDIFNXIGNhbGksIHVwZGF0ZSB0aW1lICglZDolZDolZCksIGN1cnJlbnQgZnJhbWUgdGljazogJWQiKQorICAgVFJDX01TRyhSVENfU1dfQ0FMSV9QT1dFUk9GRl9DQUxJX0lOSVQxLCJSVEMgU1cgY2FsaSwgTlZSQU0gdGltZSB2YWxpZDogJWQiKQorICAgVFJDX01TRyhSVENfU1dfQ0FMSV9QT1dFUk9GRl9DQUxJX0lOSVQyLCJSVEMgU1cgY2FsaSwgTlZSQU0gdGltZTogJWQtJWQtJWQgKCVkOiVkOiVkKSIpCisgICBUUkNfTVNHKFJUQ19TV19DQUxJX1BPV0VST0ZGX0NBTElfSU5JVDMsIlJUQyBTVyBjYWxpLCBOVlJBTSB0aWNrIGRpZmYgdmFsdWQ6ICVkIikKKyAgIFRSQ19NU0coUlRDX1NXX0NBTElfUE9XRVJPRkZfQ0FMSV9JTklUNCwiUlRDIFNXIGNhbGksIE5WUkFNIHRpY2tzX2RpZmZfcGVyX2hvdXI6ICVkIikKKyAgIFRSQ19NU0coUlRDX1NXX0NBTElfQ1VSUl9QT1dFUl9USU1FLCJSVEMgU1cgY2FsaSwgY3VyciBwb3dlciBvbiB0aW1lOiAlZC0lZC0lZCAoJWQ6JWQ6JWQpIikKKyAgIFRSQ19NU0coUlRDX1NXX0NBTElfUlRDX1RJTUVfSU5fTUlOVVRFX0JPVU5EQVJZLCJSVEMgU1cgY2FsaSwgcnRjIHRpbWUgaW4gbWludXRlIGJvdW5kYXJ5OiAlZCwgZGVsYXkgNiBzZWMiKQorICAgVFJDX01TRyhSVENfU1dfQ0FMSV9SVENfVElNRV9JTl9BTEFSTV9CT1VOREFSWSwiUlRDIFNXIGNhbGksIHJ0YyB0aW1lIGluIGFsYXJtIGJvdW5kYXJ5OiAlZCwgZGVsYXkgNiBzZWMiKQorICAgVFJDX01TRyhSVENfU1dfQ0FMSV9JTkFDQ1VSQVRFX1RJQ0tfRFVSSU5HX1BPV0VST0ZGLCJSVEMgY2FsaSwgaW5hY2N1cmF0ZSB0aWNrcyBkdXJpbmcgcG93ZXIgb2ZmOiAlZCIpCisgICBUUkNfTVNHKFJUQ19TV19DQUxJX0FMQVJNX1BPV0VST05fQU5EX05FRURfQkFDS1dBUkRfVElNRSwiUlRDIGNhbGksIGFsYXJtIHBvd2VyIG9uLCBidXQgd2UgbmVlZCB0byBiYWNrd2FyZCB0aW1lIikKKyAgIFRSQ19NU0coUlRDX1NXX0NBTElfQUxBUk1fUE9XRVJPTl9BTkRfUE9XRVJPRkYsIlJUQyBjYWxpLCBhbGFybSBwb3dlciBvbiBidXQgd2UgYmFja3dhcmQgdGltZSBzbyBwb3dlciBvZmYiKQorICAgCisgICAKKyAgIAorICAgVFJDX01TRyhSVENfVENfSU5UUl9GT1JfVVNFUiwiUlRDIFRDIGludHIgZm9yIHVzZXIiKQorICAgVFJDX01TRyhSVENfQUxfSU5UUiwiUlRDIEFMIGludHIiKQorICAgCisgICBUUkNfTVNHKFJUQ19GT1JXQVJEX1RJTUVfMSwiUlRDIGZvcndhcmQgdGltZTogKCVkOiVkOiVkKSBmb3J3YXJkICVkIGhvdXIsICVkIG1pbiwgJWQgc2VjIikKKyAgIFRSQ19NU0coUlRDX0ZPUldBUkRfVElNRV8yLCJSVEMgZm9yd2FyZCB0aW1lIGRvbmU6ICglZDolZDolZCkiKQorICAgVFJDX01TRyhSVENfQkFDS1dBUkRfVElNRV8xLCJSVEMgYmFja3dhcmQgdGltZTogKCVkOiVkOiVkKSBiYWNrd2FyZCAlZCBob3VyLCAlZCBtaW4sICVkIHNlYyIpCisgICBUUkNfTVNHKFJUQ19CQUNLV0FSRF9USU1FXzIsIlJUQyBiYWNrd2FyZCB0aW1lIGRvbmU6ICglZDolZDolZCkiKQorICAgCisgICAKKyAgIAorCisJCitFTkRfVFJBQ0VfTUFQKE1PRF9SVENfSElTUikKKworI2VuZGlmIC8qIF9SVENfVFJDX0ggKi8KKworCmRpZmYgLS1naXQgYS9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL3J3Z19ody5oIGIvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9yd2dfaHcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MDQ0Yjk4Ci0tLSAvZGV2L251bGwKKysrIGIvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9yd2dfaHcuaApAQCAtMCwwICsxLDM3NiBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDA1CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuIAorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZpbGVuYW1lOgorICogLS0tLS0tLS0tCisgKiAgICByd2dfaHcuaAorICoKKyAqIFByb2plY3Q6CisgKiAtLS0tLS0tLQorICogICBNYXVpX1NvZnR3YXJlCisgKgorICogRGVzY3JpcHRpb246CisgKiAtLS0tLS0tLS0tLS0KKyAqICAgVGhpcyBmaWxlIGlzIGludGVuZGVkIGZvciBSYW5kb20gV2F2ZWZvcm0gR2VuZXJhdG9yIChFbmhhY2VkIFBXTSkgZHJpdmVyLgorICoKKyAqIEF1dGhvcjoKKyAqIC0tLS0tLS0KKyAqIC0tLS0tLS0KKyAqCisgKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqICAgICAgICAgICAgIEhJU1RPUlkKKyAqIEJlbG93IHRoaXMgbGluZSwgdGhpcyBwYXJ0IGlzIGNvbnRyb2xsZWQgYnkgUFZDUyBWTS4gRE8gTk9UIE1PRElGWSEhCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIFVwcGVyIHRoaXMgbGluZSwgdGhpcyBwYXJ0IGlzIGNvbnRyb2xsZWQgYnkgUFZDUyBWTS4gRE8gTk9UIE1PRElGWSEhCisgKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmbmRlZiBSV0dfSFdfSAorI2RlZmluZSBSV0dfSFdfSAorI2luY2x1ZGUgImRydl9mZWF0dXJlc19wd20uaCIKKworLyphZGQgYnkgUkhSIHN1Z2dlc3QgQWRkKi8gCisjaW5jbHVkZSAicmVnX2Jhc2UuaCIKKy8qYWRkIGJ5IFJIUiBzdWdnZXN0IEFkZCovIAorCisjaWYgZGVmaW5lZChEUlZfUFdNX1JXRykKKyNpZm5kZWYgRFJWX1BXTV9PRkYKKworI2RlZmluZSAJUFdNX0VOQUJMRQkJICAgICAgKFBXTV9iYXNlKzB4MDAwMCkgLyogUFdNIEVuYWJsZSAgICAgICAgICAgKi8KKyNkZWZpbmUgCVBXTTRfREVMQVkgIAkJICAgKFBXTV9iYXNlKzB4MDAwNCkgLyogUFdNNCBEZWxheSBEdXJhdGlvbiAqLworI2RlZmluZSAJUFdNNV9ERUxBWSAgCQkgICAoUFdNX2Jhc2UrMHgwMDA4KSAvKiBQV001IERlbGF5IER1cmF0aW9uICovCisjZGVmaW5lIAlQV002X0RFTEFZICAJCSAgIChQV01fYmFzZSsweDAwMEMpIC8qIFBXTTYgRGVsYXkgRHVyYXRpb24gKi8KKworI2RlZmluZSAJUFdNMV9DT04gCQkgICAgICAoUFdNX2Jhc2UrMHgwMDEwKSAvKiBQV00xIENvbnRyb2wgICAgICAgICovCisjZGVmaW5lIAlQV00xX0hEVVJBVElPTgkgICAgICAoUFdNX2Jhc2UrMHgwMDE0KSAvKiBQV00xIEhpZ2ggRHVyYXRpb24gICovCisjZGVmaW5lIAlQV00xX0xEVVJBVElPTgkgICAgICAoUFdNX2Jhc2UrMHgwMDE4KSAvKiBQV00xIExvdyBEdXJhdGlvbiAgKi8KKyNkZWZpbmUgCVBXTTFfR0RVUkFUSU9OCSAgICAgIChQV01fYmFzZSsweDAwMUMpIC8qIFBXTTEgR3VhcmQgRHVyYXRpb24gICovCisjZGVmaW5lIAlQV00xX0JVRjBfQkFTRV9BRERSICAoUFdNX2Jhc2UrMHgwMDIwKSAvKiBQV00xIEJ1ZmZlcjAgQmFzZSBBZGRyZXNzICAqLworI2RlZmluZSAJUFdNMV9CVUYwX1NJWkUgICAgICAgKFBXTV9iYXNlKzB4MDAyNCkgLyogUFdNMSBCdWZmZXIwIFNpemUgICovCisjZGVmaW5lIAlQV00xX0JVRjFfQkFTRV9BRERSICAoUFdNX2Jhc2UrMHgwMDI4KSAvKiBQV00xIEJ1ZmZlcjEgQmFzZSBBZGRyZXNzICAqLworI2RlZmluZSAJUFdNMV9CVUYxX1NJWkUgICAgICAgKFBXTV9iYXNlKzB4MDAyQykgLyogUFdNMSBCdWZmZXIxIFNpemUgICovCisjZGVmaW5lIAlQV00xX1NFTkRfREFUQTAgICAgICAoUFdNX2Jhc2UrMHgwMDMwKSAvKiBQV00xIFNlbmQgRGF0YTAgICovCisjZGVmaW5lIAlQV00xX1NFTkRfREFUQTEgICAgICAoUFdNX2Jhc2UrMHgwMDM0KSAvKiBQV00xIFNlbmQgRGF0YTEgICovCisjZGVmaW5lIAlQV00xX1dBVkVfTlVNICAgICAgICAoUFdNX2Jhc2UrMHgwMDM4KSAvKiBQV00xIFdhdmUgTnVtYmVyICAqLworI2RlZmluZSAJUFdNMV9EQVRBX1dJRFRIICAgICAgKFBXTV9iYXNlKzB4MDAzQykgLyogUFdNMSBEYXRhIFdpZHRoICAqLworI2RlZmluZSAJUFdNMV9USFJFU0ggICAgICAgICAgKFBXTV9iYXNlKzB4MDA0MCkgLyogUFdNMSBUaHJlc2hvbGQgICovCisjZGVmaW5lIAlQV00xX1NFTkRfV0FWRU5VTSAgICAoUFdNX2Jhc2UrMHgwMDQ0KSAvKiBQV00xIFNlbmQgV2F2ZSBOdW1iZXIgICovCisjZGVmaW5lIAlQV00xX1ZBTElEICAgICAgICAgICAoUFdNX2Jhc2UrMHgwMDQ4KSAvKiBQV00xIFZhbGlkICAqLworCisjZGVmaW5lIAlQV00yX0NPTiAJCSAgICAgIChQV01fYmFzZSsweDAwNTApIC8qIFBXTTIgQ29udHJvbCAgICAgICAgKi8KKyNkZWZpbmUgCVBXTTJfSERVUkFUSU9OCSAgICAgIChQV01fYmFzZSsweDAwNTQpIC8qIFBXTTIgSGlnaCBEdXJhdGlvbiAgKi8KKyNkZWZpbmUgCVBXTTJfTERVUkFUSU9OCSAgICAgIChQV01fYmFzZSsweDAwNTgpIC8qIFBXTTIgTG93IER1cmF0aW9uICAqLworI2RlZmluZSAJUFdNMl9HRFVSQVRJT04JICAgICAgKFBXTV9iYXNlKzB4MDA1QykgLyogUFdNMiBHdWFyZCBEdXJhdGlvbiAgKi8KKyNkZWZpbmUgCVBXTTJfQlVGMF9CQVNFX0FERFIgIChQV01fYmFzZSsweDAwNjApIC8qIFBXTTIgQnVmZmVyMCBCYXNlIEFkZHJlc3MgICovCisjZGVmaW5lIAlQV00yX0JVRjBfU0laRSAgICAgICAoUFdNX2Jhc2UrMHgwMDY0KSAvKiBQV00yIEJ1ZmZlcjAgU2l6ZSAgKi8KKyNkZWZpbmUgCVBXTTJfQlVGMV9CQVNFX0FERFIgIChQV01fYmFzZSsweDAwNjgpIC8qIFBXTTIgQnVmZmVyMSBCYXNlIEFkZHJlc3MgICovCisjZGVmaW5lIAlQV00yX0JVRjFfU0laRSAgICAgICAoUFdNX2Jhc2UrMHgwMDZDKSAvKiBQV00yIEJ1ZmZlcjEgU2l6ZSAgKi8KKyNkZWZpbmUgCVBXTTJfU0VORF9EQVRBMCAgICAgIChQV01fYmFzZSsweDAwNzApIC8qIFBXTTIgU2VuZCBEYXRhMCAgKi8KKyNkZWZpbmUgCVBXTTJfU0VORF9EQVRBMSAgICAgIChQV01fYmFzZSsweDAwNzQpIC8qIFBXTTIgU2VuZCBEYXRhMSAgKi8KKyNkZWZpbmUgCVBXTTJfV0FWRV9OVU0gICAgICAgIChQV01fYmFzZSsweDAwNzgpIC8qIFBXTTIgV2F2ZSBOdW1iZXIgICovCisjZGVmaW5lIAlQV00yX0RBVEFfV0lEVEggICAgICAoUFdNX2Jhc2UrMHgwMDdDKSAvKiBQV00yIERhdGEgV2lkdGggICovCisjZGVmaW5lIAlQV00yX1RIUkVTSCAgICAgICAgICAoUFdNX2Jhc2UrMHgwMDgwKSAvKiBQV00yIFRocmVzaG9sZCAgKi8KKyNkZWZpbmUgCVBXTTJfU0VORF9XQVZFTlVNICAgIChQV01fYmFzZSsweDAwODQpIC8qIFBXTTIgU2VuZCBXYXZlIE51bWJlciAgKi8KKyNkZWZpbmUgCVBXTTJfVkFMSUQgICAgICAgICAgIChQV01fYmFzZSsweDAwODgpIC8qIFBXTTIgVmFsaWQgICovCisKKyNkZWZpbmUgCVBXTTNfQ09OIAkJICAgICAgKFBXTV9iYXNlKzB4MDA5MCkgLyogUFdNMyBDb250cm9sICAgICAgICAqLworI2RlZmluZSAJUFdNM19IRFVSQVRJT04JICAgICAgKFBXTV9iYXNlKzB4MDA5NCkgLyogUFdNMyBIaWdoIER1cmF0aW9uICAqLworI2RlZmluZSAJUFdNM19MRFVSQVRJT04JICAgICAgKFBXTV9iYXNlKzB4MDA5OCkgLyogUFdNMyBMb3cgRHVyYXRpb24gICovCisjZGVmaW5lIAlQV00zX0dEVVJBVElPTgkgICAgICAoUFdNX2Jhc2UrMHgwMDlDKSAvKiBQV00zIEd1YXJkIER1cmF0aW9uICAqLworI2RlZmluZSAJUFdNM19CVUYwX0JBU0VfQUREUiAgKFBXTV9iYXNlKzB4MDBBMCkgLyogUFdNMyBCdWZmZXIwIEJhc2UgQWRkcmVzcyAgKi8KKyNkZWZpbmUgCVBXTTNfQlVGMF9TSVpFICAgICAgIChQV01fYmFzZSsweDAwQTQpIC8qIFBXTTMgQnVmZmVyMCBTaXplICAqLworI2RlZmluZSAJUFdNM19CVUYxX0JBU0VfQUREUiAgKFBXTV9iYXNlKzB4MDBBOCkgLyogUFdNMyBCdWZmZXIxIEJhc2UgQWRkcmVzcyAgKi8KKyNkZWZpbmUgCVBXTTNfQlVGMV9TSVpFICAgICAgIChQV01fYmFzZSsweDAwQUMpIC8qIFBXTTMgQnVmZmVyMSBTaXplICAqLworI2RlZmluZSAJUFdNM19TRU5EX0RBVEEwICAgICAgKFBXTV9iYXNlKzB4MDBCMCkgLyogUFdNMyBTZW5kIERhdGEwICAqLworI2RlZmluZSAJUFdNM19TRU5EX0RBVEExICAgICAgKFBXTV9iYXNlKzB4MDBCNCkgLyogUFdNMyBTZW5kIERhdGExICAqLworI2RlZmluZSAJUFdNM19XQVZFX05VTSAgICAgICAgKFBXTV9iYXNlKzB4MDBCOCkgLyogUFdNMyBXYXZlIE51bWJlciAgKi8KKyNkZWZpbmUgCVBXTTNfREFUQV9XSURUSCAgICAgIChQV01fYmFzZSsweDAwQkMpIC8qIFBXTTMgRGF0YSBXaWR0aCAgKi8KKyNkZWZpbmUgCVBXTTNfVEhSRVNIICAgICAgICAgIChQV01fYmFzZSsweDAwQzApIC8qIFBXTTMgVGhyZXNob2xkICAqLworI2RlZmluZSAJUFdNM19TRU5EX1dBVkVOVU0gICAgKFBXTV9iYXNlKzB4MDBDNCkgLyogUFdNMyBTZW5kIFdhdmUgTnVtYmVyICAqLworI2RlZmluZSAJUFdNM19WQUxJRCAgICAgICAgICAgKFBXTV9iYXNlKzB4MDBDOCkgLyogUFdNMyBWYWxpZCAgKi8KKworI2RlZmluZSAJUFdNNF9DT04gCQkgICAgICAoUFdNX2Jhc2UrMHgwMEQwKSAvKiBQV000IENvbnRyb2wgICAgICAgICovCisjZGVmaW5lIAlQV000X0hEVVJBVElPTgkgICAgICAoUFdNX2Jhc2UrMHgwMEQ0KSAvKiBQV000IEhpZ2ggRHVyYXRpb24gICovCisjZGVmaW5lIAlQV000X0xEVVJBVElPTgkgICAgICAoUFdNX2Jhc2UrMHgwMEQ4KSAvKiBQV000IExvdyBEdXJhdGlvbiAgKi8KKyNkZWZpbmUgCVBXTTRfR0RVUkFUSU9OCSAgICAgIChQV01fYmFzZSsweDAwREMpIC8qIFBXTTQgR3VhcmQgRHVyYXRpb24gICovCisjZGVmaW5lIAlQV000X0JVRjBfQkFTRV9BRERSICAoUFdNX2Jhc2UrMHgwMEUwKSAvKiBQV000IEJ1ZmZlcjAgQmFzZSBBZGRyZXNzICAqLworI2RlZmluZSAJUFdNNF9CVUYwX1NJWkUgICAgICAgKFBXTV9iYXNlKzB4MDBFNCkgLyogUFdNNCBCdWZmZXIwIFNpemUgICovCisjZGVmaW5lIAlQV000X0JVRjFfQkFTRV9BRERSICAoUFdNX2Jhc2UrMHgwMEU4KSAvKiBQV000IEJ1ZmZlcjEgQmFzZSBBZGRyZXNzICAqLworI2RlZmluZSAJUFdNNF9CVUYxX1NJWkUgICAgICAgKFBXTV9iYXNlKzB4MDBFQykgLyogUFdNNCBCdWZmZXIxIFNpemUgICovCisjZGVmaW5lIAlQV000X1NFTkRfREFUQTAgICAgICAoUFdNX2Jhc2UrMHgwMEYwKSAvKiBQV000IFNlbmQgRGF0YTAgICovCisjZGVmaW5lIAlQV000X1NFTkRfREFUQTEgICAgICAoUFdNX2Jhc2UrMHgwMEY0KSAvKiBQV000IFNlbmQgRGF0YTEgICovCisjZGVmaW5lIAlQV000X1dBVkVfTlVNICAgICAgICAoUFdNX2Jhc2UrMHgwMEY4KSAvKiBQV000IFdhdmUgTnVtYmVyICAqLworI2RlZmluZSAJUFdNNF9TRU5EX1dBVkVOVU0gICAgKFBXTV9iYXNlKzB4MDBGQykgLyogUFdNNCBTZW5kIFdhdmUgTnVtYmVyICAqLworI2RlZmluZSAJUFdNNF9WQUxJRCAgICAgICAgICAgKFBXTV9iYXNlKzB4MDEwMCkgLyogUFdNNCBWYWxpZCAgKi8KKworI2RlZmluZSAJUFdNNV9DT04gCQkgICAgICAoUFdNX2Jhc2UrMHgwMTEwKSAvKiBQV001IENvbnRyb2wgICAgICAgICovCisjZGVmaW5lIAlQV001X0hEVVJBVElPTgkgICAgICAoUFdNX2Jhc2UrMHgwMTE0KSAvKiBQV001IEhpZ2ggRHVyYXRpb24gICovCisjZGVmaW5lIAlQV001X0xEVVJBVElPTgkgICAgICAoUFdNX2Jhc2UrMHgwMTE4KSAvKiBQV001IExvdyBEdXJhdGlvbiAgKi8KKyNkZWZpbmUgCVBXTTVfR0RVUkFUSU9OCSAgICAgIChQV01fYmFzZSsweDAxMUMpIC8qIFBXTTUgR3VhcmQgRHVyYXRpb24gICovCisjZGVmaW5lIAlQV001X0JVRjBfQkFTRV9BRERSICAoUFdNX2Jhc2UrMHgwMTIwKSAvKiBQV001IEJ1ZmZlcjAgQmFzZSBBZGRyZXNzICAqLworI2RlZmluZSAJUFdNNV9CVUYwX1NJWkUgICAgICAgKFBXTV9iYXNlKzB4MDEyNCkgLyogUFdNNSBCdWZmZXIwIFNpemUgICovCisjZGVmaW5lIAlQV001X0JVRjFfQkFTRV9BRERSICAoUFdNX2Jhc2UrMHgwMTI4KSAvKiBQV001IEJ1ZmZlcjEgQmFzZSBBZGRyZXNzICAqLworI2RlZmluZSAJUFdNNV9CVUYxX1NJWkUgICAgICAgKFBXTV9iYXNlKzB4MDEyQykgLyogUFdNNSBCdWZmZXIxIFNpemUgICovCisjZGVmaW5lIAlQV001X1NFTkRfREFUQTAgICAgICAoUFdNX2Jhc2UrMHgwMTMwKSAvKiBQV001IFNlbmQgRGF0YTAgICovCisjZGVmaW5lIAlQV001X1NFTkRfREFUQTEgICAgICAoUFdNX2Jhc2UrMHgwMTM0KSAvKiBQV001IFNlbmQgRGF0YTEgICovCisjZGVmaW5lIAlQV001X1dBVkVfTlVNICAgICAgICAoUFdNX2Jhc2UrMHgwMTM4KSAvKiBQV001IFdhdmUgTnVtYmVyICAqLworI2RlZmluZSAJUFdNNV9TRU5EX1dBVkVOVU0gICAgKFBXTV9iYXNlKzB4MDEzQykgLyogUFdNNSBTZW5kIFdhdmUgTnVtYmVyICAqLworI2RlZmluZSAJUFdNNV9WQUxJRCAgICAgICAgICAgKFBXTV9iYXNlKzB4MDE0MCkgLyogUFdNNSBWYWxpZCAgKi8KKworI2RlZmluZSAJUFdNNl9DT04gCQkgICAgICAoUFdNX2Jhc2UrMHgwMTUwKSAvKiBQV002IENvbnRyb2wgICAgICAgICovCisjZGVmaW5lIAlQV002X0hEVVJBVElPTgkgICAgICAoUFdNX2Jhc2UrMHgwMTU0KSAvKiBQV002IEhpZ2ggRHVyYXRpb24gICovCisjZGVmaW5lIAlQV002X0xEVVJBVElPTgkgICAgICAoUFdNX2Jhc2UrMHgwMTU4KSAvKiBQV002IExvdyBEdXJhdGlvbiAgKi8KKyNkZWZpbmUgCVBXTTZfR0RVUkFUSU9OCSAgICAgIChQV01fYmFzZSsweDAxNUMpIC8qIFBXTTYgR3VhcmQgRHVyYXRpb24gICovCisjZGVmaW5lIAlQV002X0JVRjBfQkFTRV9BRERSICAoUFdNX2Jhc2UrMHgwMTYwKSAvKiBQV002IEJ1ZmZlcjAgQmFzZSBBZGRyZXNzICAqLworI2RlZmluZSAJUFdNNl9CVUYwX1NJWkUgICAgICAgKFBXTV9iYXNlKzB4MDE2NCkgLyogUFdNNiBCdWZmZXIwIFNpemUgICovCisjZGVmaW5lIAlQV002X0JVRjFfQkFTRV9BRERSICAoUFdNX2Jhc2UrMHgwMTY4KSAvKiBQV002IEJ1ZmZlcjEgQmFzZSBBZGRyZXNzICAqLworI2RlZmluZSAJUFdNNl9CVUYxX1NJWkUgICAgICAgKFBXTV9iYXNlKzB4MDE2QykgLyogUFdNNiBCdWZmZXIxIFNpemUgICovCisjZGVmaW5lIAlQV002X1NFTkRfREFUQTAgICAgICAoUFdNX2Jhc2UrMHgwMTcwKSAvKiBQV002IFNlbmQgRGF0YTAgICovCisjZGVmaW5lIAlQV002X1NFTkRfREFUQTEgICAgICAoUFdNX2Jhc2UrMHgwMTc0KSAvKiBQV002IFNlbmQgRGF0YTEgICovCisjZGVmaW5lIAlQV002X1dBVkVfTlVNICAgICAgICAoUFdNX2Jhc2UrMHgwMTc4KSAvKiBQV002IFdhdmUgTnVtYmVyICAqLworI2RlZmluZSAJUFdNNl9TRU5EX1dBVkVOVU0gICAgKFBXTV9iYXNlKzB4MDE3QykgLyogUFdNNiBTZW5kIFdhdmUgTnVtYmVyICAqLworI2RlZmluZSAJUFdNNl9WQUxJRCAgICAgICAgICAgKFBXTV9iYXNlKzB4MDE4MCkgLyogUFdNNiBWYWxpZCAgKi8KKworI2RlZmluZSAgUFdNX0lOVF9FTkFCTEUgICAgICAgKFBXTV9iYXNlKzB4MDE5MCkgLyogUFdNIEludGVycnVwdCBFbmFibGUgICovCisjZGVmaW5lICBQV01fSU5UX1NUQVRVUyAgICAgICAoUFdNX2Jhc2UrMHgwMTk0KSAvKiBQV00gSW50ZXJydXB0IFN0YXR1cyAgKi8KKyNkZWZpbmUgIFBXTV9JTlRfQUNLICAgICAgICAgIChQV01fYmFzZSsweDAxOTgpIC8qIFBXTSBJbnRlcnJ1cHQgQWNrbm93bGVkZ2UgICovCisKKy8qIFBXTV9FTkFCTEUgcmVnaXN0ZXIgKi8KKyNkZWZpbmUgUFdNX0VOQUJMRV9NQVNLICAgICAgIDB4MDAwMDAwM0YKKyNkZWZpbmUgUFdNMV9FTkFCTEVfTUFTSyAgICAgIDB4MDAwMDAwMDEKKyAgICNkZWZpbmUgUFdNMV9FTkFCTEUgICAgICAgICAgMHgwMDAwMDAwMQorICAgI2RlZmluZSBQV00xX0RJU0FCTEUgICAgICAgICAweDAwMDAwMDAwCisjZGVmaW5lIFBXTTJfRU5BQkxFX01BU0sgICAgICAweDAwMDAwMDAyCisgICAjZGVmaW5lIFBXTTJfRU5BQkxFICAgICAgICAgIDB4MDAwMDAwMDIKKyAgICNkZWZpbmUgUFdNMl9ESVNBQkxFICAgICAgICAgMHgwMDAwMDAwMAorI2RlZmluZSBQV00zX0VOQUJMRV9NQVNLICAgICAgMHgwMDAwMDAwNAorICAgI2RlZmluZSBQV00zX0VOQUJMRSAgICAgICAgICAweDAwMDAwMDA0CisgICAjZGVmaW5lIFBXTTNfRElTQUJMRSAgICAgICAgIDB4MDAwMDAwMDAKKyNkZWZpbmUgUFdNNF9FTkFCTEVfTUFTSyAgICAgIDB4MDAwMDAwMDgKKyAgICNkZWZpbmUgUFdNNF9FTkFCTEUgICAgICAgICAgMHgwMDAwMDAwOAorICAgI2RlZmluZSBQV000X0RJU0FCTEUgICAgICAgICAweDAwMDAwMDAwCisjZGVmaW5lIFBXTTVfRU5BQkxFX01BU0sgICAgICAweDAwMDAwMDEwCisgICAjZGVmaW5lIFBXTTVfRU5BQkxFICAgICAgICAgIDB4MDAwMDAwMTAKKyAgICNkZWZpbmUgUFdNNV9ESVNBQkxFICAgICAgICAgMHgwMDAwMDAwMAorI2RlZmluZSBQV002X0VOQUJMRV9NQVNLICAgICAgMHgwMDAwMDAyMAorICAgI2RlZmluZSBQV002X0VOQUJMRSAgICAgICAgICAweDAwMDAwMDIwCisgICAjZGVmaW5lIFBXTTZfRElTQUJMRSAgICAgICAgIDB4MDAwMDAwMDAKKyNkZWZpbmUgUFdNX1NFUV9NT0RFX01BU0sgICAgIDB4MDAwMDAwNDAKKyAgICNkZWZpbmUgUFdNX1NFUV9NT0RFX09OICAgICAgMHgwMDAwMDA0MAorICAgI2RlZmluZSBQV01fU0VRX01PREVfT0ZGICAgICAweDAwMDAwMDAwCisKKy8qIFBXTTQsIFBXTTUsIFBXTTYgRGVsYXkgRHVyYXRpb24gcmVnaXN0ZXIgKi8KKyNkZWZpbmUgUFdNX0RFTEFZX0RVUkFUT05fTUFTSyAgIDB4MDAwMEZGRkYKKyNkZWZpbmUgUFdNX0RFTEFZX0NMS1NFTF9NQVNLICAgIDB4MDAwMTAwMDAKKyAgICNkZWZpbmUgUFdNX0RFTEFZX0NMS1NFTF81Mk0gICAgMHgwMDAwMDAwMAorICAgI2RlZmluZSBQV01fREVMQVlfQ0xLU0VMXzMySyAgICAweDAwMDEwMDAwCisKKy8qIFBXTTF+UFdNNiBDb250cm9sIHJlZ2lzdGVycyAqLworI2RlZmluZSBQV01fQ09OX0NMS0RJVl9TSElGVCAgICAgMAorI2RlZmluZSBQV01fQ09OX0NMS0RJVl9NQVNLICAgICAgMHgwMDAwMDAwNworICAgI2RlZmluZSBQV01fQ09OX0NMS0RJVl8xICAgICAgICAgMHgwMDAwMDAwMAorICAgI2RlZmluZSBQV01fQ09OX0NMS0RJVl8yICAgICAgICAgMHgwMDAwMDAwMQorICAgI2RlZmluZSBQV01fQ09OX0NMS0RJVl80ICAgICAgICAgMHgwMDAwMDAxMAorICAgI2RlZmluZSBQV01fQ09OX0NMS0RJVl84ICAgICAgICAgMHgwMDAwMDAxMQorICAgI2RlZmluZSBQV01fQ09OX0NMS0RJVl8xNiAgICAgICAgMHgwMDAwMDEwMAorICAgI2RlZmluZSBQV01fQ09OX0NMS0RJVl8zMiAgICAgICAgMHgwMDAwMDEwMQorICAgI2RlZmluZSBQV01fQ09OX0NMS0RJVl82NCAgICAgICAgMHgwMDAwMDExMAorICAgI2RlZmluZSBQV01fQ09OX0NMS0RJVl8xMjggICAgICAgMHgwMDAwMDExMQorI2RlZmluZSBQV01fQ09OX0NMS1NFTF9TSElGVCAgICAgMworI2RlZmluZSBQV01fQ09OX0NMS1NFTF9NQVNLICAgICAgMHgwMDAwMDAwOAorICAgI2RlZmluZSBQV01fQ09OX0NMS1NFTF81Mk0gICAgICAgMHgwMDAwMDAwMAorICAgI2RlZmluZSBQV01fQ09OX0NMS1NFTF8zMksgICAgICAgMHgwMDAwMDAwOAorI2RlZmluZSBQV01fQ09OX0ZJWEVEX0NMS01PREVfU0hJRlQgICAgIDQKKyNkZWZpbmUgUFdNX0NPTl9GSVhFRF9DTEtNT0RFX01BU0sgICAgICAweDAwMDAwMDEwCisgICAjZGVmaW5lIFBXTV9DT05fRklYRURfQ0xLTU9ERV8wICAgICAgIDB4MDAwMDAwMDAKKyAgICNkZWZpbmUgUFdNX0NPTl9GSVhFRF9DTEtNT0RFXzEgICAgICAgMHgwMDAwMDAxMAorI2RlZmluZSBQV01fQ09OX1NSQ1NFTF9TSElGVCAgICAgNQorI2RlZmluZSBQV01fQ09OX1NSQ1NFTF9NQVNLICAgICAgMHgwMDAwMDAyMAorICAgI2RlZmluZSBQV01fQ09OX1NSQ1NFTF9GSUZPICAgICAgMHgwMDAwMDAwMAorICAgI2RlZmluZSBQV01fQ09OX1NSQ1NFTF9NRU0gICAgICAgMHgwMDAwMDAyMAorI2RlZmluZSBQV01fQ09OX01PREVfU0hJRlQgICAgICAgNgorI2RlZmluZSBQV01fQ09OX01PREVfTUFTSyAgICAgICAgMHgwMDAwMDA0MAorICAgI2RlZmluZSBQV01fQ09OX01PREVfUEVSSU9ESUMgICAgMHgwMDAwMDAwMAorICAgI2RlZmluZSBQV01fQ09OX01PREVfUkFORE9NICAgICAgMHgwMDAwMDA0MAorI2RlZmluZSBQV01fQ09OX0lETEVfVkFMVUVfU0hJRlQgNworI2RlZmluZSBQV01fQ09OX0lETEVfVkFMVUVfTUFTSyAgMHgwMDAwMDA4MAorICAgI2RlZmluZSBQV01fQ09OX0lETEVfVkFMVUVfMCAgICAgMHgwMDAwMDAwMAorICAgI2RlZmluZSBQV01fQ09OX0lETEVfVkFMVUVfMSAgICAgMHgwMDAwMDA4MAorI2RlZmluZSBQV01fQ09OX0dVQVJEX1ZBTFVFX1NISUZUIDgKKyNkZWZpbmUgUFdNX0NPTl9HVUFSRF9WQUxVRV9NQVNLIDB4MDAwMDAxMDAKKyAgICNkZWZpbmUgUFdNX0NPTl9HVUFSRF9WQUxVRV8wICAgIDB4MDAwMDAwMDAKKyAgICNkZWZpbmUgUFdNX0NPTl9HVUFSRF9WQUxVRV8xICAgIDB4MDAwMDAxMDAKKyNkZWZpbmUgUFdNX0NPTl9TVE9QX0JJVFBPU19TSElGVCAgOQorI2RlZmluZSBQV01fQ09OX1NUT1BfQklUUE9TX01BU0sgIDB4MDAwMDdFMDAKKyNkZWZpbmUgUFdNX0NPTl9PTERfUFdNX01PREVfU0hJRlQgMTUKKyNkZWZpbmUgUFdNX0NPTl9PTERfUFdNX01PREVfTUFTSyAweDAwMDA4MDAwCisgICAjZGVmaW5lIFBXTV9DT05fTkVXX1BXTV9NT0RFICAgICAweDAwMDAwMDAwCisgICAjZGVmaW5lIFBXTV9DT05fT0xEX1BXTV9NT0RFICAgICAweDAwMDA4MDAwCisKKy8qIFBXTTF+UFdNMyBEYXRhIFdpZHRoIHJlZ2lzdGVycyAqLworI2RlZmluZSAJUFdNX0RBVEFfV0lEVEhfTUFTSyAgIDB4MDAwMDNGRkYKKworLyogUFdNMX5QV00zIFRocmVzaG9sZCByZWdpc3RlcnMgKi8KKyNkZWZpbmUgCVBXTV9USFJFU0hfTUFTSyAgIDB4MDAwMDNGRkYKKworLyogUFdNMX5QV002IERhdGEgVmFsaWQgcmVnaXN0ZXJzICovCisjZGVmaW5lIAlQV01fREFUQV9WQUxJRF9NQVNLICAgICAgIDB4MDAwMDAwMEYKKyNkZWZpbmUgIFBXTV9CVUYwX1ZBTElEX01BU0sgICAgICAgMHgwMDAwMDAwMQorICAgI2RlZmluZSAgUFdNX0JVRjBfSU5WQUxJRCAgICAgICAgICAgMHgwMDAwMDAwMAorICAgI2RlZmluZSAgUFdNX0JVRjBfVkFMSUQgICAgICAgICAgICAgMHgwMDAwMDAwMQorI2RlZmluZSAgUFdNX0JVRjBfVkFMSURfV0VOX01BU0sgICAweDAwMDAwMDAyCisgICAjZGVmaW5lICBQV01fQlVGMF9WQUxJRF9XRElTQUJMRSAgICAweDAwMDAwMDAwCisgICAjZGVmaW5lICBQV01fQlVGMF9WQUxJRF9XRU5BQkxFICAgICAweDAwMDAwMDAyCisjZGVmaW5lICBQV01fQlVGMV9WQUxJRF9NQVNLICAgICAgIDB4MDAwMDAwMDQKKyAgICNkZWZpbmUgIFBXTV9CVUYxX0lOVkFMSUQgICAgICAgICAgIDB4MDAwMDAwMDAKKyAgICNkZWZpbmUgIFBXTV9CVUYxX1ZBTElEICAgICAgICAgICAgIDB4MDAwMDAwMDQKKyNkZWZpbmUgIFBXTV9CVUYxX1ZBTElEX1dFTl9NQVNLICAgMHgwMDAwMDAwOAorICAgI2RlZmluZSAgUFdNX0JVRjFfVkFMSURfV0RJU0FCTEUgICAgMHgwMDAwMDAwMAorICAgI2RlZmluZSAgUFdNX0JVRjFfVkFMSURfV0VOQUJMRSAgICAgMHgwMDAwMDAwOAorCisvKiBQV00gSW50ZXJydXB0IEVuYWJsZSByZWdpc3RlcnMgKi8KKyNkZWZpbmUgCVBXTV9JTlRfRU5BQkxFX01BU0sgICAgICAgICAgMHgwMDAwMEZGRgorI2RlZmluZSAgUFdNMV9JTlRfRklOSVNIX0VOX01BU0sgICAgICAweDAwMDAwMDAxCisgICAjZGVmaW5lICBQV00xX0lOVF9GSU5JU0hfRElTQUJMRSAgICAgMHgwMDAwMDAwMAorICAgI2RlZmluZSAgUFdNMV9JTlRfRklOSVNIX0VOQUJMRSAgICAgIDB4MDAwMDAwMDEKKyNkZWZpbmUgIFBXTTFfSU5UX1VOREVSRkxPV19FTl9NQVNLICAgMHgwMDAwMDAwMgorICAgI2RlZmluZSAgUFdNMV9JTlRfVU5ERVJGTE9XX0RJU0FCTEUgIDB4MDAwMDAwMDAKKyAgICNkZWZpbmUgIFBXTTFfSU5UX1VOREVSRkxPV19FTkFCTEUgICAweDAwMDAwMDAyCisjZGVmaW5lICBQV00yX0lOVF9GSU5JU0hfRU5fTUFTSyAgICAgIDB4MDAwMDAwMDQKKyAgICNkZWZpbmUgIFBXTTJfSU5UX0ZJTklTSF9ESVNBQkxFICAgICAweDAwMDAwMDAwCisgICAjZGVmaW5lICBQV00yX0lOVF9GSU5JU0hfRU5BQkxFICAgICAgMHgwMDAwMDAwNAorI2RlZmluZSAgUFdNMl9JTlRfVU5ERVJGTE9XX0VOX01BU0sgICAweDAwMDAwMDA4CisgICAjZGVmaW5lICBQV00yX0lOVF9VTkRFUkZMT1dfRElTQUJMRSAgMHgwMDAwMDAwMAorICAgI2RlZmluZSAgUFdNMl9JTlRfVU5ERVJGTE9XX0VOQUJMRSAgIDB4MDAwMDAwMDgKKyNkZWZpbmUgIFBXTTNfSU5UX0ZJTklTSF9FTl9NQVNLICAgICAgMHgwMDAwMDAxMAorICAgI2RlZmluZSAgUFdNM19JTlRfRklOSVNIX0RJU0FCTEUgICAgIDB4MDAwMDAwMDAKKyAgICNkZWZpbmUgIFBXTTNfSU5UX0ZJTklTSF9FTkFCTEUgICAgICAweDAwMDAwMDEwCisjZGVmaW5lICBQV00zX0lOVF9VTkRFUkZMT1dfRU5fTUFTSyAgIDB4MDAwMDAwMjAKKyAgICNkZWZpbmUgIFBXTTNfSU5UX1VOREVSRkxPV19ESVNBQkxFICAweDAwMDAwMDAwCisgICAjZGVmaW5lICBQV00zX0lOVF9VTkRFUkZMT1dfRU5BQkxFICAgMHgwMDAwMDAyMAorI2RlZmluZSAgUFdNNF9JTlRfRklOSVNIX0VOX01BU0sgICAgICAweDAwMDAwMDQwCisgICAjZGVmaW5lICBQV000X0lOVF9GSU5JU0hfRElTQUJMRSAgICAgMHgwMDAwMDAwMAorICAgI2RlZmluZSAgUFdNNF9JTlRfRklOSVNIX0VOQUJMRSAgICAgIDB4MDAwMDAwNDAKKyNkZWZpbmUgIFBXTTRfSU5UX1VOREVSRkxPV19FTl9NQVNLICAgMHgwMDAwMDA4MAorICAgI2RlZmluZSAgUFdNNF9JTlRfVU5ERVJGTE9XX0RJU0FCTEUgIDB4MDAwMDAwMDAKKyAgICNkZWZpbmUgIFBXTTRfSU5UX1VOREVSRkxPV19FTkFCTEUgICAweDAwMDAwMDgwCisjZGVmaW5lICBQV001X0lOVF9GSU5JU0hfRU5fTUFTSyAgICAgIDB4MDAwMDAxMDAKKyAgICNkZWZpbmUgIFBXTTVfSU5UX0ZJTklTSF9ESVNBQkxFICAgICAweDAwMDAwMDAwCisgICAjZGVmaW5lICBQV001X0lOVF9GSU5JU0hfRU5BQkxFICAgICAgMHgwMDAwMDEwMAorI2RlZmluZSAgUFdNNV9JTlRfVU5ERVJGTE9XX0VOX01BU0sgICAweDAwMDAwMjAwCisgICAjZGVmaW5lICBQV001X0lOVF9VTkRFUkZMT1dfRElTQUJMRSAgMHgwMDAwMDAwMAorICAgI2RlZmluZSAgUFdNNV9JTlRfVU5ERVJGTE9XX0VOQUJMRSAgIDB4MDAwMDAyMDAKKyNkZWZpbmUgIFBXTTZfSU5UX0ZJTklTSF9FTl9NQVNLICAgICAgMHgwMDAwMDQwMAorICAgI2RlZmluZSAgUFdNNl9JTlRfRklOSVNIX0RJU0FCTEUgICAgIDB4MDAwMDAwMDAKKyAgICNkZWZpbmUgIFBXTTZfSU5UX0ZJTklTSF9FTkFCTEUgICAgICAweDAwMDAwNDAwCisjZGVmaW5lICBQV002X0lOVF9VTkRFUkZMT1dfRU5fTUFTSyAgIDB4MDAwMDA4MDAKKyAgICNkZWZpbmUgIFBXTTZfSU5UX1VOREVSRkxPV19ESVNBQkxFICAweDAwMDAwMDAwCisgICAjZGVmaW5lICBQV002X0lOVF9VTkRFUkZMT1dfRU5BQkxFICAgMHgwMDAwMDgwMAorCisvKiBQV00gSW50ZXJydXB0IFN0YXR1cyByZWdpc3RlcnMgKi8KKyNkZWZpbmUgCVBXTV9JTlRfU1RBVFVTX01BU0sgICAgICAgIDB4MDAwMDBGRkYKKyNkZWZpbmUgIFBXTTFfSU5UX0ZJTklTSF9FTl9TVCAgICAgIDB4MDAwMDAwMDEKKyNkZWZpbmUgIFBXTTFfSU5UX1VOREVSRkxPV19FTl9TVCAgIDB4MDAwMDAwMDIKKyNkZWZpbmUgIFBXTTJfSU5UX0ZJTklTSF9FTl9TVCAgICAgIDB4MDAwMDAwMDQKKyNkZWZpbmUgIFBXTTJfSU5UX1VOREVSRkxPV19FTl9TVCAgIDB4MDAwMDAwMDgKKyNkZWZpbmUgIFBXTTNfSU5UX0ZJTklTSF9FTl9TVCAgICAgIDB4MDAwMDAwMTAKKyNkZWZpbmUgIFBXTTNfSU5UX1VOREVSRkxPV19FTl9TVCAgIDB4MDAwMDAwMjAKKyNkZWZpbmUgIFBXTTRfSU5UX0ZJTklTSF9FTl9TVCAgICAgIDB4MDAwMDAwNDAKKyNkZWZpbmUgIFBXTTRfSU5UX1VOREVSRkxPV19FTl9TVCAgIDB4MDAwMDAwODAKKyNkZWZpbmUgIFBXTTVfSU5UX0ZJTklTSF9FTl9TVCAgICAgIDB4MDAwMDAxMDAKKyNkZWZpbmUgIFBXTTVfSU5UX1VOREVSRkxPV19FTl9TVCAgIDB4MDAwMDAyMDAKKyNkZWZpbmUgIFBXTTZfSU5UX0ZJTklTSF9FTl9TVCAgICAgIDB4MDAwMDA0MDAKKyNkZWZpbmUgIFBXTTZfSU5UX1VOREVSRkxPV19FTl9TVCAgIDB4MDAwMDA4MDAKKworLyogUFdNIEludGVycnVwdCBBQ0sgcmVnaXN0ZXJzICovCisjZGVmaW5lIAlQV01fSU5UX0FDS19NQVNLICAgICAgICAgMHgwMDAwMEZGRgorI2RlZmluZSAgUFdNMV9JTlRfRklOSVNIX0FDSyAgICAgIDB4MDAwMDAwMDEKKyNkZWZpbmUgIFBXTTFfSU5UX1VOREVSRkxPV19BQ0sgICAweDAwMDAwMDAyCisjZGVmaW5lICBQV00yX0lOVF9GSU5JU0hfQUNLICAgICAgMHgwMDAwMDAwNAorI2RlZmluZSAgUFdNMl9JTlRfVU5ERVJGTE9XX0FDSyAgIDB4MDAwMDAwMDgKKyNkZWZpbmUgIFBXTTNfSU5UX0ZJTklTSF9BQ0sgICAgICAweDAwMDAwMDEwCisjZGVmaW5lICBQV00zX0lOVF9VTkRFUkZMT1dfQUNLICAgMHgwMDAwMDAyMAorI2RlZmluZSAgUFdNNF9JTlRfRklOSVNIX0FDSyAgICAgIDB4MDAwMDAwNDAKKyNkZWZpbmUgIFBXTTRfSU5UX1VOREVSRkxPV19BQ0sgICAweDAwMDAwMDgwCisjZGVmaW5lICBQV001X0lOVF9GSU5JU0hfQUNLICAgICAgMHgwMDAwMDEwMAorI2RlZmluZSAgUFdNNV9JTlRfVU5ERVJGTE9XX0FDSyAgIDB4MDAwMDAyMDAKKyNkZWZpbmUgIFBXTTZfSU5UX0ZJTklTSF9BQ0sgICAgICAweDAwMDAwNDAwCisjZGVmaW5lICBQV002X0lOVF9VTkRFUkZMT1dfQUNLICAgMHgwMDAwMDgwMAorCisjZGVmaW5lIFBXTV9URVNUX1NFTCAweDEwMAorI2VuZGlmIC8vIERSVl9QV01fT0ZGCisjZW5kaWYgIC8qIGRlZmluZWQoRFJWX1BXTV9SV0cpICovCisKKworI2VuZGlmCisKZGlmZiAtLWdpdCBhL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvcndnX3N3LmggYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL3J3Z19zdy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE4ODA1NzEKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL3J3Z19zdy5oCkBAIC0wLDAgKzEsMzQ4IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMDUKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4gCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRmlsZW5hbWU6CisgKiAtLS0tLS0tLS0KKyAqICAgIHJ3Z19zdy5oCisgKgorICogUHJvamVjdDoKKyAqIC0tLS0tLS0tCisgKiAgIE1hdWlfU29mdHdhcmUKKyAqCisgKiBEZXNjcmlwdGlvbjoKKyAqIC0tLS0tLS0tLS0tLQorICogICBUaGlzIGZpbGUgaXMgaW50ZW5kZWQgZm9yIFJhbmRvbSBXYXZlZm9ybSBHZW5lcmF0b3IgKEVuaGFjZWQgUFdNKSBkcml2ZXIuCisgKgorICogQXV0aG9yOgorICogLS0tLS0tLQorICogLS0tLS0tLQorICoKKyAqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICogICAgICAgICAgICAgSElTVE9SWQorICogQmVsb3cgdGhpcyBsaW5lLCB0aGlzIHBhcnQgaXMgY29udHJvbGxlZCBieSBQVkNTIFZNLiBETyBOT1QgTU9ESUZZISEKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIFVwcGVyIHRoaXMgbGluZSwgdGhpcyBwYXJ0IGlzIGNvbnRyb2xsZWQgYnkgUFZDUyBWTS4gRE8gTk9UIE1PRElGWSEhCisgKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmbmRlZiBSV0dfU1dfSAorI2RlZmluZSBSV0dfU1dfSAorI2luY2x1ZGUgImthbF9nZW5lcmFsX3R5cGVzLmgiCisjaW5jbHVkZSAiZHJ2X2NvbW0uaCIKKyNpbmNsdWRlICJkcnZfZmVhdHVyZXNfcHdtLmgiCisjaW5jbHVkZSAiZGNsLmgiCisjaWYgZGVmaW5lZChEUlZfUFdNX1JXRykKKy8qUFdNIHVzZXIgbW9kZSBJRCovCit0eXBlZGVmIGVudW0gCit7CisJUFdNX09XTkVSX1VFTT0wLAorICAgUFdNX09XTkVSX0FGLAorCVBXTV9PV05FUl9OT05FPTB4ZmYKK31wd21fb3duZXJfZTsKKworLypTZWxlY3QgUFdNMSBjbG9jayBzY2FsZSovCit0eXBlZGVmIGVudW0gCit7CisJUFdNX0NMS19ESVZfTk9ORT0wLAorCVBXTV9DTEtfRElWXzI9MSwKKwlQV01fQ0xLX0RJVl80PTIsCisJUFdNX0NMS19ESVZfOD0zLAorCVBXTV9DTEtfRElWXzE2PTQsCisJUFdNX0NMS19ESVZfMzI9NSwKKwlQV01fQ0xLX0RJVl82ND02LAorCVBXTV9DTEtfRElWXzEyOD03Cit9cHdtX2Nsa19kaXZfZTsKKworLypTZWxlY3QgUFdNbiBjbG9jayovCit0eXBlZGVmIGVudW0gCit7CisJUFdNX0NMS19TRUxfNTJNPTAsCisJUFdNX0NMS19TRUxfMzJLPTEKK31wd21fY2xrX3NlbF9lOworCisvKlBXTSBjaGFubmVsIGVudW1lcmF0ZSovCit0eXBlZGVmIGVudW0gCit7CisJUFdNMT0wLAorCVBXTTIsCisJUFdNMywKKwlQV000LAorCVBXTTUsCisJUFdNNiwKKyAgUFdNX0NPVU5UCit9cHdtX251bV9lOworCit0eXBlZGVmIGVudW0KK3sKKyAgIFBXTV9TRVFfRU5fUFdNMz0weDEsCisgICBQV01fU0VRX0VOX1BXTTM0PTB4MDMsCisgICBQV01fU0VRX0VOX1BXTTM1PTB4MDUsCisgICBQV01fU0VRX0VOX1BXTTM0NT0weDA3LAorICAgUFdNX1NFUV9FTl9QV00zNj0weDA5LAorICAgUFdNX1NFUV9FTl9QV00zNDY9MHgwYiwKKyAgIFBXTV9TRVFfRU5fUFdNMzU2PTB4MGQsCisgICBQV01fU0VRX0VOX1BXTTM0NTY9MHgwZgorfSBwd21fc2VxX2VuX2NudF9lOworCit0eXBlZGVmIGVudW0KK3sKKyAgIFBXTV9CVUZfSU5WQUxJRF9OT05FPTAsCisgICBQV01fQlVGXzBfSU5WQUxJRCwKKyAgIFBXTV9CVUZfMV9JTlZBTElELAorICAgUFdNX0JVRl8wXzFfSU5WQUxJRAorfSBwd21fYnVmX2ludmFsaWRfZTsKK3R5cGVkZWYgdm9pZCAoKkRDTF9QV01fSU5JVCkodm9pZCk7Cit0eXBlZGVmIHZvaWQgKCpEQ0xfUFdNX0NMS19JTklUKShrYWxfdWludDggb3duZXIsIGthbF91aW50MzIgcHdtX251bSwga2FsX3VpbnQzMiBjbGtfc2VsLCBrYWxfdWludDMyIGNsa19kaXYpOwordHlwZWRlZiB2b2lkICgqRENMX1BXTV9TVEFSVCkoRENMX1VJTlQ4IG93bmVyLCBEQ0xfVUlOVDMyIHB3bV9udW0pOwordHlwZWRlZiB2b2lkICgqRENMX1BXTV9TVE9QKShEQ0xfVUlOVDggb3duZXIsIERDTF9VSU5UMzIgcHdtX251bSk7Cit0eXBlZGVmIERDTF9CT09MICgqRENMX1BXTV9DT05GSUdVUkUpKGthbF91aW50OCBvd25lciwga2FsX3VpbnQzMiBwd21fbnVtLCBrYWxfdWludDMyIG1vZGUsIHZvaWQgKnBhcmEpOwordHlwZWRlZiB2b2lkICgqRENMX1BXTV9TRVRfQlVGX1ZBTElEKShrYWxfdWludDggb3duZXIsIGthbF91aW50MzIgcHdtX251bSxrYWxfdWludDMyICpidWZfYWRkciwga2FsX3VpbnQxNiBidWZfc2l6ZSwga2FsX2Jvb2wgaXNfYnVmMCk7Cit0eXBlZGVmIHZvaWQgKCpEQ0xfUFdNX1NFVF9ERUxBWSkoa2FsX3VpbnQ4IG93bmVyLCBrYWxfdWludDMyIHB3bV9udW0sIGthbF91aW50MzIgY2xrX3NlbCwga2FsX3VpbnQxNiBkZWxheV9jbnQpOwordHlwZWRlZiAgRENMX0JPT0wgKCpEQ0xfUFdNX1NFUV9PUEVOKShrYWxfdWludDggb3duZXIpOwordHlwZWRlZiB2b2lkICgqRENMX1BXTV9TRVFfU1RBUlQpKGthbF91aW50OCBvd25lciwga2FsX3VpbnQ4IGVuX2NudCk7Cit0eXBlZGVmIHZvaWQgKCpEQ0xfUFdNX1NFUV9TVE9QKShrYWxfdWludDggb3duZXIpOwordHlwZWRlZiBEQ0xfQk9PTCAoKkRDTF9QV01fU0VRX0NMT1NFKShrYWxfdWludDggb3duZXIpOwordHlwZWRlZiB2b2lkICgqRENMX1BXTV9DT05GSUdfT0xEKShrYWxfdWludDggb3duZXIsIGthbF91aW50MzIgcHdtX251bSwga2FsX3VpbnQzMiBmcmVxLCBrYWxfdWludDggZHV0eSk7Cit0eXBlZGVmIERDTF9VSU5UOCAoKkRDTF9QV01fR0VUQ1VSUkVOVF9MRVZFTCkoRENMX1VJTlQ4IHB3bV9udW0pOwordHlwZWRlZiBEQ0xfVUlOVDMyKCpEQ0xfUFdNX0dFVENVUlJFTlRfRlJFUSkoRENMX1VJTlQ4IHB3bV9udW0pOwordHlwZWRlZiBEQ0xfVUlOVDggKCpEQ0xfUFdNX0dFVENVUlJFTlRfRFVUWSkoRENMX1VJTlQ4IHB3bV9udW0pOwordHlwZWRlZiB2b2lkICgqRENMX1BXTV9URVNUX1NFTEVDVCkoRENMX0JPT0wgc2VsKTsKK3R5cGVkZWYga2FsX2Jvb2wgKCpEQ0xfUFdNX09QRU4pKGthbF91aW50OCBvd25lciwga2FsX3VpbnQzMiBwd21fbnVtKTsKK3R5cGVkZWYga2FsX2Jvb2wgKCpEQ0xfUFdNX0NMT1NFKShrYWxfdWludDggb3duZXIsIGthbF91aW50MzIgcHdtX251bSk7Cit0eXBlZGVmIHZvaWQgKCpEQ0xfUFdNX0NPTkZJR19GUkVRX1NURVBTKShrYWxfdWludDggb3duZXIsIGthbF91aW50MzIgcHdtX251bSwga2FsX3VpbnQzMiBmcmVxLCBrYWxfdWludDE2IHN0ZXBzKTsKK3R5cGVkZWYgdm9pZCAoKkRDTF9QV01fU0VUX0RVVFkpKGthbF91aW50OCBvd25lciwga2FsX3VpbnQzMiBwd21fbnVtLCBrYWxfdWludDE2IGR1dHkpOwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIERDTF9QV01fSU5JVCAgICAgICAgICAgICAgICAgIHB3bUluaXQ7CisgICBEQ0xfUFdNX0NMS19JTklUICAgICAgICAgICAgICBwd21DbGtJbml0OworICAgRENMX1BXTV9TVEFSVCAgICAgICAgICAgICAgICAgcHdtU3RhcnQ7CisgICBEQ0xfUFdNX1NUT1AgICAgICAgICAgICAgICAgICBwd21TdG9wOworICAgRENMX1BXTV9HRVRDVVJSRU5UX0xFVkVMICAgICAgcHdtR2V0Q3VycmVudF9sZXZlbDsKKyAgIERDTF9QV01fR0VUQ1VSUkVOVF9GUkVRICAgICAgIHB3bUdldEN1cnJlbnRfRnJlcTsKKyAgIERDTF9QV01fR0VUQ1VSUkVOVF9EVVRZICAgICAgIHB3bUdldEN1cnJlbnRfRHV0eTsKKyAgIERDTF9QV01fQ09ORklHX09MRCAgICAgICAgICAgIHB3bUNvbmZpZ09sZDsKKyAgIERDTF9QV01fVEVTVF9TRUxFQ1QgICAgICAgICAgIHB3bVRlc3RTZWxlY3Q7CisgICBEQ0xfUFdNX0NPTkZJR1VSRSAgICAgICAgICAgICBwd21Db25maWd1cmU7CisgICBEQ0xfUFdNX09QRU4gICAgICAgICAgICAgICAgICBwd21PcGVuOworICAgRENMX1BXTV9DTE9TRSAgICAgICAgICAgICAgICAgcHdtQ2xvc2U7CisgICBEQ0xfUFdNX1NFVF9CVUZfVkFMSUQgICAgICAgICBwd21TZXRCdWZWYWxpZDsgCisgICBEQ0xfUFdNX1NFVF9ERUxBWSAgICAgICAgICAgICBwd21TZXREZWxheTsKKyAgIERDTF9QV01fU0VRX09QRU4gICAgICAgICAgICAgIHB3bVNlcU9wZW47CisgICBEQ0xfUFdNX1NFUV9TVEFSVCAgICAgICAgICAgICBwd21TZXFTdGFydDsKKyAgIERDTF9QV01fU0VRX1NUT1AgICAgICAgICAgICAgIHB3bVNlcVN0b3A7CisgICBEQ0xfUFdNX1NFUV9DTE9TRSAgICAgICAgICAgICBwd21TZXFDbG9zZTsKKyAgIERDTF9QV01fQ09ORklHX0ZSRVFfU1RFUFMgICAgIHB3bV9jb25maWdfZnJlcV9zdGVwczsKKyAgIERDTF9QV01fU0VUX0RVVFkgICAgICAgICAgICAgIHB3bVNldER1dHk7Cit9UFdNRHJpdmVyX3Q7CisKK2V4dGVybiB2b2lkIERDTF9QV01fU3RhcnQoa2FsX3VpbnQ4IG93bmVyLCBrYWxfdWludDMyIHB3bV9udW0pOworZXh0ZXJuIHZvaWQgRENMX1BXTV9TdG9wKGthbF91aW50OCBvd25lciwga2FsX3VpbnQzMiBwd21fbnVtKTsKK2V4dGVybiBrYWxfdWludDggRENMX1BXTV9HZXRDdXJyZW50X0xldmVsKGthbF91aW50OCBwd21fbnVtKTsKK2V4dGVybiBrYWxfdWludDggRENMX1BXTV9HZXRDdXJyZW50RHV0eShrYWxfdWludDggcHdtX251bSk7CitleHRlcm4ga2FsX3VpbnQzMiBEQ0xfUFdNX0dldEN1cnJlbnRGcmVxKGthbF91aW50OCBwd21fbnVtKTsKK2V4dGVybiB2b2lkIERDTF9QV01fQ29uZmlnT2xkKGthbF91aW50OCBvd25lciwga2FsX3VpbnQzMiBwd21fbnVtLCBrYWxfdWludDMyIGZyZXEsIGthbF91aW50OCBkdXR5KTsKKworZXh0ZXJuIHZvaWQgUFdNX0luaXQodm9pZCk7CitleHRlcm4ga2FsX2Jvb2wgUFdNX09wZW4oa2FsX3VpbnQ4IG93bmVyLCBrYWxfdWludDMyIHB3bV9udW0pOworZXh0ZXJuIGthbF9ib29sIFBXTV9TZXFfT3BlbihrYWxfdWludDggb3duZXIpOworZXh0ZXJuIGthbF9ib29sIFBXTV9DbG9zZShrYWxfdWludDggb3duZXIsIGthbF91aW50MzIgcHdtX251bSk7CitleHRlcm4ga2FsX2Jvb2wgUFdNX1NlcV9DbG9zZShrYWxfdWludDggb3duZXIpOworZXh0ZXJuIHZvaWQgUFdNX0NMS19Jbml0KGthbF91aW50OCBvd25lciwga2FsX3VpbnQzMiBwd21fbnVtLCBrYWxfdWludDMyIGNsa19zZWwsIGthbF91aW50MzIgY2xrX2Rpdik7CitleHRlcm4ga2FsX2Jvb2wgUFdNX0NvbmZpZ3VyZShrYWxfdWludDggb3duZXIsIGthbF91aW50MzIgcHdtX251bSwga2FsX3VpbnQzMiBtb2RlLCB2b2lkICpwYXJhKTsKK2V4dGVybiB2b2lkIFBXTV9TdGFydChrYWxfdWludDggb3duZXIsIGthbF91aW50MzIgcHdtX251bSk7CitleHRlcm4gdm9pZCBQV01fU3RvcChrYWxfdWludDggb3duZXIsIGthbF91aW50MzIgcHdtX251bSk7CisKKy8qIEJlbG93IGFyZSBmb3IgU2VxdWVuY2UgbW9kZSAqLworZXh0ZXJuIHZvaWQgUE1XX1NldF9EZWxheShrYWxfdWludDggb3duZXIsIGthbF91aW50MzIgcHdtX251bSwga2FsX3VpbnQzMiBjbGtfc2VsLCBrYWxfdWludDE2IGRlbGF5X2NudCk7CitleHRlcm4gdm9pZCBQV01fU2VxX1N0YXJ0KGthbF91aW50OCBvd25lciwga2FsX3VpbnQ4IGVuX2NudCk7CitleHRlcm4gdm9pZCBQV01fU2VxX1N0b3Aoa2FsX3VpbnQ4IG93bmVyKTsKKy8vZXh0ZXJuIGthbF91aW50MzIgUFdNX0NoZWNrX0J1Zl9WYWxpZChrYWxfdWludDMyIHB3bV9udW0pOworZXh0ZXJuIHZvaWQgUFdNX1NldF9CdWZfVmFsaWQoa2FsX3VpbnQ4IG93bmVyLCBrYWxfdWludDMyIHB3bV9udW0sIGthbF91aW50MzIgKmJ1Zl9hZGRyLCBrYWxfdWludDE2IGJ1Zl9zaXplLCBrYWxfYm9vbCBpc19idWYwKTsKKworLyogQmVsb3cgYXJlIGZvciBPTEQgUFdNIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkuICovCisvLyBNb0RJUyBwYXJzZXIgc2tpcCBzdGFydAorLy8gVGhlIGZvbGxvd2luZyBBUElzIGFyZSBpbXBsZW1lbnRlZCBpbiBvdGhlciBkdW1teSBBUEkgZmlsZXMKK2V4dGVybiB2b2lkIFBXTTFfQ29uZmlndXJlKGthbF91aW50MzIgZnJlcSwga2FsX3VpbnQ4IGR1dHkpOworZXh0ZXJuIHZvaWQgUFdNMl9Db25maWd1cmUoa2FsX3VpbnQzMiBmcmVxLCBrYWxfdWludDggZHV0eSk7CisvLyBNb0RJUyBwYXJzZXIgc2tpcCBlbmQKK2V4dGVybiB2b2lkIFBXTTNfQ29uZmlndXJlKGthbF91aW50MzIgZnJlcSwga2FsX3VpbnQ4IGR1dHkpOworLy8gTW9ESVMgcGFyc2VyIHNraXAgc3RhcnQKKy8vIFRoZSBmb2xsb3dpbmcgQVBJcyBhcmUgaW1wbGVtZW50ZWQgaW4gb3RoZXIgZHVtbXkgQVBJIGZpbGVzCitleHRlcm4gdm9pZCBQV00xX1N0YXJ0KHZvaWQpOworZXh0ZXJuIHZvaWQgUFdNMl9TdGFydCh2b2lkKTsKKy8vIE1vRElTIHBhcnNlciBza2lwIGVuZAorZXh0ZXJuIHZvaWQgUFdNM19TdGFydCh2b2lkKTsKKy8vIE1vRElTIHBhcnNlciBza2lwIHN0YXJ0CisvLyBUaGUgZm9sbG93aW5nIEFQSXMgYXJlIGltcGxlbWVudGVkIGluIG90aGVyIGR1bW15IEFQSSBmaWxlcworZXh0ZXJuIHZvaWQgUFdNMV9TdG9wKHZvaWQpOworZXh0ZXJuIHZvaWQgUFdNMl9TdG9wKHZvaWQpOworLy8gTW9ESVMgcGFyc2VyIHNraXAgZW5kCitleHRlcm4gdm9pZCBQV00zX1N0b3Aodm9pZCk7CisKKy8vIE9MRCBQV00gc3VwcG9ydCBmb3IgUFdNIHBvcnQgNCwgNSwgNiBiZWdpbgorZXh0ZXJuIHZvaWQgUFdNNF9Db25maWd1cmUoa2FsX3VpbnQzMiBmcmVxLCBrYWxfdWludDggZHV0eSk7CitleHRlcm4gdm9pZCBQV001X0NvbmZpZ3VyZShrYWxfdWludDMyIGZyZXEsIGthbF91aW50OCBkdXR5KTsKK2V4dGVybiB2b2lkIFBXTTZfQ29uZmlndXJlKGthbF91aW50MzIgZnJlcSwga2FsX3VpbnQ4IGR1dHkpOworZXh0ZXJuIHZvaWQgUFdNNF9TdGFydCh2b2lkKTsKK2V4dGVybiB2b2lkIFBXTTVfU3RhcnQodm9pZCk7CitleHRlcm4gdm9pZCBQV002X1N0YXJ0KHZvaWQpOworZXh0ZXJuIHZvaWQgUFdNNF9TdG9wKHZvaWQpOworZXh0ZXJuIHZvaWQgUFdNNV9TdG9wKHZvaWQpOworZXh0ZXJuIHZvaWQgUFdNNl9TdG9wKHZvaWQpOworZXh0ZXJuIGthbF91aW50OCAgUFdNNF9HZXRDdXJyZW50TGV2ZWwodm9pZCk7CitleHRlcm4ga2FsX3VpbnQ4ICBQTVc0X0dldEN1cnJlbnREdXR5KHZvaWQpOworZXh0ZXJuIGthbF91aW50MzIgUE1XNF9HZXRDdXJyZW50RnJlcSh2b2lkKTsKK2V4dGVybiBrYWxfdWludDggIFBXTTVfR2V0Q3VycmVudExldmVsKHZvaWQpOworZXh0ZXJuIGthbF91aW50OCAgUE1XNV9HZXRDdXJyZW50RHV0eSh2b2lkKTsKK2V4dGVybiBrYWxfdWludDMyIFBNVzVfR2V0Q3VycmVudEZyZXEodm9pZCk7CitleHRlcm4ga2FsX3VpbnQ4ICBQV002X0dldEN1cnJlbnRMZXZlbCh2b2lkKTsKK2V4dGVybiBrYWxfdWludDggIFBNVzZfR2V0Q3VycmVudER1dHkodm9pZCk7CitleHRlcm4ga2FsX3VpbnQzMiBQTVc2X0dldEN1cnJlbnRGcmVxKHZvaWQpOworLy8gT0xEIFBXTSBzdXBwb3J0IGZvciBQV00gcG9ydCA0LCA1LCA2IGJlZ2luCisKK2V4dGVybiBrYWxfdWludDggIFBXTTFfR2V0Q3VycmVudExldmVsKHZvaWQpOworZXh0ZXJuIGthbF91aW50OCAgUE1XMV9HZXRDdXJyZW50RHV0eSh2b2lkKTsKK2V4dGVybiBrYWxfdWludDMyIFBNVzFfR2V0Q3VycmVudEZyZXEodm9pZCk7CitleHRlcm4ga2FsX3VpbnQ4ICBQV00yX0dldEN1cnJlbnRMZXZlbCh2b2lkKTsKK2V4dGVybiBrYWxfdWludDggIFBNVzJfR2V0Q3VycmVudER1dHkodm9pZCk7CitleHRlcm4ga2FsX3VpbnQzMiBQTVcyX0dldEN1cnJlbnRGcmVxKHZvaWQpOworZXh0ZXJuIGthbF91aW50OCBQV00zX0dldEN1cnJlbnRMZXZlbCh2b2lkKTsKK2V4dGVybiBrYWxfdWludDMyIFBNVzNfR2V0Q3VycmVudEZyZXEodm9pZCk7CitleHRlcm4ga2FsX3VpbnQ4IFBNVzNfR2V0Q3VycmVudER1dHkodm9pZCk7CitleHRlcm4gdm9pZCBQV01fVGVzdF9TZWxlY3Qoa2FsX2Jvb2wgc2VsKTsKKyNlbmRpZiAgLyogZGVmaW5lZChEUlZfUFdNX1JXRykgKi8KKworCisjaWYgZGVmaW5lZChfX0RSVl9DT01NX1JFR19EQkdfXykgJiYgZGVmaW5lZChfX0RSVl9SV0dfUkVHX0RCR19fKQorI2RlZmluZSBEUlZfUldHX1dyaXRlUmVnKGFkZHIsZGF0YSkgICAgICAgICAgICAgIERSVl9EQkdfV3JpdGVSZWcoYWRkcixkYXRhKQorI2RlZmluZSBEUlZfUldHX1JlZyhhZGRyKSAgICAgICAgICAgICAgICAgICAgICAgIERSVl9EQkdfUmVnKGFkZHIpICAgICAgICAgICAgICAgICAgICAgIAorI2RlZmluZSBEUlZfUldHX1dyaXRlUmVnMzIoYWRkcixkYXRhKSAgICAgICAgICAgIERSVl9EQkdfV3JpdGVSZWczMihhZGRyLGRhdGEpICAgICAgICAgIAorI2RlZmluZSBEUlZfUldHX1JlZzMyKGFkZHIpICAgICAgICAgICAgICAgICAgICAgIERSVl9EQkdfUmVnMzIoYWRkcikgICAgICAgICAgICAgICAgICAgIAorI2RlZmluZSBEUlZfUldHX1dyaXRlUmVnOChhZGRyLGRhdGEpICAgICAgICAgICAgIERSVl9EQkdfV3JpdGVSZWc4KGFkZHIsZGF0YSkgICAgICAgICAgIAorI2RlZmluZSBEUlZfUldHX1JlZzgoYWRkcikgICAgICAgICAgICAgICAgICAgICAgIERSVl9EQkdfUmVnOChhZGRyKSAgICAgICAgICAgICAgICAgICAgIAorI2RlZmluZSBEUlZfUldHX0NsZWFyQml0cyhhZGRyLGRhdGEpICAgICAgICAgICAgIERSVl9EQkdfQ2xlYXJCaXRzKGFkZHIsZGF0YSkgICAgICAgICAgIAorI2RlZmluZSBEUlZfUldHX1NldEJpdHMoYWRkcixkYXRhKSAgICAgICAgICAgICAgIERSVl9EQkdfU2V0Qml0cyhhZGRyLGRhdGEpICAgICAgICAgICAgIAorI2RlZmluZSBEUlZfUldHX1NldERhdGEoYWRkciwgYml0bWFzaywgdmFsdWUpICAgIERSVl9EQkdfU2V0RGF0YShhZGRyLCBiaXRtYXNrLCB2YWx1ZSkgIAorI2RlZmluZSBEUlZfUldHX0NsZWFyQml0czMyKGFkZHIsZGF0YSkgICAgICAgICAgIERSVl9EQkdfQ2xlYXJCaXRzMzIoYWRkcixkYXRhKSAgICAgICAgIAorI2RlZmluZSBEUlZfUldHX1NldEJpdHMzMihhZGRyLGRhdGEpICAgICAgICAgICAgIERSVl9EQkdfU2V0Qml0czMyKGFkZHIsZGF0YSkgICAgICAgICAgIAorI2RlZmluZSBEUlZfUldHX1NldERhdGEzMihhZGRyLCBiaXRtYXNrLCB2YWx1ZSkgIERSVl9EQkdfU2V0RGF0YTMyKGFkZHIsIGJpdG1hc2ssIHZhbHVlKQorI2RlZmluZSBEUlZfUldHX0NsZWFyQml0czgoYWRkcixkYXRhKSAgICAgICAgICAgIERSVl9EQkdfQ2xlYXJCaXRzOChhZGRyLGRhdGEpICAgICAgICAgIAorI2RlZmluZSBEUlZfUldHX1NldEJpdHM4KGFkZHIsZGF0YSkgICAgICAgICAgICAgIERSVl9EQkdfU2V0Qml0czgoYWRkcixkYXRhKSAgICAgICAgICAgIAorI2RlZmluZSBEUlZfUldHX1NldERhdGE4KGFkZHIsIGJpdG1hc2ssIHZhbHVlKSAgIERSVl9EQkdfU2V0RGF0YTgoYWRkciwgYml0bWFzaywgdmFsdWUpIAorI2Vsc2UKKyNkZWZpbmUgRFJWX1JXR19Xcml0ZVJlZyhhZGRyLGRhdGEpICAgICAgICAgICAgICBEUlZfV3JpdGVSZWcoYWRkcixkYXRhKQorI2RlZmluZSBEUlZfUldHX1JlZyhhZGRyKSAgICAgICAgICAgICAgICAgICAgICAgIERSVl9SZWcoYWRkcikgICAgICAgICAgICAgICAgICAgICAgCisjZGVmaW5lIERSVl9SV0dfV3JpdGVSZWczMihhZGRyLGRhdGEpICAgICAgICAgICAgRFJWX1dyaXRlUmVnMzIoYWRkcixkYXRhKSAgICAgICAgICAKKyNkZWZpbmUgRFJWX1JXR19SZWczMihhZGRyKSAgICAgICAgICAgICAgICAgICAgICBEUlZfUmVnMzIoYWRkcikgICAgICAgICAgICAgICAgICAgIAorI2RlZmluZSBEUlZfUldHX1dyaXRlUmVnOChhZGRyLGRhdGEpICAgICAgICAgICAgIERSVl9Xcml0ZVJlZzgoYWRkcixkYXRhKSAgICAgICAgICAgCisjZGVmaW5lIERSVl9SV0dfUmVnOChhZGRyKSAgICAgICAgICAgICAgICAgICAgICAgRFJWX1JlZzgoYWRkcikgICAgICAgICAgICAgICAgICAgICAKKyNkZWZpbmUgRFJWX1JXR19DbGVhckJpdHMoYWRkcixkYXRhKSAgICAgICAgICAgICBEUlZfQ2xlYXJCaXRzKGFkZHIsZGF0YSkgICAgICAgICAgIAorI2RlZmluZSBEUlZfUldHX1NldEJpdHMoYWRkcixkYXRhKSAgICAgICAgICAgICAgIERSVl9TZXRCaXRzKGFkZHIsZGF0YSkgICAgICAgICAgICAgCisjZGVmaW5lIERSVl9SV0dfU2V0RGF0YShhZGRyLCBiaXRtYXNrLCB2YWx1ZSkgICAgRFJWX1NldERhdGEoYWRkciwgYml0bWFzaywgdmFsdWUpICAKKyNkZWZpbmUgRFJWX1JXR19DbGVhckJpdHMzMihhZGRyLGRhdGEpICAgICAgICAgICBEUlZfQ2xlYXJCaXRzMzIoYWRkcixkYXRhKSAgICAgICAgIAorI2RlZmluZSBEUlZfUldHX1NldEJpdHMzMihhZGRyLGRhdGEpICAgICAgICAgICAgIERSVl9TZXRCaXRzMzIoYWRkcixkYXRhKSAgICAgICAgICAgCisjZGVmaW5lIERSVl9SV0dfU2V0RGF0YTMyKGFkZHIsIGJpdG1hc2ssIHZhbHVlKSAgRFJWX1NldERhdGEzMihhZGRyLCBiaXRtYXNrLCB2YWx1ZSkKKyNkZWZpbmUgRFJWX1JXR19DbGVhckJpdHM4KGFkZHIsZGF0YSkgICAgICAgICAgICBEUlZfQ2xlYXJCaXRzOChhZGRyLGRhdGEpICAgICAgICAgIAorI2RlZmluZSBEUlZfUldHX1NldEJpdHM4KGFkZHIsZGF0YSkgICAgICAgICAgICAgIERSVl9TZXRCaXRzOChhZGRyLGRhdGEpICAgICAgICAgICAgCisjZGVmaW5lIERSVl9SV0dfU2V0RGF0YTgoYWRkciwgYml0bWFzaywgdmFsdWUpICAgRFJWX1NldERhdGE4KGFkZHIsIGJpdG1hc2ssIHZhbHVlKSAKKyNlbmRpZiAvLyNpZiBkZWZpbmVkKF9fRFJWX0NPTU1fUkVHX0RCR19fKSAmJiBkZWZpbmVkKF9fRFJWX1JXR19SRUdfREJHX18pCisjZW5kaWYKKwpkaWZmIC0tZ2l0IGEvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9zcGkuaCBiL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvc3BpLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjBiNjRmYwotLS0gL2Rldi9udWxsCisrKyBiL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvc3BpLmgKQEAgLTAsMCArMSw2MDkgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAwNQorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLiAKKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGaWxlbmFtZToKKyAqIC0tLS0tLS0tLQorICogICBzcGkuaAorICoKKyAqIFByb2plY3Q6CisgKiAtLS0tLS0tLQorICogICBNYXVpX1NvZnR3YXJlCisgKgorICogRGVzY3JpcHRpb246CisgKiAtLS0tLS0tLS0tLS0KKyAqICAgVGhpcyBmaWxlIGlzIGludGVuZHMgZm9yIFNQSSBkcml2ZXIuCisgKgorICogQXV0aG9yOgorICogLS0tLS0tLQorICogLS0tLS0tLQorICoKKyAqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICogICAgICAgICAgICAgSElTVE9SWQorICogQmVsb3cgdGhpcyBsaW5lLCB0aGlzIHBhcnQgaXMgY29udHJvbGxlZCBieSBQVkNTIFZNLiBETyBOT1QgTU9ESUZZISEKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKgorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIFVwcGVyIHRoaXMgbGluZSwgdGhpcyBwYXJ0IGlzIGNvbnRyb2xsZWQgYnkgUFZDUyBWTS4gRE8gTk9UIE1PRElGWSEhCisgKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWZuZGVmIF9fc3BpX2hfXworI2RlZmluZSBfX3NwaV9oX18KKworLy8vLy8vLy8vLy8vLy8vLy8vUkhSLUFERC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKyNpbmNsdWRlICJrYWxfZ2VuZXJhbF90eXBlcy5oIgorI2luY2x1ZGUgImthbF9wdWJsaWNfZGVmcy5oIgorLy8vLy8vLy8vLy8vLy8vLy8vUkhSLUFERC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKworLy8vLy8vLy8vLy8vLy8vLy8vUkhSLVJFTU9WRS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKy8vI2luY2x1ZGUgPHNwaV9kZWZpbmUuaD4KKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisKKyNpbmNsdWRlICJkcnZfZmVhdHVyZXMuaCIKKworI2lmIGRlZmluZWQoRFJWX1NQSV9TVVBQT1JUKQorCisvKiogXGJyaWVmIE9wZW4gdGhlIFNQSSBpbnRlcmZhY2UKKyAqIAorICogQmVmb3JlIHVzaW5nIHRoZSBTUEkgaW50ZXJmYWNlLCB1c2VycyBoYXZlIHRvIGNhbGwgdGhpcworICogZnVuY3Rpb24gdG8gZ2V0IG9uZSB1bmlxdWUgbnVtYmVyIHRvIGJlIHVzZWQgaW4gbGF0ZXIgU1BJCisgKiBBUEkgZnVuY3Rpb25zLgorICoKKyAqIFxwYXJhbSBpZCBQb2ludHMgdG8gYSBrYWxfaW50MzIuIFdoZW4gdGhpcyBmdW5jdGlvbiBpcworICogZmluaXNoZWQsIGFuZCBpZiBpdCBzdWNjZWVkLCB0aGlzIHZhcmlhYmxlIGlzIHJlcHJlc2VudGVkCisgKiBhcyBhbiB1bmlxdWUgaWRlbnRpZmljYXRpb24gbnVtYmVyIHdoaWNoIGlzIHVzZWQgYXMgYQorICogcGFyYW1ldGVyIGluIHRoZSBvdGhlciBTUEkgQVBJIGZ1bmN0aW9ucyBpZiBuZWVkZWQuCisgKiBccmV0dXJuIAorICogLSBLQUxfVFJVRSBpZiB0aGUgU1BJIGludGVyZmFjZSBpcyBhdmFpbGFibGUuCisgKiAtIEtBTF9GQUxTRSBpZiB0aGUgU1BJIGludGVyZmFjZSBpcyB1bmF2YWlsYWJsZS4KKyAqLworI2lmZGVmIERSVl9TUElfSEFMCisjZGVmaW5lIFNQSV9PUEVOKGlkKSBzcGlfb3Blbl9vbGQoKGlkKSwgX19GSUxFX18sIF9fTElORV9fKTsKKyNlbHNlCisjZGVmaW5lIFNQSV9PUEVOKGlkKSBzcGlfb3BlbigoaWQpLCBfX0ZJTEVfXywgX19MSU5FX18pOworI2VuZGlmCisKKy8qKiBcYnJpZWYgUmVsZWFzZSB0aGUgb3duZXJzaGlwIG9mIHRoZSBTUEkgaW50ZXJmYWNlLCBzbworICogdGhhdCBvdGhlcnMgY2FuIHVzZSBpdC4KKyAqCisgKiBzcGlfb3BlbigpIHdpbGwgZ2V0IHRoZSBvd25lcnNoaXAgb2YgdGhlIFNQSSBpbnRlcmZhY2UsCisgKiB5b3UgaGF2ZSB0byBjYWxsIHRoaXMgZnVuY3Rpb24gdG8gcmVsZWFzZSB0aGUgb3duZXJzaGlwLgorICogCisgKiBccGFyYW0gaWQgVGhlIHJldHVybiB2YWx1ZSBvZiBzcGlfb3BlbigpLgorICogXHJldHVybgorICogLSBLQUxfVFJVRSBpZiBzdWNjZXNzLgorICogLSBLQUxfRkFMU0UgaWYgZmFpbHVyZSwgY2FsbGVyIGNhbiB1c2Ugc3BpX2dldF9lcnJvcl9jb2RlKCkKKyAqIHRvIGV4YW1pbmUgd2hhdCB3YXMgd3JvbmcuCisgKi8KKyNpZmRlZiBEUlZfU1BJX0hBTAorI2RlZmluZSBTUElfQ0xPU0UoaWQpIHNwaV9jbG9zZV9vbGQoKGlkKSkKKyNlbHNlCisjZGVmaW5lIFNQSV9DTE9TRShpZCkgc3BpX2Nsb3NlKChpZCkpCisjZW5kaWYKKworCisjZGVmaW5lIFNQSV9JTlRFUkZBQ0VfTUFYX1BLVF9MRU5HVEhfUEVSX1RJTUVTICgweDQwMCkKKyNkZWZpbmUgU1BJX0lOVEVSRkFDRV9NQVhfUEtUX0NPVU5UX1BFUl9USU1FUyAgKDB4MTAwKQorCisvKioKKyAqIFxkZWYgU1BJX0ZJRk9fU0laRQorICogXGluZ3JvdXAgc3BpCisgKiBEZWZpbmVzIHRoZSBpbnRlcm5hbCBUWC9SWCBGSUZPIHNpemUgb2YgdGhlIFNQSSBjb250cm9sbGVyLgorICovCisjZGVmaW5lIFNQSV9GSUZPX1NJWkUgKDMyKQorCisvKiogXGVudW0gU1BJX1RJTUVfVFlQRQorICogXGluZ3JvdXAgc3BpCisgKgorICogQGJyaWVmCisgKiBTcGVjaWZ5IHRoZSB0aW1lIGludGVydmFscyB1c2VkIGJ5IHRoZSBTUEkgaW50ZXJmYWNlLgorICovCitlbnVtIFNQSV9USU1FX1RZUEUgeworICBTUElfVElNRV9TRVRVUCwKKyAgLyoqPAorICAgKiBcaW5ncm91cCBzcGkKKyAgICogU2V0dXAgdGltZS4KKyAgICovCisgIFNQSV9USU1FX0hPTEQsCisgIC8qKjwKKyAgICogXGluZ3JvdXAgc3BpCisgICAqIEhvbGQgdGltZS4KKyAgICovCisgIFNQSV9USU1FX0xPVywKKyAgLyoqPAorICAgKiBcaW5ncm91cCBzcGkKKyAgICogTG93IHZvbHRhZ2UgdGltZSBvZiB0aGUgU1BJIGNsb2NrLgorICAgKi8KKyAgU1BJX1RJTUVfSElHSCwKKyAgLyoqPAorICAgKiBcaW5ncm91cCBzcGkKKyAgICogSGlnaCB2b2x0YWdlIHRpbWUgb2YgdGhlIFNQSSBjbG9jay4KKyAgICovCisgIFNQSV9USU1FX0lETEUKKyAgLyoqPAorICAgKiBcaW5ncm91cCBzcGkKKyAgICogSWRsZSB0aW1lLgorICAgKi8KK307Cit0eXBlZGVmIGVudW0gU1BJX1RJTUVfVFlQRSBTUElfVElNRV9UWVBFOworCisvKiogXGVudW0gU1BJX0lOVF9UWVBFCisgKiBcaW5ncm91cCBzcGkKKyAqCisgKiBAYnJpZWYKKyAqIFNQSSBpbnRlcnJ1cHQgY2F0ZWdvcnkgZW51bS4KKyAqCisgKiBUaGlzIGVudW1lcmF0aW9uIGRlZmluZXMgdGhlIHR3byBpbnRlcnJ1cHRzIHdoaWNoIFNQSSBkZXZpY2VzIGNhbiBnZW5lcmF0ZS4KKyAqLworZW51bSBTUElfSU5UX1RZUEUgeworICBTUElfSU5UX1BBVVNFLAorICAvKio8CisgICAqIFxpbmdyb3VwIHNwaQorICAgKiBQYXVzZSBpbnRlcnJ1cHQuCisgICAqLworICBTUElfSU5UX0ZJTklTSAorICAvKio8CisgICAqIFxpbmdyb3VwIHNwaQorICAgKiBGaW5pc2ggaW50ZXJydXB0LgorICAgKi8KK307Cit0eXBlZGVmIGVudW0gU1BJX0lOVF9UWVBFIFNQSV9JTlRfVFlQRTsKKworLyoqIFxlbnVtIFNQSV9ESVJFQ1RJT05fVFlQRQorICogXGluZ3JvdXAgc3BpCisgKgorICogQGJyaWVmCisgKiBTUEkgZGlyZWN0aW9uIGVudW0uCisgKgorICogVGhpcyBlbnVtZXJhdGlvbiBkZWZpbmVzIHdoZXRoZXIgdGhpcyBTUEkgb3BlcmF0aW9uIGlzCisgKiB0cmFuc21pc3Npb24gb2YgcmVjZXB0aW9uLgorICovCitlbnVtIFNQSV9ESVJFQ1RJT05fVFlQRSB7CisgIFNQSV9UWCwKKyAgLyoqPAorICAgKiBcaW5ncm91cCBzcGkKKyAgICogTWVhbnMgdHJhbnNtaXNzaW9uCisgICAqLworICBTUElfUlgKKyAgLyoqPAorICAgKiBcaW5ncm91cCBzcGkKKyAgICogTWVhbnMgcmVjZXB0aW9uCisgICAqLworfTsKK3R5cGVkZWYgZW51bSBTUElfRElSRUNUSU9OX1RZUEUgU1BJX0RJUkVDVElPTl9UWVBFOworCisvKiogXGVudW0gU1BJX01MU0IKKyAqIFxpbmdyb3VwIHNwaQorICoKKyAqIEBicmllZgorICogU3BlY2lmeSB0aGUgTVNCIG9yIExTQiB1c2VkIGJ5IHRoZSBTUEkgVFgvUlggb3BlcmF0aW9uLgorICovCitlbnVtIFNQSV9NTFNCIHsKKyAgU1BJX0xTQiA9IDAsCisgIC8qKjwKKyAgICogXGluZ3JvdXAgc3BpCisgICAqIExTQi4KKyAgICovCisgIFNQSV9NU0IKKyAgLyoqPAorICAgKiBcaW5ncm91cCBzcGkKKyAgICogTVNCLgorICAgKi8KK307Cit0eXBlZGVmIGVudW0gU1BJX01MU0IgU1BJX01MU0I7CisKKy8qKiBcZW51bSBTUElfQ1BPTAorICogXGluZ3JvdXAgc3BpCisgKgorICogQGJyaWVmCisgKiBDaG9vc2UgdGhlIGRlc2lyZWQgY2xvY2sgcG9sYXJpdGllcyBzdXBwb3J0ZWQgYnkgdGhlIFNQSSBpbnRlcmZhY2UuCisgKi8KK2VudW0gU1BJX0NQT0wgeworICBTUElfQ1BPTF8wID0gMCwKKyAgLyoqPAorICAgKiBcaW5ncm91cCBzcGkKKyAgICogU1BJIGNsb2NrIHBvbGFyaXR5IDAuCisgICAqLworICBTUElfQ1BPTF8xCisgIC8qKjwKKyAgICogXGluZ3JvdXAgc3BpCisgICAqIFNQSSBjbG9jayBwb2xhcml0eSAxLgorICAgKi8KK307Cit0eXBlZGVmIGVudW0gU1BJX0NQT0wgU1BJX0NQT0w7CisKKy8qKiBcZW51bSBTUElfQ1BIQQorICogXGluZ3JvdXAgc3BpCisgKgorICogQGJyaWVmCisgKiBDaG9vc2UgdGhlIGRlc2lyZWQgY2xvY2sgZm9ybWF0cyBzdXBwb3J0ZWQgYnkgdGhlIFNQSSBpbnRlcmZhY2UuCisgKi8KK2VudW0gU1BJX0NQSEEgeworICBTUElfQ1BIQV8wID0gMCwKKyAgLyoqPAorICAgKiBcaW5ncm91cCBzcGkKKyAgICogU1BJIGNsb2NrIGZvcm1hdCAwLgorICAgKi8KKyAgU1BJX0NQSEFfMQorICAvKio8CisgICAqIFxpbmdyb3VwIHNwaQorICAgKiBTUEkgY2xvY2sgZm9ybWF0IDEuCisgICAqLworfTsKK3R5cGVkZWYgZW51bSBTUElfQ1BIQSBTUElfQ1BIQTsKKworLyoqIFxlbnVtIFNQSV9NT0RFCisgKiBcaW5ncm91cCBzcGkKKyAqCisgKiBAYnJpZWYKKyAqIENob29zZSB0aGUgU1BJIEZJRk8gbW9kZSBvciB0aGUgU1BJIERNQSBtb2RlLgorICovCitlbnVtIFNQSV9NT0RFIHsKKyAgU1BJX01PREVfRklGTyA9IDAsCisgIC8qKjwKKyAgICogXGluZ3JvdXAgc3BpCisgICAqIFNQSSBGSUZPIG1vZGUuCisgICAqLworICBTUElfTU9ERV9ETUEKKyAgLyoqPAorICAgKiBcaW5ncm91cCBzcGkKKyAgICogU1BJIERNQSBtb2RlLgorICAgKi8KK307Cit0eXBlZGVmIGVudW0gU1BJX01PREUgU1BJX01PREU7CisKKy8qKiBcZW51bSBTUElfRVJST1JfQ09ERQorICogXGluZ3JvdXAgc3BpCisgKgorICogQGJyaWVmCisgKiBUaGUgcG9zc2libGUgcmVzdWx0IHZhbHVlcyBvZiBlYWNoIFNQSSBvcGVyYXRpb25zLgorICovCitlbnVtIFNQSV9FUlJPUl9DT0RFIHsKKyAgU1BJX05PX0VSUk9SID0gMCwKKyAgLyoqPAorICAgKiBcaW5ncm91cCBzcGkKKyAgICogTm8gZXJyb3JzLgorICAgKi8KKyAgCisgIFNQSV9FUlJPUl9DT0RFX1VOQVZBSUxBQkxFLAorICAvKio8CisgICAqIFxpbmdyb3VwIHNwaQorICAgKiBJZiBvd25lcnNoaXAgb2YgdGhlIFNQSSBpbnRlcmZhY2UgaXMgb3duZWQgYnkgYW5vdGhlcgorICAgKiB0YXNrLgorICAgKi8KKyAgCisgIFNQSV9FUlJPUl9DT0RFX1VOS05PV05fVElNRV9UWVBFLAorICAvKio8CisgICAqIFxpbmdyb3VwIHNwaQorICAgKiBVbmtub3duIHNwaSB0aW1lIHR5cGUuCisgICAqLworICAKKyAgU1BJX0VSUk9SX0NPREVfVU5LTk9XTl9CSVRfU1RBVFVTLAorICAvKio8CisgICAqIFxpbmdyb3VwIHNwaQorICAgKiBVbmtub3duIHNwaSBiaXQgc3RhdHVzLgorICAgKi8KKyAgCisgIFNQSV9FUlJPUl9DT0RFX1VOS05PV05fSU5UX1RZUEUsCisgIC8qKjwKKyAgICogXGluZ3JvdXAgc3BpCisgICAqIFVua25vd24gc3BpIGludGVycnVwdCB0eXBlLgorICAgKi8KKyAgCisgIFNQSV9FUlJPUl9DT0RFX1VOS05PV05fTVNCX0xTQl9UWVBFLAorICAvKio8CisgICAqIFxpbmdyb3VwIHNwaQorICAgKiBVbmtub3duIHNwaSBNU0IvTFNCLgorICAgKi8KKyAgCisgIFNQSV9FUlJPUl9DT0RFX1VOS05PV05fVFJBTlNGRVJfRElSRUNUSU9OLAorICAvKio8CisgICAqIFxpbmdyb3VwIHNwaQorICAgKiBVbmtub3duIHNwaSBUWC9SWC4KKyAgICovCisgIAorICBTUElfRVJST1JfQ09ERV9VTktOT1dOX1RSQU5TRkVSX1RZUEUsCisgIC8qKjwKKyAgICogXGluZ3JvdXAgc3BpCisgICAqIFVua25vd24gc3BpIERNQS9GSUZPLgorICAgKi8KKyAgCisgIFNQSV9FUlJPUl9DT0RFX1VOS05PV05fQ0xLX1BPTEFSSVRZLAorICAvKio8CisgICAqIFxpbmdyb3VwIHNwaQorICAgKiBVbmtub3duIHNwaSBjbG9jayBwb2xhcml0eS4KKyAgICovCisgIAorICBTUElfRVJST1JfQ09ERV9VTktOT1dOX0NMS19GT1JNQVQsCisgIC8qKjwKKyAgICogXGluZ3JvdXAgc3BpCisgICAqIFVua25vd24gc3BpIGNsb2NrIGZvcm1hdC4KKyAgICovCisgIAorICBTUElfRVJST1JfQ09ERV9JRF9QVFJfQ0FOX05PVF9CRV9aRVJPLAorICAvKio8CisgICAqIFxpbmdyb3VwIHNwaQorICAgKiBJbiBzcGlfb3BlbigpLCB0aGUgc3BlY2lmaWVkIElEIGFkZHJlc3MgY2FuIG5vdAorICAgKiBiZSAwLgorICAgKi8KKyAgCisgIFNQSV9FUlJPUl9DT0RFX0ZJTEVOQU1FX1BUUl9DQU5fTk9UX0JFX1pFUk8sCisgIC8qKjwKKyAgICogXGluZ3JvdXAgc3BpCisgICAqIEluIHNwaV9vcGVuKCksIHRoZSBzcGVjaWZpZWQgZmlsZW5hbWUgYWRkcmVzcyBjYW4gbm90CisgICAqIGJlIDAuCisgICAqLworICAKKyAgU1BJX0VSUk9SX0NPREVfRE1BX0JVRl9BRERSX0NBVF9OT1RfQkVfWkVSTywKKyAgLyoqPAorICAgKiBcaW5ncm91cCBzcGkKKyAgICogSW4gU1BJIERNQSBtb2RlLCB0aGUgc3BlY2lmaWVkIGJ1ZmZlciBhZGRyZXNzIGNhbiBub3QKKyAgICogYmUgMC4KKyAgICovCisgIAorICBTUElfRVJST1JfQ09ERV9DT05GSUdfQVRUUl9DQU5fTk9UX0JFX1pFUk8sCisgIC8qKjwKKyAgICogXGluZ3JvdXAgc3BpCisgICAqIEluIHNwaV9jb25maWcoKSwgdGhlIHNwZWNpZmllZCBzcGlfYXR0cl90IGNhbiBub3QKKyAgICogYmUgMC4KKyAgICovCisgIAorICBTUElfRVJST1JfQ09ERV9QS1RfTEVOR1RIX0NBTl9OT1RfQkVfWkVSTywKKyAgLyoqPAorICAgKiBcaW5ncm91cCBzcGkKKyAgICogSW4gU1BJIERNQSBtb2RlLCB0aGUgc3BlY2lmaWVkIHBhY2tldCBsZW5ndGggY2FuIG5vdCBiZQorICAgKiAwLgorICAgKi8KKyAgCisgIFNQSV9FUlJPUl9DT0RFX1BLVF9DT1VOVF9DQU5fTk9UX0JFX1pFUk8sCisgIC8qKjwKKyAgICogXGluZ3JvdXAgc3BpCisgICAqIEluIFNQSSBETUEgbW9kZSwgdGhlIHNwZWNpZmllZCBwYWNrZXQgY291bnQgY2FuIG5vdCBiZQorICAgKiAwLgorICAgKi8KKyAgCisgIFNQSV9FUlJPUl9DT0RFX1BLVF9MRU5HVEhfVE9PX0xBUkdFLAorICAvKio8CisgICAqIFxpbmdyb3VwIHNwaQorICAgKiBJbiBTUEkgRE1BIG1vZGUsIHRoZSBzcGVjaWZpZWQgcGFja2V0IGxlbmd0aCBpcyB0b28KKyAgICogbGFyZ2UgdG8gb3BlcmF0ZS4gCisgICAqLworICAKKyAgU1BJX0VSUk9SX0NPREVfUEtUX0NPVU5UX1RPT19MQVJHRSwKKyAgLyoqPAorICAgKiBcaW5ncm91cCBzcGkKKyAgICogSW4gU1BJIERNQSBtb2RlLCB0aGUgc3BlY2lmaWVkIHBhY2tldCBjb3VudCBpcyB0b28KKyAgICogbGFyZ2UgdG8gb3BlcmF0ZS4gCisgICAqLworICAKKyAgU1BJX0VSUk9SX0NPREVfQUREUl9OT1RfNF9BTElHTgorICAvKio8CisgICAqIFxpbmdyb3VwIHNwaQorICAgKiBUaGUgYnVmZmVyIGFkZHJlc3NlcyBmb3IgVFggYW5kIFJYIHNob3VsZCBiZSA0LWJ5dGUKKyAgICogYWxpZ25tZW50LiAKKyAgICovCit9OwordHlwZWRlZiBlbnVtIFNQSV9FUlJPUl9DT0RFIFNQSV9FUlJPUl9DT0RFOworCitlbnVtIFNQSV9CSVRfU1RBVFVTCit7CisgIFNQSV9ESVNBQkxFLAorICBTUElfRU5BQkxFCit9OwordHlwZWRlZiBlbnVtIFNQSV9CSVRfU1RBVFVTIFNQSV9CSVRfU1RBVFVTOworCisvKioKKyAqIFx0eXBlZGVmIHNwaV9jYl9mdW5jCisgKiBcaW5ncm91cCBzcGkKKyAqIFRoZSBjYWxsYmFjayBmdW5jdGlvbiB0eXBlLgorICovCit0eXBlZGVmIHZvaWQgKCpzcGlfY2JfZnVuYykodm9pZCk7CisKK2VudW0gU1BJX0dFVF9USUNLX01PREUgeworICBTUElfTk9fR0VUX1RJQ0tfTU9ERSwKKyAgU1BJX0dFVF9USUNLX01PREVfREVMQVlfMSwKKyAgU1BJX0dFVF9USUNLX01PREVfREVMQVlfMgorfTsKK3R5cGVkZWYgZW51bSBTUElfR0VUX1RJQ0tfTU9ERSBTUElfR0VUX1RJQ0tfTU9ERTsKKworc3RydWN0IHNwaV9hdHRyX3QgeworICBrYWxfdWludDggc2V0dXBfdGltZTsKKyAga2FsX3VpbnQ4IGhvbGRfdGltZTsKKyAga2FsX3VpbnQ4IGNsa19sb3c7CisgIGthbF91aW50OCBjbGtfaGlnaDsKKyAga2FsX3VpbnQ4IGlkbGVfdGltZTsKKyAga2FsX2Jvb2wgZW5hYmxlX3BhdXNlX2ludDsKKyAga2FsX2Jvb2wgZW5hYmxlX2ZpbmlzaF9pbnQ7CisgIGthbF9ib29sIGVuYWJsZV9wYXVzZV9tb2RlOworICBrYWxfYm9vbCBlbmFibGVfZGVhc3NlcnRfbW9kZTsKKyAgU1BJX01MU0IgdHhfbWxzYjsKKyAgU1BJX01MU0IgcnhfbWxzYjsKKyAgU1BJX01PREUgdHhfbW9kZTsKKyAgU1BJX01PREUgcnhfbW9kZTsKKyAgU1BJX0NQT0wgY2xrX3BvbGFyaXR5OworICBTUElfQ1BIQSBjbGtfZm10OworICBTUElfR0VUX1RJQ0tfTU9ERSBnZXRfdGljazsKKyAga2FsX2Jvb2wgZW5hYmxlX3VsdHJhX2hpZ2g7CisgIGthbF91aW50MTYgdWx0cmFfaGlnaF90aHJlc2g7CisgIGthbF9ib29sIGVuYWJsZV9nbWNfc2xvd19kb3duOworICBrYWxfYm9vbCBlbmFibGVfZ21jX3NwbGl0X2J1cnN0OworICBrYWxfdWludDE2IGdtY19zbG93X2Rvd25fdGhyZXNoOworfTsKK3R5cGVkZWYgc3RydWN0IHNwaV9hdHRyX3Qgc3BpX2F0dHJfdDsKKwordHlwZWRlZiBlbnVtCit7IFNQSV9FVkVOVF9JTlZBTElEICAgICAgICAgICAgICAgICAgICAgICAgID0gMHgwLAorICBTUElfRVZFTlRfVFJBTlNGRVJfQ09NUExFVEUgICAgICAgICAgICAgICA9IDB4MQorfSBTUElFdmVudFR5cGU7CisKK2V4dGVybiB2b2xhdGlsZSBrYWxfZXZlbnRncnBpZCBzcGlfZXZlbnRfaWQ7CisKKy8qIEV4cG9ydCBmdW5jdGlvbiBwcm90b3R5cGUuICovCitleHRlcm4gdm9pZCBTUElfTElTUih2b2lkKTsKKworI2lmZGVmIERSVl9TUElfSEFMCitleHRlcm4ga2FsX2Jvb2wgc3BpX29wZW5fb2xkKAorI2Vsc2UKK2V4dGVybiBrYWxfYm9vbCBzcGlfb3BlbigKKyNlbmRpZgorICBrYWxfaW50MzIgKiBjb25zdCBpZCwKKyAgY2hhciBjb25zdCAqIGNvbnN0IGZpbGVuYW1lLAorICBrYWxfdWludDMyIGNvbnN0IGxpbmVubyk7CisKKyNpZmRlZiBEUlZfU1BJX0hBTAorZXh0ZXJuIGthbF9ib29sIHNwaV9jbG9zZV9vbGQoCisjZWxzZQorZXh0ZXJuIGthbF9ib29sIHNwaV9jbG9zZSgKKyNlbmRpZgorICBrYWxfaW50MzIgY29uc3QgaWQpOworCitleHRlcm4ga2FsX2Jvb2wgc3BpX3NldF90aW1lX2ludGVydmFsKAorICBrYWxfaW50MzIgY29uc3QgaWQsCisgIFNQSV9USU1FX1RZUEUgY29uc3QgdHlwZSwKKyAga2FsX3VpbnQ4IGNvbnN0IHZhbHVlKTsKKworZXh0ZXJuIGthbF9ib29sIHNwaV9zZXRfaW50ZXJydXB0KAorICBrYWxfaW50MzIgY29uc3QgaWQsCisgIFNQSV9JTlRfVFlQRSBjb25zdCB0eXBlLAorICBTUElfQklUX1NUQVRVUyBjb25zdCBzdGF0dXMpOworCitleHRlcm4ga2FsX2Jvb2wgc3BpX3NldF9tc2IoCisgIGthbF9pbnQzMiBjb25zdCBpZCwKKyAgU1BJX0RJUkVDVElPTl9UWVBFIGNvbnN0IHR5cGUsCisgIFNQSV9NTFNCIGNvbnN0IG1zYik7CisKK2V4dGVybiBrYWxfYm9vbCBzcGlfc2VsZWN0X21vZGUoCisgIGthbF9pbnQzMiBjb25zdCBpZCwKKyAgU1BJX0RJUkVDVElPTl9UWVBFIGNvbnN0IHR5cGUsCisgIFNQSV9NT0RFIGNvbnN0IG1vZGUpOworCitleHRlcm4ga2FsX2Jvb2wgc3BpX3NldF9jbG9ja19wb2xhcml0eSgKKyAga2FsX2ludDMyIGNvbnN0IGlkLAorICBTUElfQ1BPTCBjb25zdCBjcG9sKTsKKworZXh0ZXJuIGthbF9ib29sIHNwaV9zZXRfY2xvY2tfZm9ybWF0KAorICBrYWxfaW50MzIgY29uc3QgaWQsCisgIFNQSV9DUEhBIGNvbnN0IGNwaGEpOworCitleHRlcm4ga2FsX2Jvb2wgc3BpX3NldF9wYXVzZV9tb2RlKAorICBrYWxfaW50MzIgY29uc3QgaWQsCisgIGthbF9ib29sIGNvbnN0IHN0YXR1cyk7CisKK2V4dGVybiBrYWxfYm9vbCBzcGlfc2V0X2RlYXNzZXJ0X21vZGUoCisgIGthbF9pbnQzMiBjb25zdCBpZCwKKyAga2FsX2Jvb2wgY29uc3Qgc3RhdHVzKTsKKworZXh0ZXJuIGthbF9ib29sIHNwaV9zZXRfZGVzaXJlZF9zaXplKAorICBrYWxfaW50MzIgY29uc3QgaWQsCisgIGthbF91aW50MzIgY29uc3QgbGVuZ3RoLAorICBrYWxfdWludDE2IGNvbnN0IGxvb3ApOworCitleHRlcm4ga2FsX2Jvb2wgc3BpX3NldF9nZXRfdGlja19tb2RlKAorICBrYWxfaW50MzIgY29uc3QgaWQsCisgIFNQSV9HRVRfVElDS19NT0RFIGNvbnN0IGdldF90aWNrKTsKKworZXh0ZXJuIGthbF9ib29sIHNwaV9zbG93X2Rvd25fZ21jKAorICAgIGthbF9pbnQzMiBjb25zdCBpZCwKKyAgICBrYWxfYm9vbCBjb25zdCBzbG93X2Rvd25fZW5hYmxlLAorICAgIGthbF9ib29sIGNvbnN0IHNwbGl0X2J1cnN0X2VuYWJsZSwKKyAgICBrYWxfdWludDE2IGNvbnN0IHNsb3dfZG93bl90aHJlc2gpOworCitleHRlcm4ga2FsX2Jvb2wgc3BpX3NldF91bHRyYV9oaWdoKAorICAgIGthbF9pbnQzMiBjb25zdCBpZCwKKyAgICBrYWxfYm9vbCBjb25zdCB1bHRyYV9oaWdoX2VuYWJsZSwKKyAgICBrYWxfdWludDE2IGNvbnN0IHVsdHJhX2hpZ2hfdGhyZXNoKTsKKworZXh0ZXJuIGthbF9ib29sIHNwaV9zZXRfcndhZGRyKAorICBrYWxfaW50MzIgY29uc3QgaWQsCisgIFNQSV9ESVJFQ1RJT05fVFlQRSBjb25zdCB0eXBlLAorICB2b2lkICogY29uc3QgYWRkcik7CisKK2V4dGVybiBrYWxfYm9vbCBzcGlfc2V0X2NiKAorICBrYWxfaW50MzIgY29uc3QgaWQsCisgIFNQSV9JTlRfVFlQRSBjb25zdCB0eXBlLAorICBzcGlfY2JfZnVuYyBmdW5jLAorICBzcGlfY2JfZnVuYyAqIGNvbnN0IG9sZCk7CisKK2V4dGVybiBrYWxfYm9vbCBzcGlfc2V0X2VuZGlhbl9yZXZlcnNlKAorICBrYWxfaW50MzIgY29uc3QgaWQsCisgIFNQSV9ESVJFQ1RJT05fVFlQRSBjb25zdCB0eXBlLAorICBrYWxfYm9vbCBjb25zdCByZXZlcnNlKTsKKworZXh0ZXJuIGthbF9ib29sIHNwaV9jb25maWcoCisgIGthbF9pbnQzMiBjb25zdCBpZCwKKyAgc3BpX2F0dHJfdCAqIGNvbnN0IGF0dHIpOworCitleHRlcm4ga2FsX2Jvb2wgc3BpX2NsZWFyX2ZpZm8oCisgIGthbF9pbnQzMiBjb25zdCBpZCwKKyAgU1BJX0RJUkVDVElPTl9UWVBFIGNvbnN0IGRpcmVjdGlvbik7CisKK2V4dGVybiBrYWxfYm9vbCBzcGlfcmVzZXQoCisgIGthbF9pbnQzMiBjb25zdCBpZCk7CisKK2V4dGVybiBrYWxfYm9vbCBzcGlfcmVzdW1lKAorICBrYWxfaW50MzIgY29uc3QgaWQpOworCitleHRlcm4ga2FsX2Jvb2wgc3BpX2FjdGl2YXRlKAorICBrYWxfaW50MzIgY29uc3QgaWQpOworCitleHRlcm4ga2FsX2Jvb2wgc3BpX2lzX2luX3BhdXNlX21vZGUodm9pZCk7CitleHRlcm4ga2FsX2Jvb2wgc3BpX2lzX2J1c3kodm9pZCk7CisKK2V4dGVybiBrYWxfYm9vbCBzcGlfd2FpdF9ub3RfYnVzeSgKKyAga2FsX2ludDMyIGNvbnN0IGlkKTsKKworZXh0ZXJuIGthbF9ib29sIHNwaV9maWZvX3B1c2goCisgIGthbF9pbnQzMiBjb25zdCBpZCwKKyAga2FsX3VpbnQzMiBjb25zdCBkYXRhKTsKKworZXh0ZXJuIGthbF9ib29sIHNwaV9maWZvX3BvcCgKKyAga2FsX2ludDMyIGNvbnN0IGlkLAorICBrYWxfdWludDMyICogY29uc3QgZGF0YSk7CisKK2V4dGVybiB2b2lkIHNwaV9pbml0KHZvaWQpOworCitleHRlcm4gaW50IHJhbmQodm9pZCk7CisKKyNpZmRlZiBEUlZfU1BJX0hBTAorZXh0ZXJuIGthbF9ib29sIHNwaV9nZXRfZHJpdmluZ19jdXJyZW50KGthbF9ib29sKiBiRW5hYmxlU2xld1JhdGUsIGthbF91aW50MzIqIGN1cnJlbnQpOworZXh0ZXJuIGthbF9ib29sIHNwaV9zZXRfZHJpdmluZ19jdXJyZW50KGthbF9ib29sIGJFbmFibGVTbGV3UmF0ZSwga2FsX3VpbnQzMiBjdXJyZW50KTsKK2V4dGVybiB2b2lkIHNwaV9zZWxlY3RfcG9ydChrYWxfdWludDMyIHBvcnQpOworI2VuZGlmCisKKyNlbmRpZgorCisjZW5kaWYKZGlmZiAtLWdpdCBhL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvc3BpX2RlZmluZS5oIGIvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy9zcGlfZGVmaW5lLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTQyYjhlMAotLS0gL2Rldi9udWxsCisrKyBiL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvc3BpX2RlZmluZS5oCkBAIC0wLDAgKzEsODQgQEAKKyNpZm5kZWYgX19zcGlfZGVmaW5lX2hfXworI2RlZmluZSBfX3NwaV9kZWZpbmVfaF9fCisKKy8vI2RlZmluZSBTUElfRFZUX0xPQUQKKyNkZWZpbmUgU1BJX01BVUlfTE9BRAorCisjaWYgZGVmaW5lZChTUElfRFZUX0xPQUQpCisKKy8qIERWVCBsb2FkICovCisjaW5jbHVkZSA8dHlwZWRlZnMuaD4KKworI2RlZmluZSBTUElfRkFLRV9LQUxfU1VQUE9SVAorI2RlZmluZSBTUElfRkFLRV9EUlZfU1VQUE9SVAorCisjZGVmaW5lIFNQSV9GVUxMX0lTUl9TVVBQT1JUCisKKyNkZWZpbmUgRU5BQkxFX1VUIDEKKworI2luY2x1ZGUgPHNwaV9mYWtlX3JlZ19iYXNlLmg+CisjaW5jbHVkZSA8c3BpX2Zha2VfaW50ckN0cmwuaD4KKworI2VsaWYgZGVmaW5lZChTUElfTUFVSV9MT0FEKQorCisvKiBNQVVJIGxvYWQgKi8KKyNkZWZpbmUgU1BJX0RSVlBETl9TVVBQT1JUCisKKyNkZWZpbmUgU1BJX0ZVTExfS0FMX1NVUFBPUlQKKyNkZWZpbmUgU1BJX0ZVTExfRFJWX1NVUFBPUlQKKyNkZWZpbmUgU1BJX0ZVTExfSVNSX1NVUFBPUlQKKworI2RlZmluZSBTUElfSElTUl9TVVBQT1JUCisKKworLy8vLy8vLy8vLy8vLy8vLy8vUkhSIEFERC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisjaW5jbHVkZSAia2FsX3B1YmxpY19kZWZzLmgiCisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKworLy8vLy8vLy8vLy8vLy8vLy8vUkhSLVJFTU9WRS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKy8vI2luY2x1ZGUgPHJlZ19iYXNlLmg+CisvLyNpbmNsdWRlIDxpbnRyQ3RybC5oPgorLy8jaW5jbHVkZSA8ZHJ2X2NvbW0uaD4KKy8vI2luY2x1ZGUgPGRydl9oaXNyLmg+CisvLyNpbmNsdWRlIDxzcGkuaD4KKy8vI2luY2x1ZGUgPHNwaV9pbnRlcm5hbC5oPgorLy8jaW5jbHVkZSA8Z3Bpb19ody5oPgorLy8jaW5jbHVkZSA8U3RhY2tfdXRpbHMuaD4KKy8vI2lmIGRlZmluZWQoX19NVEtfVEFSR0VUX18pCisvLyNpbmNsdWRlIDxjYWNoZV9zdy5oPgorLy8jaW5jbHVkZSA8aW5pdC5oPgorLy8jZW5kaWYKKy8vI2luY2x1ZGUgPGthbF9ub25fc3BlY2lmaWNfZ2VuZXJhbF90eXBlcy5oPgorLy8jaW5jbHVkZSA8a2FsX3JlbGVhc2UuaD4KKy8vI2lmIGRlZmluZWQoU1BJX0RSVlBETl9TVVBQT1JUKQorLy8jaW5jbHVkZSA8ZHJ2cGRuLmg+CisvLyNlbmRpZgorLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKworLyogZm9yIGthbF9nZXRfY3VycmVudF90aHJlYWRfSUQoKSAqLworLy8jaW5jbHVkZSA8cnRmaWxlcy5oPgorLy8jaW5jbHVkZSA8RnNfa2FsLmg+CisvL2V4dGVybiBrYWxfdGFza2lkIGthbF9nZXRfY3VycmVudF90aHJlYWRfSUQodm9pZCk7CisKKworI2Vsc2UKKyNlcnJvcgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKFNQSV9GVUxMX0tBTF9TVVBQT1JUKQorI2VsaWYgZGVmaW5lZChTUElfRkFLRV9LQUxfU1VQUE9SVCkKKyNpbmNsdWRlIDxzcGlfZmFrZV9rYWwuaD4KKyNlbHNlCisjZXJyb3IKKyNlbmRpZgorCisjaWYgZGVmaW5lZChTUElfRlVMTF9EUlZfU1VQUE9SVCkKKyNpbmNsdWRlIDxkcnZfZmVhdHVyZXMuaD4KKyNlbGlmIGRlZmluZWQoU1BJX0ZBS0VfRFJWX1NVUFBPUlQpCisjaW5jbHVkZSA8c3BpX2Zha2VfZHJ2Lmg+CisjZWxzZQorI2Vycm9yCisjZW5kaWYKKworCisjZW5kaWYKZGlmZiAtLWdpdCBhL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvc3BpX2ludGVybmFsLmggYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL3NwaV9pbnRlcm5hbC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYxZGY2NjIKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL3NwaV9pbnRlcm5hbC5oCkBAIC0wLDAgKzEsMzQwIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMDUKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4gCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRmlsZW5hbWU6CisgKiAtLS0tLS0tLS0KKyAqICAgIHNwaV9pbnRlcm5hbC5oCisgKgorICogUHJvamVjdDoKKyAqIC0tLS0tLS0tCisgKiAgIE1hdWlfU29mdHdhcmUKKyAqCisgKiBEZXNjcmlwdGlvbjoKKyAqIC0tLS0tLS0tLS0tLQorICogICBUaGlzIE1vZHVsZSBkZWZpbmVzIHRoZSBTUEkgZHJpdmVyLgorICoKKyAqIEF1dGhvcjoKKyAqIC0tLS0tLS0KKyAqIC0tLS0tLS0KKyAqCisgKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqICAgICAgICAgICAgIEhJU1RPUlkKKyAqIEJlbG93IHRoaXMgbGluZSwgdGhpcyBwYXJ0IGlzIGNvbnRyb2xsZWQgYnkgUFZDUyBWTS4gRE8gTk9UIE1PRElGWSEhCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogVXBwZXIgdGhpcyBsaW5lLCB0aGlzIHBhcnQgaXMgY29udHJvbGxlZCBieSBQVkNTIFZNLiBETyBOT1QgTU9ESUZZISEKKyAqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZm5kZWYgX19zcGlfaW50ZXJuYWxfaF9fCisjZGVmaW5lIF9fc3BpX2ludGVybmFsX2hfXworCisvLy8vLy8vLy8vLy8vLy8vLy9SSFItQURELy8vLy8vLy8vLy8vLy8vLy8vLy8vLworI2luY2x1ZGUgInJlZ19iYXNlLmgiCisvLy8vLy8vLy8vLy8vLy8vLy9SSFItQURELy8vLy8vLy8vLy8vLy8vLy8vLy8vLworCisvLy8vLy8vLy8vLy8vLy8vLy9SSFItUkVNT1ZFLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworLy8jaW5jbHVkZSA8c3BpX2RlZmluZS5oPgorLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKworCisvKioKKyAqIFxkZWYgU1BJX0NPTkYwX1JFRworICogXGluZ3JvdXAgc3BpCisgKiBEZWZpbmVzIHRoZSBTUEkgY29uZmlndXJhdGlvbiAwIHJlZ2lzdGVyLgorICovCisjZGVmaW5lIFNQSV9DT05GMF9SRUcgICAgKCooKGthbF91aW50MzIgdm9sYXRpbGUgKikoKFNQSV9iYXNlKSArIDB4MCkpKQorCisvKioKKyAqIFxkZWYgU1BJX0NPTkYxX1JFRworICogXGluZ3JvdXAgc3BpCisgKiBEZWZpbmVzIHRoZSBTUEkgY29uZmlndXJhdGlvbiAxIHJlZ2lzdGVyLgorICovCisjZGVmaW5lIFNQSV9DT05GMV9SRUcgICAgKCooKGthbF91aW50MzIgdm9sYXRpbGUgKikoKFNQSV9iYXNlKSArIDB4NCkpKQorCisvKioKKyAqIFxkZWYgU1BJX1RYX0FERFJfUkVHCisgKiBcaW5ncm91cCBzcGkKKyAqIERlZmluZXMgdGhlIFNQSSBUWCBzb3VyY2UgYWRkcmVzcyByZWdpc3Rlci4KKyAqLworI2RlZmluZSBTUElfVFhfQUREUl9SRUcgICgqKChrYWxfdWludDMyIHZvbGF0aWxlICopKChTUElfYmFzZSkgKyAweDgpKSkKKworLyoqCisgKiBcZGVmIFNQSV9SWF9BRERSX1JFRworICogXGluZ3JvdXAgc3BpCisgKiBEZWZpbmVzIHRoZSBTUEkgUlggZGVzdGluYXRpb24gYWRkcmVzcyByZWdpc3Rlci4KKyAqLworI2RlZmluZSBTUElfUlhfQUREUl9SRUcgICgqKChrYWxfdWludDMyIHZvbGF0aWxlICopKChTUElfYmFzZSkgKyAweEMpKSkKKworI2RlZmluZSBTUElfVFhfRklGT19SRUdfQUREUiAgKChrYWxfdWludDMyIHZvbGF0aWxlICopKChTUElfYmFzZSkgKyAweDEwKSkKKy8qKgorICogXGRlZiBTUElfVFhfRklGT19SRUcKKyAqIFxpbmdyb3VwIHNwaQorICogRGVmaW5lcyB0aGUgU1BJIFRYIGRhdGEgRklGTyByZWdpc3Rlci4KKyAqLworI2RlZmluZSBTUElfVFhfRklGT19SRUcgICgqU1BJX1RYX0ZJRk9fUkVHX0FERFIpCisKKyNkZWZpbmUgU1BJX1JYX0ZJRk9fUkVHX0FERFIgICgoa2FsX3VpbnQzMiB2b2xhdGlsZSAqKSgoU1BJX2Jhc2UpICsgMHgxNCkpCisvKioKKyAqIFxkZWYgU1BJX1JYX0ZJRk9fUkVHCisgKiBcaW5ncm91cCBzcGkKKyAqIERlZmluZXMgdGhlIFNQSSBSWCBkYXRhIEZJRk8gcmVnaXN0ZXIuCisgKi8KKyNkZWZpbmUgU1BJX1JYX0ZJRk9fUkVHICAoKlNQSV9SWF9GSUZPX1JFR19BRERSKQorCisvKioKKyAqIFxkZWYgU1BJX0NPTU1fUkVHCisgKiBcaW5ncm91cCBzcGkKKyAqIERlZmluZXMgdGhlIFNQSSBjb21tYW5kIHJlZ2lzdGVyLgorICovCisjZGVmaW5lIFNQSV9DT01NX1JFRyAgICAgKCooKGthbF91aW50MzIgdm9sYXRpbGUgKikoKFNQSV9iYXNlKSArIDB4MTgpKSkKKworLyoqCisgKiBcZGVmIFNQSV9TVEFUVVMxX1JFRworICogXGluZ3JvdXAgc3BpCisgKiBEZWZpbmVzIHRoZSBTUEkgc3RhdHVzIHJlZ2lzdGVyIDEuCisgKi8KKyNkZWZpbmUgU1BJX1NUQVRVUzFfUkVHICAgKCooKGthbF91aW50MzIgdm9sYXRpbGUgKikoKFNQSV9iYXNlKSArIDB4MUMpKSkKKworLyoqCisgKiBcZGVmIFNQSV9TVEFUVVMyX1JFRworICogXGluZ3JvdXAgc3BpCisgKiBEZWZpbmVzIHRoZSBTUEkgc3RhdHVzIHJlZ2lzdGVyIDIuCisgKi8KKyNkZWZpbmUgU1BJX1NUQVRVUzJfUkVHICAgKCooKGthbF91aW50MzIgdm9sYXRpbGUgKikoKFNQSV9iYXNlKSArIDB4MjApKSkKKworI2lmIGRlZmluZWQgIChEUlZfU1BJX0dNQ19BUkJJVFJBVEUgKSAKKyNkZWZpbmUgU1BJX0dNQ19TTE9XX0RPV05fUkVHICgqKChrYWxfdWludDMyIHZvbGF0aWxlICopKChTUElfYmFzZSkgKyAweDI0KSkpCisjZGVmaW5lIFNQSV9VTFRSQV9ISUdIX1BSSU9SSVRZX1JFRyAoKigoa2FsX3VpbnQzMiB2b2xhdGlsZSAqKSgoU1BJX2Jhc2UpICsgMHgyOCkpKQorI2VuZGlmCisjaWYgZGVmaW5lZCAgKERSVl9TUElfUEFEX01BQ1JPX1NFTEVDVCApIAorI2RlZmluZSBTUElfUEFEX01BQ1JPX1NFTEVDVF9SRUcgKCooKGthbF91aW50MzIgdm9sYXRpbGUgKikoKFNQSV9iYXNlKSArIDB4MkMpKSkKKyNlbmRpZgorCisvKiogXGVudW0gU1BJX0NPTU1fUkVHX0JJVF9QT1MKKyAqIFxpbmdyb3VwIHNwaQorICoKKyAqIEBicmllZgorICogU3BlY2lmeSB0aGUgYml0IHBvc2l0aW9uIGluIHRoZSBTUEkgY29tbWFuZCByZWdpc3Rlci4KKyAqLworZW51bSBTUElfQ09NTV9SRUdfQklUX1BPUworeworICBTUElfQ09NTV9CSVRfQUNUICAgICAgICAgICAgPSAgMCwKKyAgLyoqPAorICAgKiBcaW5ncm91cCBzcGkKKyAgICogVGhlIGFjdGl2YXRlIGJpdC4KKyAgICovCisgIFNQSV9DT01NX0JJVF9SRVNVTUUgICAgICAgICA9ICAxLAorICAvKio8CisgICAqIFxpbmdyb3VwIHNwaQorICAgKiBUaGUgcmVzdW1lIGJpdC4KKyAgICovCisgIFNQSV9DT01NX0JJVF9SRVNFVCAgICAgICAgICA9ICAyLAorICAvKio8CisgICAqIFxpbmdyb3VwIHNwaQorICAgKiBUaGUgcmVzZXQgYml0LgorICAgKi8KKyAgU1BJX0NPTU1fQklUX1BBVVNFX0VOICAgICAgID0gIDQsCisgIC8qKjwKKyAgICogXGluZ3JvdXAgc3BpCisgICAqIFRoZSBwYXVzZSBlbmFibGUgYml0LgorICAgKi8KKyAgU1BJX0NPTU1fQklUX0NTX0RFQVNTRVJUX0VOID0gIDUsCisgIC8qKjwKKyAgICogXGluZ3JvdXAgc3BpCisgICAqIFRoZSBkZWFzc2VydCBlbmFibGUgYml0LgorICAgKi8KKyAgU1BJX0NPTU1fQklUX0NQSEEgICAgICAgICAgID0gIDgsCisgIC8qKjwKKyAgICogXGluZ3JvdXAgc3BpCisgICAqIFRoZSBjbG9jayBmb3JtYXQgYml0LgorICAgKi8KKyAgU1BJX0NPTU1fQklUX0NQT0wgICAgICAgICAgID0gIDksCisgIC8qKjwKKyAgICogXGluZ3JvdXAgc3BpCisgICAqIFRoZSBjbG9jayBwb2xhcml0eSBiaXQuCisgICAqLworICBTUElfQ09NTV9CSVRfUlhfRE1BX0VOICAgICAgPSAxMCwKKyAgLyoqPAorICAgKiBcaW5ncm91cCBzcGkKKyAgICogVGhlIFJYIERNQSBlbmFibGUvZGlzYWJsZSBiaXQuCisgICAqLworICBTUElfQ09NTV9CSVRfVFhfRE1BX0VOICAgICAgPSAxMSwKKyAgLyoqPAorICAgKiBcaW5ncm91cCBzcGkKKyAgICogVGhlIFRYIERNQSBlbmFibGUvZGlzYWJsZSBiaXQuCisgICAqLworICBTUElfQ09NTV9CSVRfVFhfTVNCRiAgICAgICAgPSAxMiwKKyAgLyoqPAorICAgKiBcaW5ncm91cCBzcGkKKyAgICogVGhlIFRYIE1TQi9MU0Igc2VsZWN0IGJpdC4KKyAgICovCisgIFNQSV9DT01NX0JJVF9SWF9NU0JGICAgICAgICA9IDEzLAorICAvKio8CisgICAqIFxpbmdyb3VwIHNwaQorICAgKiBUaGUgUlggTVNCL0xTQiBzZWxlY3QgYml0LgorICAgKi8KKyAgU1BJX0NPTU1fQklUX1JYX0VORElBTiAgICAgID0gMTQsCisgIC8qKjwKKyAgICogXGluZ3JvdXAgc3BpCisgICAqIFRoZSBSWCBiaWcvbGl0dGxlIGVuZGlhbiBzZWxlY3QgYml0LgorICAgKi8KKyAgU1BJX0NPTU1fQklUX1RYX0VORElBTiAgICAgID0gMTUsCisgIC8qKjwKKyAgICogXGluZ3JvdXAgc3BpCisgICAqIFRoZSBUWCBiaWcvbGl0dGxlIGVuZGlhbiBzZWxlY3QgYml0LgorICAgKi8KKyAgU1BJX0NPTU1fQklUX0ZJTklTSF9JRSAgICAgID0gMTYsCisgIC8qKjwKKyAgICogXGluZ3JvdXAgc3BpCisgICAqIFRoZSBmaW5pc2ggbW9kZSBlbmFibGUvZGlzYWJsZSBiaXQuCisgICAqLworICBTUElfQ09NTV9CSVRfUEFVU0VfSUUgICAgICAgPSAxNworICAvKio8CisgICAqIFxpbmdyb3VwIHNwaQorICAgKiBUaGUgcGF1c2UgbW9kZSBlbmFibGUvZGlzYWJsZSBiaXQuCisgICAqLworfTsKK3R5cGVkZWYgZW51bSBTUElfQ09NTV9SRUdfQklUX1BPUyBTUElfQ09NTV9SRUdfQklUX1BPUzsKKworLyoqIFxlbnVtIFNQSV9TVEFUVVMxX0JJVAorICogXGluZ3JvdXAgc3BpCisgKgorICogQGJyaWVmCisgKiBTcGVjaWZ5IHRoZSBiaXQgcG9zaXRpb24gaW4gdGhlIFNQSSBzdGF0dXMgcmVnaXN0ZXIgMS4KKyAqLworZW51bSBTUElfU1RBVFVTMV9CSVQKK3sKKyAgU1BJX1NUQVRVUzFfQklUX0ZJTklTSCA9ICgxIDw8IDApLAorICAvKio8CisgICAqIFxpbmdyb3VwIHNwaQorICAgKiBUaGUgZmluaXNoIGJpdCBpbiB0aGUgU1BJIHN0YXR1cyByZWdpc3RlciAxLgorICAgKi8KKyAgU1BJX1NUQVRVUzFfQklUX1BBVVNFID0gKDEgPDwgMSkKKyAgLyoqPAorICAgKiBcaW5ncm91cCBzcGkKKyAgICogVGhlIHBhdXNlIGJpdCBpbiB0aGUgU1BJIHN0YXR1cyByZWdpc3RlciAxLgorICAgKi8KK307Cit0eXBlZGVmIGVudW0gU1BJX1NUQVRVUzFfQklUIFNQSV9TVEFUVVMxX0JJVDsKKworLyoqIFxlbnVtIFNQSV9TVEFUVVMyX0JJVAorICogXGluZ3JvdXAgc3BpCisgKgorICogQGJyaWVmCisgKiBTcGVjaWZ5IHRoZSBiaXQgcG9zaXRpb24gaW4gdGhlIFNQSSBzdGF0dXMgcmVnaXN0ZXIgMi4KKyAqLworZW51bSBTUElfU1RBVFVTMl9CSVQKK3sKKyAgU1BJX1NUQVRVUzJfQklUX0JVU1kgPSAoMSA8PCAwKQorICAvKio8CisgICAqIFxpbmdyb3VwIHNwaQorICAgKiBUaGUgYnVzeSBiaXQgaW4gdGhlIFNQSSBzdGF0dXMgcmVnaXN0ZXIgMi4KKyAgICovCit9OwordHlwZWRlZiBlbnVtIFNQSV9TVEFUVVMyX0JJVCBTUElfU1RBVFVTMl9CSVQ7CisKKy8qKiBcZW51bSBTUElfU1RBVFVTX1JFRworICogXGluZ3JvdXAgc3BpCisgKgorICogQGJyaWVmIENob29zZSB0aGUgc3VwcG9ydGVkIHN0YXR1cyByZWdpc3RlcnMuCisgKi8KK2VudW0gU1BJX1NUQVRVU19SRUcKK3sKKyAgU1BJX1NUQVRVU19SRUdfMSwKKyAgLyoqPAorICAgKiBcaW5ncm91cCBzcGkKKyAgICogc3RhdHVzIHJlZ2lzdGVyIDEKKyAgICovCisgIFNQSV9TVEFUVVNfUkVHXzIKKyAgLyoqPAorICAgKiBcaW5ncm91cCBzcGkKKyAgICogc3RhdHVzIHJlZ2lzdGVyIDIKKyAgICovCit9OwordHlwZWRlZiBlbnVtIFNQSV9TVEFUVVNfUkVHIFNQSV9TVEFUVVNfUkVHOworCit0eXBlZGVmIGVudW0KK3sKKyAgU1BJX0dNQ19TTE9XX0RPV05fRU5BQkxFID0gMCwKKyAgU1BJX0dNQ19TUExJVF9CVVJTVF9FTkFCTEUgPSA0Cit9IFNQSV9HTUNfU0xPV19ET1dOX1JFR19CSVRfUE9TOworCit0eXBlZGVmIGVudW0KK3sKKyAgU1BJX1VMVFJBX0hJR0hfRU5BQkxFID0gMAorfSBTUElfVUxUUkFfSElHSF9QUklPUklUWV9SRUdfQklUX1BPUzsKKworI2VuZGlmCmRpZmYgLS1naXQgYS9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL3RvdWNoX3BhbmVsLmggYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL3RvdWNoX3BhbmVsLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTI0NDYwMgotLS0gL2Rldi9udWxsCisrKyBiL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvdG91Y2hfcGFuZWwuaApAQCAtMCwwICsxLDkwIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMDUKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4gCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRmlsZW5hbWU6CisgKiAtLS0tLS0tLS0KKyAqICAgIHNlcmlhbF9pbnRlcmZhY2UuYworICoKKyAqIFByb2plY3Q6CisgKiAtLS0tLS0tLQorICogICBNYXVpX1NvZnR3YXJlCisgKgorICogRGVzY3JpcHRpb246CisgKiAtLS0tLS0tLS0tLS0KKyAqICAgVGhpcyBNb2R1bGUgZGVmaW5lcyBUb3VjaCBQYW5lbCBJbnRlcmZhY2UuCisgKgorICogQXV0aG9yOgorICogLS0tLS0tLQorICogLS0tLS0tLQorICoKKyAqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICogICAgICAgICAgICAgSElTVE9SWQorICogQmVsb3cgdGhpcyBsaW5lLCB0aGlzIHBhcnQgaXMgY29udHJvbGxlZCBieSBQVkNTIFZNLiBETyBOT1QgTU9ESUZZISEKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogVXBwZXIgdGhpcyBsaW5lLCB0aGlzIHBhcnQgaXMgY29udHJvbGxlZCBieSBQVkNTIFZNLiBETyBOT1QgTU9ESUZZISEKKyAqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIFRPVUNIX1BBTkVMX0gKKyNkZWZpbmUgVE9VQ0hfUEFORUxfSAorI2luY2x1ZGUgInRvdWNoX3BhbmVsXy5oIgorCisKKy8qKioqKioqKioqKioqKioqKioqKkZvciB1cHBlciBsYXllcioqKioqKioqKioqKioqKioqKioqKioqKiovCit2b2lkIHRvdWNoX3BhbmVsX2VuYWJsZShrYWxfYm9vbCBlbmFibGUpOy8qZW5hYmxlL2Rpc2FibGUgdG91Y2ggcGFuZWwqLwora2FsX2Jvb2wgdG91Y2hfcGFuZWxfZ2V0X2V2ZW50KFRvdWNoUGFuZWxNdWx0aXBsZUV2ZW50U3RydWN0ICp0b3VjaF9kYXRhKTsvKmdldCB0b3VjaCBldmVudCovCit2b2lkIHRvdWNoX3BhbmxlX2NvbmZfdGltZW91dF9wZXJpb2Qoa2FsX3VpbnQzMiBsb25ndGFwLCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrYWxfdWludDMyIHJlcGVhdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrYWxfdWludDMyIGhhbmR3cml0aW5nX2xvbmd0YXApOwordm9pZCB0b3VjaF9wYW5sZV9jb25mX3NhbXBsZV9wZXJpb2Qoa2FsX3VpbnQzMiBsb3csIGthbF91aW50MzIgaGlnaCk7Cit2b2lkIHRvdWNoX3BhbmVsX2ZsdXNoKHZvaWQpOy8qZmxzdWggZGF0YSBpbiByaW5nIGJ1ZmZlciovCit2b2lkIHRvdWNoX3BhbmVsX3N0YXJ0X2NhbGkoVG91Y2hQYW5lbENvb3JkU3RydWN0ICpwb2ludCwga2FsX3VpbnQxNiBudW0pOwordm9pZCB0b3VjaF9wYW5lbF9zdG9wX2NhbGkodm9pZCk7Cit2b2lkIHRvdWNoX3BhbmVsX3JlYWRfY2FsaShUb3VjaFBhbmVsQ2FsaVN0cnVjdCAqY2FsaSk7Cit2b2lkIHRvdWNoX3BhbmVsX3NldF9jYWxpKFRvdWNoUGFuZWxDYWxpU3RydWN0IGNhbGkpOwordm9pZCB0b3VjaF9wYW5lbF9yZXNldChrYWxfYm9vbCBza2lwX3VucmVsZWFzZV9lbmFibGUpOwordm9pZCB0b3VjaF9wYW5lbF9yZXNldF9oYW5kd3JpdGluZyh2b2lkKTsKK3ZvaWQgdG91Y2hfcGFuZWxfY29uZl9tb3ZlX29mZnNldChrYWxfdWludDE2IHBlbl9vZmZzZXQsIGthbF91aW50MTYgc3Ryb2tlX29mZnNldCwgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2FsX3VpbnQxNiBsb25ndGFwX3Blbl9vZmZzZXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2FsX3VpbnQxNiBsb25ndGFwX3N0cm9rZV9vZmZzZXQpOwordm9pZCB0b3VjaF9wYW5lbF9jb25mX2hhbmR3cml0aW5nKFRvdWNoUGFuZWxIYW5kQXJlYVN0cnVjdCAqYXJlYSwga2FsX3VpbnQxNiBuLCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRvdWNoUGFuZWxIYW5kQXJlYVN0cnVjdCAgKmV4dF9hcmVhKTsKK3ZvaWQgdG91Y2hfcGFuZWxfY2JfcmVnaXN0cmF0aW9uIChUUF9FVkVOVF9GVU5DIGZ1bmN0aW9uLCB2b2lkICpwYXJhbWV0ZXIpOworCisjZW5kaWYKKworCmRpZmYgLS1naXQgYS9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL3RvdWNoX3BhbmVsXy5oIGIvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy90b3VjaF9wYW5lbF8uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNjkyOWQxCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy90b3VjaF9wYW5lbF8uaApAQCAtMCwwICsxLDUxNCBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDA1CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuIAorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZpbGVuYW1lOgorICogLS0tLS0tLS0tCisgKiAgICBzZXJpYWxfaW50ZXJmYWNlLmMKKyAqCisgKiBQcm9qZWN0OgorICogLS0tLS0tLS0KKyAqICAgTWF1aV9Tb2Z0d2FyZQorICoKKyAqIERlc2NyaXB0aW9uOgorICogLS0tLS0tLS0tLS0tCisgKiAgIFRoaXMgTW9kdWxlIGRlZmluZXMgVG91Y2ggUGFuZWwgSW50ZXJmYWNlLgorICoKKyAqIEF1dGhvcjoKKyAqIC0tLS0tLS0KKyAqIC0tLS0tLS0KKyAqCisgKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqICAgICAgICAgICAgIEhJU1RPUlkKKyAqIEJlbG93IHRoaXMgbGluZSwgdGhpcyBwYXJ0IGlzIGNvbnRyb2xsZWQgYnkgUFZDUyBWTS4gRE8gTk9UIE1PRElGWSEhCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIFVwcGVyIHRoaXMgbGluZSwgdGhpcyBwYXJ0IGlzIGNvbnRyb2xsZWQgYnkgUFZDUyBWTS4gRE8gTk9UIE1PRElGWSEhCisgKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmbmRlZiBUT1VDSF9QQU5FTF9fSAorI2RlZmluZSBUT1VDSF9QQU5FTF9fSAorI2luY2x1ZGUgImVpbnQuaCIKKyNpbmNsdWRlICJpbnRyQ3RybC5oIgorI2luY2x1ZGUgImRjbF9odHMuaCIKKyNpbmNsdWRlICJrYWxfcHVibGljX2FwaS5oIgorCisjaWYgZGVmaW5lZChfX1RPVUNIX1BBTkVMX0NBUEFDSVRZX18pCisjZGVmaW5lICAgVE9VQ0hfUEFORUxfQlVGRkVSX1NJWkUgNTEyKjE2IC8vc2l6ZSBNVVNUIGJlIGV4cG9uZW50aWFsIG9mIDIKKyNkZWZpbmUgICBDVFBfU1VQUE9SVF9QT0lOVFMgNQorI2RlZmluZSAgICAgQ1RQX0VWRU5UX0hFQURFUiA4CisjZGVmaW5lICAgQkFTSUNfRVZFTlRfVU5JVCAgIENUUF9FVkVOVF9IRUFERVIgKyA0MCAvLyBzaXplIG9mIFRvdWNoUGFuZWxNdWx0aXBsZUV2ZW50U3RydWN0CisKKyNlbHNlCisjZGVmaW5lICAgVE9VQ0hfUEFORUxfQlVGRkVSX1NJWkUgNTEyCisjZGVmaW5lICAgQkFTSUNfRVZFTlRfVU5JVCAgIDEzIC8vIDUgLT4gNywgZm9yIDIgbW9yZSB0aW1lIHN0YW1wLgorI2VuZGlmLy8jaWYgZGVmaW5lZChfX1RPVUNIX1BBTkVMX0NBUEFDSVRZX18pCisKKyNkZWZpbmUgICBUT1VDSF9QQU5FTF9CVUZGRVJfSElHSF9USFJFUyBUT1VDSF9QQU5FTF9CVUZGRVJfU0laRSo5MC8xMDAKKyNkZWZpbmUgICBUT1VDSF9QQU5FTF9CVUZGRVJfTE9XX1RIUkVTIFRPVUNIX1BBTkVMX0JVRkZFUl9TSVpFKjgwLzEwMAorI2RlZmluZSAgIEhBTkRfV1JJVElOR19BUkVBX05VTSAgMworCisjaWYgIWRlZmluZWQoRFJWX1RPVUNIX1BBTkVMX0NVU1RPTUVSX1BBUkFNRVRFUikKKyNkZWZpbmUgICBNSU5fUEVOX01PVkVfT0ZGU0VUIDUKKyNkZWZpbmUgICBIQU5EX1dSSVRJTkdfTUFYX09GRlNFVCA1MAorI2RlZmluZSAgIE5PTkhBTkRfV1JJVElOR19NQVhfT0ZGU0VUIDEwMAorI2RlZmluZSAgIE1BWF9TVFJPS0VfTU9WRV9PRkZTRVQgMQorCisjaWYgZGVmaW5lZChUUlVMWV9IVkdBX0xDTSkKKyNkZWZpbmUgICBUT1VDSF9QQU5FTF9DQUxJX0NIRUNLX09GRlNFVCAgMTIKKyNlbHNlCisjZGVmaW5lICAgVE9VQ0hfUEFORUxfQ0FMSV9DSEVDS19PRkZTRVQgIDYKKyNlbmRpZiAvLyNpZiBkZWZpbmVkKFRSVUxZX0hWR0FfTENNKQorI2VuZGlmIC8vI2lmICFkZWZpbmVkKERSVl9UT1VDSF9QQU5FTF9DVVNUT01FUl9QQVJBTUVURVIpCisKKyNkZWZpbmUgICBNQVhfQURDX1ZBTFVFIDQwOTUgCisKKyNkZWZpbmUgICB0b3VjaF9kb3duX2xldmVsICAgTEVWRUxfTE9XICAgLyp0b3VjaCBkb3duIGxldmVsKi8KKyNkZWZpbmUgICB0b3VjaF91cF9sZXZlbCAgICAgTEVWRUxfSElHSCAgLyp0b3VjaCB1cCBsZXZlbCovCisKKyNpZiAhZGVmaW5lZChJUlFfVFNfQ09ERSkKKyNpZiBkZWZpbmVkKERSVl9UUF82NTE2X0FQX1NFVFRJTkcpCisjZGVmaW5lIElSUV9UU19DT0RFIElSUV9UT1VDSFNDUkVFTl9DT0RFCisjZWxpZiBkZWZpbmVkKERSVl9UUF9JUlFfVFBDKQorI2RlZmluZSBJUlFfVFNfQ09ERSBJUlFfVFBDX0NPREUKKyNlbHNlCisjZGVmaW5lIElSUV9UU19DT0RFIElSUV9BVVhBRENfQ09ERQorI2VuZGlmCisjZW5kaWYvLyNpZiAhZGVmaW5lZChJUlFfVFNfQ09ERSkKKworI2RlZmluZSBDVFBfUEFUVEVSTiAweEFBCisKK3R5cGVkZWYgZW51bSB7CisgIENUUF9OT19QT0lOVCwKKyAgQ1RQX0dFU1RVUkUsIC8vc2F2ZSB0aGUgZ2VzdHVyZSBpbmZvcm1hdGlvbiBpbiBvbmUgcG9pbnQgZXZlbnQKKyAgQ1RQXzFQT0lOVD0xLAorICBDVFBfMlBPSU5UUywKKyAgQ1RQXzNQT0lOVFMsCisgIENUUF80UE9JTlRTLAorICBDVFBfNVBPSU5UUywKKyAgQ1RQXzZQT0lOVFMsCisgIENUUF83UE9JTlRTLAorICBDVFBfOFBPSU5UUywKKyAgQ1RQXzlQT0lOVFMsCisgIENUUF8xMFBPSU5UUywKKyAgLy9hZGQgbmV3IGRldGVjdGlvbiB0eXBlIGJlZm9yZSB1bmtub3duCisgIENUUF9VTktOT1dOCit9IENUUF9FVkVOVF9OVU1CRVJfRU5VTTsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIC8vIFRvdWNoX1BhbmVsX0V2ZW50X2VudW0KKyAgIGthbF91aW50MTYgZXZlbnQ7IAorICAgLypjb29yZGluYXRlIHBvaW50LCBub3QgZGlmZiovCisgICBrYWxfdWludDE2IHg7ICAKKyAgIGthbF91aW50MTYgeTsKKyAgIGthbF91aW50MTYgejsgLy9yZXNpc3RhbmNlIFRQOiBwcmVzdXJlLCAgY2FwYWNpdGl2ZSBUUDogYXJlYQorfSBUUF9TSU5HTEVfRVZFTlRfVDsKKwordHlwZWRlZiBlbnVtIHsKKyAgICAgIFVQLAorICAgICAgRE9XTgorfSBUb3VjaF9QYW5lbF9QZW5TdGF0ZV9lbnVtOworCit0eXBlZGVmIGVudW0geworICAgICAgQ1RQX0xBU1RfRVZFTlRfR0VULAorICAgICAgQ1RQX0xBU1RfRVZFTlRfU0VUCit9IFRvdWNoX1BhbmVsX0hhbmRsZV9MYXN0RXZlbnRfZW51bTsKKwordHlwZWRlZiBlbnVtIHsKKyAgICAgIEhBTkRfV1JJVElORywKKyAgICAgIE5PTl9IQU5EX1dSSVRJTkcKK30gVG91Y2hfUGFuZWxfQXJlYV9lbnVtOwordHlwZWRlZiBlbnVtIHsKKyAgICAgIFBFTl9ET1dOLCAgICAvKjAqLyAgCisgICAgICBQRU5fVVAsICAgICAgLyoxKi8KKyAgICAgIFBFTl9NT1ZFLCAgICAvKjIqLworICAgICAgUEVOX0xPTkdUQVAsIC8qMyovICAgICAKKyAgICAgIFBFTl9SRVBFQVQsICAvKjQqLyAKKyAgICAgIFBFTl9BQk9SVCwgICAvKjUqLyAKKyAgICAgIFRQX1VOS05PV05fRVZFTlQsLyo2Ki8KKyAgICAgIFNUUk9LRV9NT1ZFLCAgICAgLyo3Ki8KKyAgICAgIFNUUk9LRV9TVEFUSUNBTCwgLyo4Ki8KKyAgICAgIFNUUk9LRV9IT0xELCAvKjkqLworICAgICAgUEVOX0xPTkdUQVBfSE9MRCwgLyoxMCovCisgICAgICBQRU5fUkVQRUFUX0hPTEQsICAvKjExKi8gCisgICAgICBTVFJPS0VfRE9XTl8sIC8qMTIqLworICAgICAgU1RST0tFX0xPTkdUQVBfLCAgIC8qMTMqLworICAgICAgU1RST0tFX1VQXywvKjE0Ki8KKyAgICAgIFNUUk9LRV9ET1dOPTB4YzAsIC8qMCovICAgICAgICAvKjEqLworICAgICAgU1RST0tFX0xPTkdUQVA9MHg3ZSwgICAvKjgqLworICAgICAgU1RST0tFX1VQPTB4N2YvKjEyNyovCit9IFRvdWNoX1BhbmVsX0V2ZW50X2VudW07Cit0eXBlZGVmIGthbF91aW50MTYgKCpDVFBfRlVOQykoa2FsX2ludDE2IHhfZGlmZiwga2FsX2ludDE2IHlfZGlmZiwga2FsX3VpbnQxNiBjb3VudCk7CisKK3R5cGVkZWYgc3RydWN0Cit7ICAgCisgICBrYWxfaW50MTYgeDsgIC8qeCBjb29yZGluYXRlKi8KKyAgIGthbF9pbnQxNiB5OyAgLyp5IGNvb3JkaW5hdGUqLyAKK31Ub3VjaFBhbmVsQ29vcmRTdHJ1Y3Q7IAordHlwZWRlZiBzdHJ1Y3QKK3sgIAorICAgVG91Y2hQYW5lbENvb3JkU3RydWN0IG1pbjsKKyAgIFRvdWNoUGFuZWxDb29yZFN0cnVjdCBtYXg7Cit9VG91Y2hQYW5lbEhhbmRBcmVhU3RydWN0OyAKKwordHlwZWRlZiBzdHJ1Y3QKK3sgIAorICAgLyp4Ki8gCisgICBkb3VibGUgeF9zbG9wZTsKKyAgIGRvdWJsZSB4X29mZnNldDsgCisgICAvKnkqLyAgIAorICAgZG91YmxlIHlfc2xvcGU7CisgICBkb3VibGUgeV9vZmZzZXQ7IAorfVRvdWNoUGFuZWxDYWxpU3RydWN0IDsgCit0eXBlZGVmIHZvaWQgKCpUUF9FVkVOVF9GVU5DKSh2b2lkICpwYXJhbWV0ZXIsIFRvdWNoX1BhbmVsX0V2ZW50X2VudW0gc3RhdGUpIDsgCit0eXBlZGVmIHN0cnVjdAoreyAgIAorICAga2FsX2V2ZW50Z3JwaWQgICAgZXZlbnQ7ICAgICAgICAgICAgICAgLypldmVudCBpZCovCisgICBrYWxfdWludDggICAgICAgICBncHRoYW5kbGU7ICAgICAgICAgICAvKmdwdCBoYW5kbGUqLworICAga2FsX3VpbnQ4ICAgICAgICAgZWludF9jaGFuOworICAga2FsX3VpbnQzMiAgICAgICAgbG9uZ3RhcF9jbnQ7ICAgICAgICAgLypMb25nVGFwIGNudCovCisgICBrYWxfdWludDMyICAgICAgICBoYW5kd3JpdGluZ19sb25ndGFwX2NudDsgICAgICAgICAvKkxvbmdUYXAgY250Ki8KKyAgIGthbF91aW50MzIgICAgICAgIHJlcGVhdF9jbnQ7ICAgICAgICAgIC8qUmVwZWF0IGNudCovCisgICBrYWxfdWludDMyICAgICAgICBsb3dfc2FtcGxlX3BlcmlvZDsKKyAgIGthbF91aW50MzIgICAgICAgIGhpZ2hfc2FtcGxlX3BlcmlvZDsKKyAgIFRvdWNoUGFuZWxIYW5kQXJlYVN0cnVjdCBoYW5kYXJlYVtIQU5EX1dSSVRJTkdfQVJFQV9OVU1dOyAgICAvKmhhbmQgYXJlYSovCisgICBUb3VjaFBhbmVsSGFuZEFyZWFTdHJ1Y3QgZXh0X2hhbmRhcmVhOyAgICAgLypleHRlbmRlZCBhcmVhKi8KKyAgIGthbF91aW50MTYgICAgICAgICAgICAgICBoYW5kX251bTsgICAKKyAgIGthbF9ib29sICAgICAgICAgICAgICAgICBleHRfZW5hYmxlOyAgIC8qZXh0ZW5kZWQgc3Ryb2tlIG9yIG5vdCovCisgICBUb3VjaFBhbmVsQ29vcmRTdHJ1Y3QgY3VyOyAgICAgICAgICAgICAvKmN1cnJlbnQgcG9pbnQgY29vcmQuKi8KKyAgIFRvdWNoUGFuZWxDb29yZFN0cnVjdCBwcmU7ICAgICAgICAgICAgIC8qcHJldmlvdXMgcG9pbnQgY29vcmQuKi8KKyAgIFRvdWNoUGFuZWxDb29yZFN0cnVjdCB0ZW1wOyAgICAgICAgICAgICAvKnByZXZpb3VzIHBvaW50IGNvb3JkLiovICAgICAgCisgICBUb3VjaFBhbmVsQ29vcmRTdHJ1Y3QgYmVnaW47ICAgICAgICAgICAgIC8qdGhlIGZpcnN0IGRvd24gcG9pbnQgY29vcmQuKi8gICAgICAKKyAgIFRQX0VWRU5UX0ZVTkMgdG91Y2hfcGFuZWxfZXZlbnRfY2I7CisgICB2b2lkICAgICAqY2JfcGFyYTsKKyAgIFRvdWNoX1BhbmVsX0FyZWFfZW51bSBhcmVhOyAgICAgICAgICAgIC8qKG5vbiloYW5kd3JpdGluZyovICAKKyAgIFRvdWNoX1BhbmVsX1BlblN0YXRlX2VudW0gICAgICBzdGF0ZTsgIC8qRG93biBvciBVUCovICAKKyAgIGthbF9ib29sICBza2lwX3VucmVsZWFzZV9lbmFibGU7CisgICBrYWxfYm9vbCAgc2tpcF91bnJlbGVhc2Vfc3RhdGU7ICAgCisgICBrYWxfYm9vbCAgaXNfYnVmZl9mdWxsOworICAga2FsX2Jvb2wgIHdhaXRfbmV4dF9kb3duOyAgICAgIC8qaW5pZGNhdGUgaWYgdGhlIGRvd24gcG9pbnQgcmVhc29uYWJsZSovCisgICBrYWxfdWludDE2IHBlbl9vZmZzZXQ7ICAgICAgICAgLypwZW4gbW92ZSBvZmZzZXQqLworICAga2FsX3VpbnQxNiBsb25ndGFwX3Blbl9vZmZzZXQ7Lypsb25ndGFwIHBlbiBtb3ZlIG9mZnNldCovCisgICBrYWxfdWludDE2IGxvbmd0YXBfc3Ryb2tlX29mZnNldDsgLypsb25ndGFwIHN0cm9rZSBtb3ZlIG9mZnNldCovCisgICBrYWxfdWludDE2IHN0b3JrZV9vZmZzZXQ7ICAgICAvKnN0cm9rZSBvZmZzZXQqLworICAga2FsX2Jvb2wgICBsb25ndGFwX3N0YXRlOyAgICAgLyp3YWl0IGxvbmd0YXAgdGltZW91dCBvciBub3QqLworI2lmIGRlZmluZWQoRFJWX1RPVUNIX1BBTkVMX1BBSVJfR1VBUkFOVEVFKQorICAgVG91Y2hfUGFuZWxfRXZlbnRfZW51bSBidWZmZXJfcHVzaF9zdGF0OworICAgVG91Y2hQYW5lbENvb3JkU3RydWN0ICBidWZmZXJfcHVzaF9wb2ludDsgICAgICAgICAgICAgLypwcmV2aW91cyBwb2ludCBjb29yZC4qLyAgIAorI2VuZGlmIC8vI2lmIGRlZmluZWQoRFJWX1RPVUNIX1BBTkVMX1BBSVJfR1VBUkFOVEVFKQorCisgICBEQ0xfSEFORExFIGh0c19oYW5kbGU7CisgICBQRk5fRENMX0NBTExCQUNLIHRwX2Rvd25fY2I7CisgICB2b2lkICoJdHBfZG93bl9jYl9wYXJhOworICAgUEZOX0RDTF9DQUxMQkFDSyB0cF91cF9jYjsKKyAgIHZvaWQgKiAgIHRwX3VwX2NiX3BhcmE7CisKK31Ub3VjaFBhbmVsRGF0YVN0cnVjdDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIGthbF9pbnQxNiAgICAgeF9hZGM7CisgICBrYWxfaW50MTYgICAgIHlfYWRjOworICAgVG91Y2hfUGFuZWxfRXZlbnRfZW51bSBldmVudDsKKyAgIGthbF91aW50MTYgICB0aW1lX3N0YW1wOwkJLy8gdW5pdDogc3lzdGVtIHRpY2sKK31Ub3VjaFBhbmVsRXZlbnRTdHJ1Y3Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICBrYWxfdWludDE2ICAgbW9kZWw7IC8vIFNpbmdsZS9EdWFsL1RyaXBsZS9Gb3VyL0ZpdmUvQWxsIGdlc3R1cmUgCisgICBrYWxfdWludDE2ICAgcGFkZGluZzsgLy9jdXJyZW50bHkgdXNlIGZvciBjaGVjayB0aGUgc3RydWN0dXJlIGZvcm1hdCBjb3JyZWN0bmVzcywgMHhBQQorICAga2FsX3VpbnQzMiAgdGltZV9zdGFtcDsKKyAgIFRQX1NJTkdMRV9FVkVOVF9UIHBvaW50c1s1XTsKK30gVG91Y2hQYW5lbE11bHRpcGxlRXZlbnRTdHJ1Y3Q7CisKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIGthbF91aW50OCAgICAgIHRvdWNoX3BhbmVsX2RhdGFbVE9VQ0hfUEFORUxfQlVGRkVSX1NJWkVdOworICAga2FsX3VpbnQxNiAgICAgIHRvdWNoX2J1ZmZlcl9yaW5kZXg7CisgICBrYWxfdWludDE2ICAgICAgdG91Y2hfYnVmZmVyX3dpbmRleDsKKyNpZiBkZWZpbmVkKF9fVE9VQ0hfUEFORUxfQ0FQQUNJVFlfXykKKyAgIGthbF91aW50MTYgICAgICB0b3VjaF9idWZmZXJfbGFzdF9yaW5kZXg7CisgICBrYWxfdWludDE2ICAgICAgdG91Y2hfYnVmZmVyX2xhc3Rfd2luZGV4OworI2VuZGlmCit9VG91Y2hQYW5lbEJ1ZmZlclN0cnVjdDsKKwordHlwZWRlZiBzdHJ1Y3QgeworI2lmIGRlZmluZWQoRFJWX1RPVUNIX1BBTkVMX0NVU1RPTUVSX1BBUkFNRVRFUikKKyAgIGthbF91aW50MzIgdHNfZGVib3VuY2VfdGltZTsgLy9UU19ERUJPVU5DRV9USU1FCisgICBrYWxfdWludDMyIHRvdWNoX3BhbmVsX2NhbGlfY2hlY2tfb2Zmc2V0OworICAga2FsX3VpbnQzMiBtaW5fcGVuX21vdmVfb2Zmc2V0Oy8vICBNSU5fUEVOX01PVkVfT0ZGU0VUID0gMTA7CisgICBrYWxfdWludDMyIGhhbmRfd3JpdGluZ19tYXhfb2Zmc2V0Oy8vICBIQU5EX1dSSVRJTkdfTUFYX09GRlNFVCA9IDUwOworICAga2FsX3VpbnQzMiBub25oYW5kX3dyaXRpbmdfbWF4X29mZnNldDsvLyAgTk9OSEFORF9XUklUSU5HX01BWF9PRkZTRVQgPSAxMDA7CisgICBrYWxfdWludDMyIG1heF9zdHJva2VfbW92ZV9vZmZzZXQ7Ly8gIE1BWF9TVFJPS0VfTU9WRV9PRkZTRVQgPSAxOworICAga2FsX3VpbnQzMiB0b3VjaF9wcmVzc3VyZV90aHJlc2hvbGRfaGlnaDsvLyBUT1VDSF9QUkVTU1VSRV9USFJFU0hPTERfSElHSD02MDAwOworI2lmIGRlZmluZWQoRFJWX1RPVUNIX1BBTkVMX01VTFRJUExFX1BJQ0spCisgICBrYWxfdWludDMyIG11bHRpcGxlX3BvaW50X3NlbGVjdGlvbjsvLyAgTVVMVElQTEVfUE9JTlRfU0VMRUNUSU9OPSAzOworI2VuZGlmIC8vI2lmIGRlZmluZWQoRFJWX1RPVUNIX1BBTkVMX01VTFRJUExFX1BJQ0spCisjaWYgZGVmaW5lZChfX0RSVl9UUF9ESVNDQVJEX1NISUZUSU5HX18pCisgICBrYWxfdWludDMyIHByZXNzdXJlX2NoZWNrX2JvdW5kYXJ5Oy8vICBQUkVTU1VSRV9DSEVDS19CT1VOREFSWSA9IDIwMDA7CisgICBrYWxfdWludDMyIHByZXNzdXJlX3NoaWZ0aW5nX2JvdW5kYXJ5Oy8vICBQUkVTU1VSRV9TSElGVElOR19CT1VOREFSWSA9IDgwMDsKKyNlbmRpZiAvLyNpZiBkZWZpbmVkKF9fRFJWX1RQX0RJU0NBUkRfU0hJRlRJTkdfXykKKyNlbmRpZiAvLyNpZiBkZWZpbmVkKERSVl9UT1VDSF9QQU5FTF9DVVNUT01FUl9QQVJBTUVURVIpCisgICBrYWxfaW50MzIgdG91Y2hfcGFuZWxfZmlsdGVyX3RocmVzb2xkOworICAgLypBREMqLworICAga2FsX2ludDMyIHhfYWRjX3N0YXJ0OworICAga2FsX2ludDMyIHhfYWRjX2VuZDsKKyAgIGthbF9pbnQzMiB5X2FkY19zdGFydDsKKyAgIGthbF9pbnQzMiB5X2FkY19lbmQ7CisgICAvKkNvb3JkLiovCisgICBrYWxfaW50MzIgeF9jb29yZF9zdGFydDsKKyAgIGthbF9pbnQzMiB4X2Nvb3JkX2VuZDsKKyAgIGthbF9pbnQzMiB5X2Nvb3JkX3N0YXJ0OworICAga2FsX2ludDMyIHlfY29vcmRfZW5kOworICAgLypTaXplLiovCisgICBrYWxfaW50MzIgeF9taWxsaW1ldGVyOworICAga2FsX2ludDMyIHlfbWlsbGltZXRlcjsKKyAgIC8qRUlOVCovCisgICBrYWxfdWludDggIGVpbnRfZG93bl9sZXZlbDsJCit9IFRvdWNoUGFuZWxfY3VzdG9tX2RhdGFfc3RydWN0OworCit0eXBlZGVmIHN0cnVjdCB7ICAKKyAgIFRvdWNoUGFuZWxfY3VzdG9tX2RhdGFfc3RydWN0ICogKCp0cF9nZXRfZGF0YSkodm9pZCk7CisgICB2b2lkICgqdHBfcmVhZF9hZGMpKGthbF91aW50MTYgKngsIGthbF91aW50MTYgKnkpOworI2lmZGVmIFRPVUNIX1BBTkVMX1BSRVNTVVJFCisgICBrYWxfYm9vbCAoKnRwX3ByZXNzdXJlX2NoZWNrKSh2b2lkKTsKKyNlbmRpZgorICAgdm9pZCAoKnRwX2lycV9lbmFibGUpKGthbF9ib29sIG9uKTsKK31Ub3VjaFBhbmVsX2N1c3RvbWl6ZV9mdW5jdGlvbl9zdHJ1Y3Q7ICAKKwordHlwZWRlZiBlbnVtIHsKKyAgICAgIENUUF9QQVJBX1NUQVJULAorICAgICAgQ1RQX1BBUkFfUkVTT0xVVElPTj0xLAorICAgICAgQ1RQX1BBUkFfVEhSRVNIT0xEPTIsCisgICAgICBDVFBfUEFSQV9SRVBPUlRfSU5UVkFMPTQsCisgICAgICBDVFBfUEFSQV9JRExFX0lOVFZBTD04LAorICAgICAgQ1RQX1BBUkFfU0xFRVBfSU5UVkFMPTB4MTAsCisgICAgICBDVFBfUEFSQV9FTkQKK30gQ1RQX3BhcmFtZXRlcnNfZW51bTsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKwlrYWxfdWludDE2IHJlc29sdXRpb247IC8vIENUUF9SRVNPTFRJT04sIAorCWthbF91aW50MTYgdGhyZXNob2xkOyAvLyAgQ1RQX1RIUkVTSE9MRCwgCisJa2FsX3VpbnQxNiBSZXBvcnRfaW50ZXJ2YWw7CisJa2FsX3VpbnQxNiBJZGxlX3RpbWVfaW50ZXJ2YWw7CisJa2FsX3VpbnQxNiBzbGVlcF90aW1lX2ludGVydmFsOworCWthbF91aW50MTYgZ2VzdHVyZV9hY3RpdmVfZGlzdGFuY2U7CisJa2FsX3VpbnQxNiBNU19jYWxpYnJhdGlvblsxMjhdOworfUNUUF9wYXJhbWV0ZXJzX3N0cnVjdDsvLyBjdHBfZ2V0X3NldF9lbnVtIAorCit0eXBlZGVmIHN0cnVjdAoreyAgIAorICAgY2hhcgl2ZW5kb3JbOF07CisgICBjaGFyCXByb2R1Y3RbOF07CisgICBjaGFyCUZpcm13YXJlVmVyc2lvbls4XTsKK31DVFBfY3VzdG9tX2luZm9ybWF0aW9uX3N0cnVjdDsKKwordHlwZWRlZiBlbnVtIHsKKwlDVFBfQUNUSVZFX01PREUsCisJQ1RQX0lETEVfTU9ERSwKKwlDVFBfU0xFRVBfTU9ERSwKKwlDVFBfR0VTVFVSRV9ERVRFQ1RJT05fTU9ERSwKKwlDVFBfTVVMVElQTEVfUE9JTlRfTU9ERSwKKwlDVFBfRklSTVdBUkVfVVBEQVRFLAorCUNUUF9GTV9FTkFCTEUsCisJQ1RQX0ZNX0RJU0FCTEUKK31jdHBfZGV2aWNlX21vZGVfZW51bTsKKwordHlwZWRlZiBzdHJ1Y3R7CisJa2FsX2Jvb2wgKCpjdHBfaW5pdCkodm9pZCk7CisJa2FsX2Jvb2wgKCpjdHBfc2V0X2RldmljZV9tb2RlKShjdHBfZGV2aWNlX21vZGVfZW51bSk7CisJVG91Y2hfUGFuZWxfUGVuU3RhdGVfZW51bSAoKmN0cF9oaXNyKSh2b2lkKTsgCisJa2FsX2Jvb2wgKCpjdHBfZ2V0X2RhdGEpKFRvdWNoUGFuZWxNdWx0aXBsZUV2ZW50U3RydWN0ICopOworCWthbF9ib29sICgqY3RwX3BhcmFtZXRlcnMpKENUUF9wYXJhbWV0ZXJzX3N0cnVjdCAqLCBrYWxfdWludDMyLCBrYWxfdWludDMyKTsKKwl2b2lkICgqY3RwX3Bvd2VyX29uKShrYWxfYm9vbCk7CisJa2FsX3VpbnQzMiAoKmN0cF9jb21tYW5kKShrYWxfdWludDMyLCB2b2lkICosIHZvaWQgKik7Cit9Q1RQX2N1c3RvbWl6ZV9mdW5jdGlvbl9zdHJ1Y3Q7CisKKy8qKioqKioqKioqKioqKioqKioqKkZ1bmN0aW9uIERlY2xhcmF0aW9uKioqKioqKioqKioqKioqKioqKiovCisvKioqKioqKioqKioqKioqKioqKipGb3IgdXBwZXIgbGF5ZXIqKioqKioqKioqKioqKioqKioqKioqKioqLwordm9pZCBUb3VjaF9QYW5lbF9DdHJsX1BhcmFtKERDTF9DVFJMX0NVU1RPTV9QQVJBTV9UIHBhcmFtKTsKK3ZvaWQgVG91Y2hfUGFuZWxfQ3RybF9QYXJhbV9SYW5nZShEQ0xfQ1RSTF9DVVNUT01fUEFSQU1fUkFOR0VfVCBwYXJhbSk7Cit2b2lkIFRvdWNoX1BhbmVsX01pY3Jvbk1ldGVyX1RvX0Nvb3JkKERDTF9DVFJMX01JQ1JPTk1FVEVSX0NPT1JEX1QqIHBwYXJhbSk7Cit2b2lkIFRvdWNoX1BhbmVsX0Nvb3JkX1RvX01pY3Jvbk1ldGVyKERDTF9DVFJMX01JQ1JPTk1FVEVSX0NPT1JEX1QqIHBwYXJhbSApOyAKKworCit2b2lkIHRvdWNoX3BhbmVsX2VuYWJsZV8oa2FsX2Jvb2wgZW5hYmxlKTsvKmVuYWJsZS9kaXNhYmxlIHRvdWNoIHBhbmVsKi8KK2thbF9ib29sIHRvdWNoX3BhbmVsX2dldF9ldmVudF8oVG91Y2hQYW5lbE11bHRpcGxlRXZlbnRTdHJ1Y3QgKnRvdWNoX2RhdGEpOy8qZ2V0IHRvdWNoIGV2ZW50Ki8KK3ZvaWQgdG91Y2hfcGFubGVfY29uZl90aW1lb3V0X3BlcmlvZF8oa2FsX3VpbnQzMiBsb25ndGFwLCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrYWxfdWludDMyIHJlcGVhdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrYWxfdWludDMyIGhhbmR3cml0aW5nX2xvbmd0YXApOwordm9pZCB0b3VjaF9wYW5sZV9jb25mX3NhbXBsZV9wZXJpb2RfKGthbF91aW50MzIgbG93LCBrYWxfdWludDMyIGhpZ2gpOwordm9pZCB0b3VjaF9wYW5lbF9mbHVzaF8odm9pZCk7LypmbHN1aCBkYXRhIGluIHJpbmcgYnVmZmVyKi8KK3ZvaWQgdG91Y2hfcGFuZWxfc3RhcnRfY2FsaV8oVG91Y2hQYW5lbENvb3JkU3RydWN0ICpwb2ludCwga2FsX3VpbnQxNiBudW0pOwordm9pZCB0b3VjaF9wYW5lbF9zdG9wX2NhbGlfKHZvaWQpOwordm9pZCB0b3VjaF9wYW5lbF9yZWFkX2NhbGlfKFRvdWNoUGFuZWxDYWxpU3RydWN0ICpjYWxpKTsKK3ZvaWQgdG91Y2hfcGFuZWxfc2V0X2NhbGlfKFRvdWNoUGFuZWxDYWxpU3RydWN0IGNhbGkpOwordm9pZCB0b3VjaF9wYW5lbF9yZXNldF8oa2FsX2Jvb2wgc2tpcF91bnJlbGVhc2VfZW5hYmxlKTsKK3ZvaWQgdG91Y2hfcGFuZWxfcmVzZXRfaGFuZHdyaXRpbmdfKHZvaWQpOwordm9pZCB0b3VjaF9wYW5lbF9jb25mX21vdmVfb2Zmc2V0XyhrYWxfdWludDE2IHBlbl9vZmZzZXQsIGthbF91aW50MTYgc3Ryb2tlX29mZnNldCwgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2FsX3VpbnQxNiBsb25ndGFwX3Blbl9vZmZzZXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2FsX3VpbnQxNiBsb25ndGFwX3N0cm9rZV9vZmZzZXQpOwordm9pZCB0b3VjaF9wYW5lbF9jb25mX2hhbmR3cml0aW5nXyhUb3VjaFBhbmVsSGFuZEFyZWFTdHJ1Y3QgKmFyZWEsIGthbF91aW50MTYgbiwgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUb3VjaFBhbmVsSGFuZEFyZWFTdHJ1Y3QgICpleHRfYXJlYSk7Cit2b2lkIHRvdWNoX3BhbmVsX2NiX3JlZ2lzdHJhdGlvbl8gKFRQX0VWRU5UX0ZVTkMgZnVuY3Rpb24sIHZvaWQgKnBhcmFtZXRlcik7Cit2b2lkIFRvdWNoX1BhbmVsX1BpeGVsX1RvX01pY3Jvbk1ldGVyKERDTF9DVFJMX01JQ1JPTk1FVEVSX0NPT1JEX1QqIHBwYXJhbSk7Cit2b2lkIFRvdWNoX1BhbmVsX01pY3Jvbk1ldGVyX1RvX0Nvb3JkKERDTF9DVFJMX01JQ1JPTk1FVEVSX0NPT1JEX1QqIHBwYXJhbSk7CisjaWYgZGVmaW5lZChfX1RPVUNIX1BBTkVMX0NBUEFDSVRZX18pCit2b2lkIHRvdWNoX3BhbmVsX2NhcGFjaXRpdmVfdXBfaGRyKERDTF9FVkVOVCBldmVudCk7Cit2b2lkIHRvdWNoX3BhbmVsX2NhcGFjaXRpdmVfZG93bl9oZHIoRENMX0VWRU5UIGV2ZW50KTsKK3ZvaWQgdG91Y2hfcGFuZWxfY2FwYWNpdGl2ZV9wb3dlcl9vbihrYWxfYm9vbCBvbik7CitrYWxfYm9vbCB0b3VjaF9wYW5lbF9jYXBhY2l0aXZlX3NldF9kZXZpY2UoY3RwX2RldmljZV9tb2RlX2VudW0gbW9kZSk7CitrYWxfdWludDMyIHRvdWNoX3BhbmVsX2NhcGFjaXRpdmVfY29tbWFuZChrYWxfdWludDMyIGNtZCwgdm9pZCAqcDEsIHZvaWQqcDIpOworI2VuZGlmIC8vI2lmIGRlZmluZWQoX19UT1VDSF9QQU5FTF9DQVBBQ0lUWV9fKQorLyoqKioqKioqKioqKioqKioqKioqRm9yIHRvdWNoIHBhbmVsIGRyaXZlciBvbmx5KioqKioqKioqKioqKi8KKy8vIE1vRElTIHBhcnNlciBza2lwIHN0YXJ0CisvLyBUaGUgZm9sbG93aW5nIGFyZSBwcml2YXRlIEFQSXMKKyNpZmRlZiBUT1VDSF9QQU5FTF9QUkVTU1VSRQora2FsX2Jvb2wgdHBfbGV2ZWwodm9pZCk7CitrYWxfYm9vbCB0cF9sZXZlbF9wcmVzc3VyZShrYWxfdWludDMyICpwcmVzc3VyZSk7CitrYWxfdWludDMyIHRwX3ByZXNzdXJlX3ZhbHVlKHZvaWQpOwora2FsX2Jvb2wgdHBfcHJlc3N1cmVfY2hlY2sodm9pZCk7CitrYWxfYm9vbCB0cF9wcmVzc3VyZV9jaGVja192YWx1ZShrYWxfdWludDMyICpwcmVzc3VyZSk7CisjZW5kaWYgLy8jaWZkZWYgVE9VQ0hfUEFORUxfUFJFU1NVUkUKKwordm9pZCB0b3VjaF9wYW5lbF9yZWFkX2FkYyhrYWxfdWludDE2ICp4LCBrYWxfdWludDE2ICp5KTsKK2thbF9ib29sIHRvdWNoX3BhbmVsX2FkY190b19jb29yZGluYXRlKGthbF91aW50MTYgKngsIGthbF91aW50MTYgKnkpOy8qdHJhbmxhdGUqLwordm9pZCB0b3VjaF9wYW5lbF9ldmVudF9jYih2b2lkICpwYXJhbWV0ZXIpOwordm9pZCB0b3VjaF9wYW5lbF9yZXBlYXRfY2Iodm9pZCAqcGFyYW1ldGVyKTsKK3ZvaWQgdG91Y2hfcGFuZWxfbG9uZ3RhcF9jYih2b2lkICpwYXJhbWV0ZXIpOwordm9pZCB0b3VjaF9wYW5lbF9zdHJva2VfY2Iodm9pZCAqcGFyYW1ldGVyKTsKK3ZvaWQgdG91Y2hfcGFuZWxfdXBfaGRyKERDTF9FVkVOVCBldmVudCk7Cit2b2lkIHRvdWNoX3BhbmVsX2Rvd25faGRyKERDTF9FVkVOVCBldmVudCk7Cit2b2lkIHRvdWNoX3BhbmVsX2V2ZW50X2hkcih2b2lkKTsKK3ZvaWQgdG91Y2hfc3RhcnRfbG9uZ3RhcCh2b2lkKTsKK3ZvaWQgdG91Y2hfcGFuZWxfc3Ryb2tlX2hkcih2b2lkKTsKK3ZvaWQgdG91Y2hfZXhjdXRlX2NhbGkoa2FsX3VpbnQxNiB4X2FkYywga2FsX3VpbnQxNiB5X2FkYyk7Cit2b2lkIHRvdWNoX3BhbmVsX3NlbmRpbG0odm9pZCAqcGFyYSwgVG91Y2hfUGFuZWxfRXZlbnRfZW51bSBzdGF0ZSk7Cit2b2lkIHRwX2RhdGFfcG9wKFRvdWNoX1BhbmVsX0V2ZW50X2VudW0gZXZlbnQsIGthbF9pbnQxNiB4LCBrYWxfaW50MTYgeSk7Cit2b2lkIHRwX2RhdGFfcHVzaChUUF9TSU5HTEVfRVZFTlRfVCogcHVzaF9ldmVudCk7CisKK3ZvaWQgdG91Y2hfcGFuZWxfaW5pdCh2b2lkKTsKK3ZvaWQgdG91Y2hfc3RhcnRfaGFuZHdyaXRpbmdfbG9uZ3RhcCh2b2lkKTsKKy8vIE1vRElTIHBhcnNlciBza2lwIGVuZAorLyp2YXJpYWJsZSovCitleHRlcm4gVG91Y2hQYW5lbERhdGFTdHJ1Y3QgVFA7CitleHRlcm4gVG91Y2hfUGFuZWxfRXZlbnRfZW51bSB0b3VjaF9wYW5lbF90cmFja19zdGF1dHM7IC8qcGVuL3N0cm9rZSBzdGF0dXMqLworZXh0ZXJuIFRvdWNoUGFuZWxCdWZmZXJTdHJ1Y3QgICAgdG91Y2hfcGFuZWxfZGF0YV9idWZmZXI7CitleHRlcm4gVG91Y2hQYW5lbENvb3JkU3RydWN0IHByZV9jb29yZDsKK2V4dGVybiBUb3VjaFBhbmVsQ29vcmRTdHJ1Y3QgdHBfc3Ryb2tlX3ByZTsKKworI2lmIGRlZmluZWQoX19EUlZfQ09NTV9SRUdfREJHX18pICYmIGRlZmluZWQoX19EUlZfVFBfUkVHX0RCR19fKQorI2RlZmluZSBEUlZfVFBfV3JpdGVSZWcoYWRkcixkYXRhKSAgICAgICAgICAgICAgRFJWX0RCR19Xcml0ZVJlZyhhZGRyLGRhdGEpCisjZGVmaW5lIERSVl9UUF9SZWcoYWRkcikgICAgICAgICAgICAgICAgICAgICAgICBEUlZfREJHX1JlZyhhZGRyKSAgICAgICAgICAgICAgICAgICAgICAKKyNkZWZpbmUgRFJWX1RQX1dyaXRlUmVnMzIoYWRkcixkYXRhKSAgICAgICAgICAgIERSVl9EQkdfV3JpdGVSZWczMihhZGRyLGRhdGEpICAgICAgICAgIAorI2RlZmluZSBEUlZfVFBfUmVnMzIoYWRkcikgICAgICAgICAgICAgICAgICAgICAgRFJWX0RCR19SZWczMihhZGRyKSAgICAgICAgICAgICAgICAgICAgCisjZGVmaW5lIERSVl9UUF9Xcml0ZVJlZzgoYWRkcixkYXRhKSAgICAgICAgICAgICBEUlZfREJHX1dyaXRlUmVnOChhZGRyLGRhdGEpICAgICAgICAgICAKKyNkZWZpbmUgRFJWX1RQX1JlZzgoYWRkcikgICAgICAgICAgICAgICAgICAgICAgIERSVl9EQkdfUmVnOChhZGRyKSAgICAgICAgICAgICAgICAgICAgIAorI2RlZmluZSBEUlZfVFBfQ2xlYXJCaXRzKGFkZHIsZGF0YSkgICAgICAgICAgICAgRFJWX0RCR19DbGVhckJpdHMoYWRkcixkYXRhKSAgICAgICAgICAgCisjZGVmaW5lIERSVl9UUF9TZXRCaXRzKGFkZHIsZGF0YSkgICAgICAgICAgICAgICBEUlZfREJHX1NldEJpdHMoYWRkcixkYXRhKSAgICAgICAgICAgICAKKyNkZWZpbmUgRFJWX1RQX1NldERhdGEoYWRkciwgYml0bWFzaywgdmFsdWUpICAgIERSVl9EQkdfU2V0RGF0YShhZGRyLCBiaXRtYXNrLCB2YWx1ZSkgIAorI2RlZmluZSBEUlZfVFBfQ2xlYXJCaXRzMzIoYWRkcixkYXRhKSAgICAgICAgICAgRFJWX0RCR19DbGVhckJpdHMzMihhZGRyLGRhdGEpICAgICAgICAgCisjZGVmaW5lIERSVl9UUF9TZXRCaXRzMzIoYWRkcixkYXRhKSAgICAgICAgICAgICBEUlZfREJHX1NldEJpdHMzMihhZGRyLGRhdGEpICAgICAgICAgICAKKyNkZWZpbmUgRFJWX1RQX1NldERhdGEzMihhZGRyLCBiaXRtYXNrLCB2YWx1ZSkgIERSVl9EQkdfU2V0RGF0YTMyKGFkZHIsIGJpdG1hc2ssIHZhbHVlKQorI2RlZmluZSBEUlZfVFBfQ2xlYXJCaXRzOChhZGRyLGRhdGEpICAgICAgICAgICAgRFJWX0RCR19DbGVhckJpdHM4KGFkZHIsZGF0YSkgICAgICAgICAgCisjZGVmaW5lIERSVl9UUF9TZXRCaXRzOChhZGRyLGRhdGEpICAgICAgICAgICAgICBEUlZfREJHX1NldEJpdHM4KGFkZHIsZGF0YSkgICAgICAgICAgICAKKyNkZWZpbmUgRFJWX1RQX1NldERhdGE4KGFkZHIsIGJpdG1hc2ssIHZhbHVlKSAgIERSVl9EQkdfU2V0RGF0YTgoYWRkciwgYml0bWFzaywgdmFsdWUpIAorI2Vsc2UKKyNkZWZpbmUgRFJWX1RQX1dyaXRlUmVnKGFkZHIsZGF0YSkgICAgICAgICAgICAgIERSVl9Xcml0ZVJlZyhhZGRyLGRhdGEpCisjZGVmaW5lIERSVl9UUF9SZWcoYWRkcikgICAgICAgICAgICAgICAgICAgICAgICBEUlZfUmVnKGFkZHIpICAgICAgICAgICAgICAgICAgICAgIAorI2RlZmluZSBEUlZfVFBfV3JpdGVSZWczMihhZGRyLGRhdGEpICAgICAgICAgICAgRFJWX1dyaXRlUmVnMzIoYWRkcixkYXRhKSAgICAgICAgICAKKyNkZWZpbmUgRFJWX1RQX1JlZzMyKGFkZHIpICAgICAgICAgICAgICAgICAgICAgIERSVl9SZWczMihhZGRyKSAgICAgICAgICAgICAgICAgICAgCisjZGVmaW5lIERSVl9UUF9Xcml0ZVJlZzgoYWRkcixkYXRhKSAgICAgICAgICAgICBEUlZfV3JpdGVSZWc4KGFkZHIsZGF0YSkgICAgICAgICAgIAorI2RlZmluZSBEUlZfVFBfUmVnOChhZGRyKSAgICAgICAgICAgICAgICAgICAgICAgRFJWX1JlZzgoYWRkcikgICAgICAgICAgICAgICAgICAgICAKKyNkZWZpbmUgRFJWX1RQX0NsZWFyQml0cyhhZGRyLGRhdGEpICAgICAgICAgICAgIERSVl9DbGVhckJpdHMoYWRkcixkYXRhKSAgICAgICAgICAgCisjZGVmaW5lIERSVl9UUF9TZXRCaXRzKGFkZHIsZGF0YSkgICAgICAgICAgICAgICBEUlZfU2V0Qml0cyhhZGRyLGRhdGEpICAgICAgICAgICAgIAorI2RlZmluZSBEUlZfVFBfU2V0RGF0YShhZGRyLCBiaXRtYXNrLCB2YWx1ZSkgICAgRFJWX1NldERhdGEoYWRkciwgYml0bWFzaywgdmFsdWUpICAKKyNkZWZpbmUgRFJWX1RQX0NsZWFyQml0czMyKGFkZHIsZGF0YSkgICAgICAgICAgIERSVl9DbGVhckJpdHMzMihhZGRyLGRhdGEpICAgICAgICAgCisjZGVmaW5lIERSVl9UUF9TZXRCaXRzMzIoYWRkcixkYXRhKSAgICAgICAgICAgICBEUlZfU2V0Qml0czMyKGFkZHIsZGF0YSkgICAgICAgICAgIAorI2RlZmluZSBEUlZfVFBfU2V0RGF0YTMyKGFkZHIsIGJpdG1hc2ssIHZhbHVlKSAgRFJWX1NldERhdGEzMihhZGRyLCBiaXRtYXNrLCB2YWx1ZSkKKyNkZWZpbmUgRFJWX1RQX0NsZWFyQml0czgoYWRkcixkYXRhKSAgICAgICAgICAgIERSVl9DbGVhckJpdHM4KGFkZHIsZGF0YSkgICAgICAgICAgCisjZGVmaW5lIERSVl9UUF9TZXRCaXRzOChhZGRyLGRhdGEpICAgICAgICAgICAgICBEUlZfU2V0Qml0czgoYWRkcixkYXRhKSAgICAgICAgICAgIAorI2RlZmluZSBEUlZfVFBfU2V0RGF0YTgoYWRkciwgYml0bWFzaywgdmFsdWUpICAgRFJWX1NldERhdGE4KGFkZHIsIGJpdG1hc2ssIHZhbHVlKSAKKyNlbmRpZiAvLyNpZiBkZWZpbmVkKF9fRFJWX0NPTU1fUkVHX0RCR19fKSAmJiBkZWZpbmVkKF9fRFJWX1RQX1JFR19EQkdfXykKKyNpZiBkZWZpbmVkKF9fTVRLX0lOVEVSTkFMX18pICYmICFkZWZpbmVkKF9fTUFVSV9CQVNJQ19fKSAmJiBkZWZpbmVkKF9fRFJWX0RCR19NRU1PUllfVFJBQ0VfU1VQUE9SVF9fKSAmJiBkZWZpbmVkKF9fRFJWX1RQX01FTU9SWV9UUkFDRV9fKQordHlwZWRlZiBzdHJ1Y3R7CisgICBrYWxfdWludDE2ICAgICAgdGFnOworICAga2FsX3VpbnQzMiAgICAgIHRpbWU7CisgICBrYWxfdWludDMyICAgICAgZGF0YTE7CisgICBrYWxfdWludDMyICAgICAgZGF0YTI7Cit9VFBfRFJWX0RCR19EQVRBOworI2RlZmluZSBNQVhfVFBfRFJWX0RCR19JTkZPX1NJWkUgMTYKK3R5cGVkZWYgc3RydWN0eworICAgVFBfRFJWX0RCR19EQVRBICAgICBkYmdfZGF0YVtNQVhfVFBfRFJWX0RCR19JTkZPX1NJWkVdOworICAga2FsX3VpbnQxNiAgICAgICAgICBkYmdfZGF0YV9pZHg7Cit9VFBfRFJWX0RCR19TVFJVQ1Q7CitleHRlcm4gdm9pZCB0cF9kcnZfZGJnX3RyYWNlKGthbF91aW50MTYgaW5kZXgsIGthbF91aW50MzIgdGltZSwga2FsX3VpbnQzMiBkYXRhMSwga2FsX3VpbnQzMiBkYXRhMik7CisjZGVmaW5lIFRQX0RCRyhhLGIsYyxkKSB0cF9kcnZfZGJnX3RyYWNlKGEsYixjLGQpOworI2luY2x1ZGUgInVzX3RpbWVyLmgiCitleHRlcm4ga2FsX3VpbnQzMiBMMUlfR2V0VGltZVN0YW1wKHZvaWQpOworI2RlZmluZSBUUF9HZXRUaW1lU3RhbXAgTDFJX0dldFRpbWVTdGFtcAorI2Vsc2UgLy8jaWYgZGVmaW5lZChfX01US19JTlRFUk5BTF9fKSAmJiAhZGVmaW5lZChMT1dfQ09TVF9TVVBQT1JUKQorI2RlZmluZSBUUF9EQkcoYSxiLGMsZCkgOworI2VuZGlmIC8vI2lmIGRlZmluZWQoX19NVEtfSU5URVJOQUxfXykgJiYgIWRlZmluZWQoTE9XX0NPU1RfU1VQUE9SVCkKKyNlbmRpZgorCmRpZmYgLS1naXQgYS9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL3RvdWNoX3BhbmVsX2J1ZmYuaCBiL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvdG91Y2hfcGFuZWxfYnVmZi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhlZjMzNzkKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL3RvdWNoX3BhbmVsX2J1ZmYuaApAQCAtMCwwICsxLDkwIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMDUKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4gCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRmlsZW5hbWU6CisgKiAtLS0tLS0tLS0KKyAqICAgIHNlcmlhbF9pbnRlcmZhY2UuYworICoKKyAqIFByb2plY3Q6CisgKiAtLS0tLS0tLQorICogICBNYXVpX1NvZnR3YXJlCisgKgorICogRGVzY3JpcHRpb246CisgKiAtLS0tLS0tLS0tLS0KKyAqICAgVGhpcyBNb2R1bGUgZGVmaW5lcyBUb3VjaCBQYW5lbCBJbnRlcmZhY2UuCisgKgorICogQXV0aG9yOgorICogLS0tLS0tLQorICogLS0tLS0tLQorICoKKyAqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICogICAgICAgICAgICAgSElTVE9SWQorICogQmVsb3cgdGhpcyBsaW5lLCB0aGlzIHBhcnQgaXMgY29udHJvbGxlZCBieSBQVkNTIFZNLiBETyBOT1QgTU9ESUZZISEKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogVXBwZXIgdGhpcyBsaW5lLCB0aGlzIHBhcnQgaXMgY29udHJvbGxlZCBieSBQVkNTIFZNLiBETyBOT1QgTU9ESUZZISEKKyAqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIFRPVUNIX1BBTkVMX0JVRkZfSAorI2RlZmluZSBUT1VDSF9QQU5FTF9CVUZGX0gKKyNpbmNsdWRlICJ0b3VjaF9wYW5lbC5oIgorI2luY2x1ZGUgImthbF9wdWJsaWNfYXBpLmgiCisKK3ZvaWQgdHBfZ2V0X2J1Zl9yb29tbGVmdF8oa2FsX3VpbnQxNiogcGxlZnQpOwordm9pZCB0cF9nZXRfYnVmX2F2YWlsXyhrYWxfdWludDE2KiBwbGVmdCk7Cit2b2lkIHRvdWhjX3B1c2hfZGF0YV90b19idWZmZXIoa2FsX3VpbnQ4IF9kYXRhLCBrYWxfdWludDggX3N0YXRlKSA7Cit2b2lkIHRvdWNoX3BvcF9kYXRhX2Zyb21fYnVmZmVyXyhrYWxfdWludDgqcGRhdGEpIDsKK3ZvaWQgdG91Y2hfcGVla19kYXRhX2Zyb21fYnVmZmVyKGthbF91aW50OCpfcHRyLCBrYWxfdWludDggX251bSk7Cit2b2lkIHRvdWNoX2ZsdXNoX2RhdGFfYnVmZmVyKHZvaWQpOworCisKKyNkZWZpbmUgdHBfZ2V0X2J1Zl9yb29tbGVmdChfbGVmdCkgICBcCit7XAorICB0cF9nZXRfYnVmX3Jvb21sZWZ0XygmX2xlZnQpO1wKK30KKworI2RlZmluZSB0cF9nZXRfYnVmX2F2YWlsKF9sZWZ0KSAgIFwKK3tcCisgIHRwX2dldF9idWZfYXZhaWxfKCZfbGVmdCk7XAorfQorCisjZGVmaW5lIHRvdWNoX3BvcF9kYXRhX2Zyb21fYnVmZmVyKF9kYXRhKVwKK3tcCisgICAgdG91Y2hfcG9wX2RhdGFfZnJvbV9idWZmZXJfKCZfZGF0YSk7XAorfQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvdG91Y2hfcGFuZWxfdHJjLmggYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL3RvdWNoX3BhbmVsX3RyYy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYxMmQ5YzgKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL3RvdWNoX3BhbmVsX3RyYy5oCkBAIC0wLDAgKzEsMTMzIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMDUKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4gCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEZpbGVuYW1lOgorICogLS0tLS0tLS0tCisgKiAgIHRvdWNoX3BhbmVsX3RyYy5oCisgKgorICogUHJvamVjdDoKKyAqIC0tLS0tLS0tCisgKiAgIE1BVUkKKyAqCisgKiBEZXNjcmlwdGlvbjoKKyAqIC0tLS0tLS0tLS0tLQorICogICBUaGlzIGlzIHRyYWNlIG1hcCBkZWZpbml0aW9uIGZvciB0b3VjaCBwYW5lbCBkcml2ZXIKKyAqCisgKiBBdXRob3I6CisgKiAtLS0tLS0tCisgKiAtLS0tLS0tCisgKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIF9UUF9UUkNfSAorI2RlZmluZSBfVFBfVFJDX0gKKworCisjaWZuZGVmIEdFTl9GT1JfUEMKKworICAgI2lmbmRlZiBfU1RBQ0tfQ09ORklHX0gKKyAgICNlcnJvciAic3RhY2tfY29uZmlnLmggc2hvdWxkIGJlIGluY2x1ZGVkIGJlZm9yZSB0c3RfY29uZmlnLmgiCisgICAjZW5kaWYKKworI2Vsc2UKKyAgICNpbmNsdWRlICJrYWxfdHJhY2UuaCIKKyNlbmRpZiAvKiBHRU5fRk9SX1BDICovCisKKworI2lmbmRlZiBfS0FMX1RSQUNFX0gKKyAgICNlcnJvciAia2FsX3RyYWNlLmggc2hvdWxkIGJlIGluY2x1ZGVkIGJlZm9yZSB0c3RfdHJhY2UuaCIKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoR0VOX0ZPUl9QQykKKyNpZiBkZWZpbmVkKF9fVFNUX01PRFVMRV9fKSB8fCBkZWZpbmVkKF9fQ1VTVE9NX1JFTEVBU0VfXykKKyAgICAjaW5jbHVkZSAidG91Y2hfcGFuZWxfdHJjX2dlbi5oIgorI2VuZGlmIC8qIFRTVCBUcmFjZSBEZWZpbnRpb24gKi8KKyNlbmRpZgorQkVHSU5fVFJBQ0VfTUFQKE1PRF9UUF9UQVNLKQorCisgICBUUkNfTVNHKFRQX0hJU1JfRE9XTiwiVFAgSElTUiBEb3duIikKKyAgIFRSQ19NU0coVFBfSElTUl9VUCwiVFAgSElTUiBVUCIpCisgICBUUkNfTVNHKFRQX0RPV05fSERSLCJUUCBkb3duIGhhbmRsZXIiKQorICAgVFJDX01TRyhUUF9VUF9IRFIsIlRQIHVwIGhhbmRsZXIiKQorICAgVFJDX01TRyhUUF9TVEFULCJUUCBzdGF0OiAlZCIpCisgICAKKyAgIFRSQ19NU0coVFBfVVBfSU5UUl9MT1NULCJUUCB1cCBpbnRyIGxvc3QiKQorICAgVFJDX01TRyhUUF9ET1dOX0lOVFJfTE9TVCwiVFAgZG93biBpbnRyIGxvc3QiKQorICAgCisgICBUUkNfTVNHKFRQX1BSRVNTVVJFX1JFU1VMVCwiVFAgcHJlc3N1cmUgcmVzdWx0OiAlZCIpCisgICBUUkNfTVNHKFRQX1BSRVNTVVJFX1ZBTFVFLCJUUCBwcmVzc3VyZSB2YWx1ZTogcHJlc3N1cmU6ICVkLCB4OiAlZCwgejE6ICVkLCB6MjogJWQiKQorICAgCisgICBUUkNfTVNHKFRQX0FEQ19WQUxVRSwiVFAgQURDIHZhbHVlOiB4OiAlZCwgeTogJWQiKQorICAgVFJDX01TRyhUUF9WQUxJRF9DT09SRF9WQUxVRSwiVFAgdmFsaWQgY29vcmQgdmFsdWU6IHg6ICVkLCB5OiAlZCIpCisgICBUUkNfTVNHKFRQX0NVU1RPTV9TRVRUSU5HLCJUUCBjdXN0b20gc2V0dGluZzogQURDX1hfU3RhcnQ6ICVkLCBBRENfWF9FbmQ6ICVkLCBBRENfWV9TdGFydDogJWQsIEFEQ19ZX0VuZDogJWQsIFNjcmVlblhfU3RhcnQ6ICVkLCBTY3JlZW5YX0VuZDogJWQsIFNjcmVlbllfU3RhcnQ6ICVkLCBTY3JlZW5ZX0VuZDogJWQiKQorICAgVFJDX01TRyhUUF9JTlZBTElEX0NPT1JEX1ZBTFVFLCJUUCBpbnZhbGlkIGNvb3JkIHZhbHVlOiBTY3JlZW5YX1N0YXJ0OiAlZCwgU2NyZWVuWF9FbmQ6ICVkLCBTY3JlZW5ZX1N0YXJ0OiAlZCwgU2NyZWVuWV9FbmQ6ICVkLCB4OiAlZCwgeTogJWQiKQorICAgVFJDX01TRyhUUF9XQUlUX05FWFRfVFJVRSwiVFAgd2FpdCBuZXh0IGlzIFRSVUUsIGp1c3QgcmV0dXJuIikKKyAgIFRSQ19NU0coVFBfV0FJVF9ORVhUX1NFVF9UUlVFLCJUUCB3YWl0IG5leHQgaXMgc2V0IHRvIFRSVUUhISEhIikKKyAgIFRSQ19NU0coVFBfRkxVU0gsIlRQIGZsdXNoIGFsbCBkYXRhIikKKyAgIFRSQ19NU0coVFBfUkVTRVQsIlRQIHJlc2V0IikKKyAgIFRSQ19NU0coVFBfRVhDRUVEX1BFTk1PVkUsIlRQIGV4Y2VlZCBwZW5tb3ZlOiAlZCIpCisgICAKKyAgIFRSQ19NU0coVFBfQ09ORl9TQU1QTEVfUEVSSU9ELCJUUCBjb25maWcgc2FtcGxlIHBlcmlvZDogbG93OiAlZCwgaGlnaDogJWQiKQorICAgVFJDX01TRyhUUF9DT05GX1RJTUVPVVRfUEVSSU9ELCJUUCBjb25maWcgdGltZW91dCBwZXJpb2Q6IGxvbmd0YXA6ICVkLCByZXBlYXQ6ICVkLCBoYW5kd3JpdGluZ19sb25ndGFwOiAlZCIpCisgICBUUkNfTVNHKFRQX0NPTkZfTU9WRV9PRkZTRVQsIlRQIGNvbmZpZyBtb3ZlIG9mZnNldDogcGVuX29mZnNldDogJWQsIHN0cm9rZV9vZmZzZXQ6ICVkLCBsb25ndGFwX3Blbl9vZmZzZXQ6ICVkLCBsb25ndGFwX3N0cm9rZV9vZmZzZXQ6ICVkIikKKyAgIAorICAgVFJDX01TRyhUUF9HRVRfRVZFTlQsIlRQIGdldF9ldmVudDogZXZlbnQ6ICVkLCB4OiAlZCwgeTogJWQiKQorICAgVFJDX01TRyhUUF9QRUVLX0VWRU5ULCJUUCBnZXRfZXZlbnQ6IGV2ZW50OiAlZCwgeDogJWQsIHk6ICVkIikKKyAgIAorICAgLy8gU3Ryb2tlCisgICBUUkNfTVNHKFRQX1NUUk9LRV9VUCwiVFAgc3Ryb2tlIHVwIikKKyAgIFRSQ19NU0coVFBfU1RST0tFX01PVkUsIlRQIHN0cm9rZSBtb3ZlIHg6ICVkLCB5OiAlZCIpCisgICAKKyAgIC8vIFBlbgorICAgVFJDX01TRyhUUF9QRU5fVVAsIlRQIHBlbiB1cCIpCisgICBUUkNfTVNHKFRQX1BFTl9MT05HVEFQLCJUUCBsb25ndGFwIHg6ICVkLCB5OiAlZCIpCisgICBUUkNfTVNHKFRQX1BFTl9SRVBFQVQsIlRQIHJlcGVhdCB4OiAlZCwgeTogJWQiKQorICAgVFJDX01TRyhUUF9QRU5fTU9WRSwiVFAgbW92ZSB4OiAlZCwgeTogJWQiKQorICAgCisgICAKKyAgIAorICAgLy8gQ2FsaWJyYXRpb24gbWVzc2FnZXMKKyAgIFRSQ19NU0coVFBfQ0FMSV9GT1JDRV9WQUxJRF9DT09SRF9WQUxVRSwiVFAgY2FsaSBtb2RlIGZvcmNlIHZhbGlkYXRlIGNvb3JkIHZhbHVlIikKKyAgIFRSQ19NU0coVFBfQ0FMSV9BRENfRElGRiwiVFAgY2FsaSBBREMgZGlmZjogeF9kaWZmOiAlZCwgeF9kaWZmX2hpZ2g6ICVkLCB4X2RpZmZfbG93OiAlZCwgeV9kaWZmOiAlZCwgeV9kaWZmX2hpZ2g6ICVkLCB5X2RpZmZfbG93OiAlZCIpCisgICBUUkNfTVNHKFRQX0NBTElfMVNUX0FEQywiVFAgMXN0IGFkYzogeDogJWQsIHk6ICVkIikKKyAgIFRSQ19NU0coVFBfQ0FMSV8yTkRfQURDLCJUUCAybmQgYWRjOiB4OiAlZCwgeTogJWQiKQorICAgVFJDX01TRyhUUF9DQUxJX1JFU1VMVCwiVFAgY2FsaSBmb3JtdWxhOiB4X3Nsb3BlOiAlZCwgeF9vZmZzZXQ6ICVkLCB5X3Nsb3BlOiAlZCwgeV9vZmZzZXQ6ICVkLCByZXN1bHQ6ICVkIikKKworCQorRU5EX1RSQUNFX01BUChNT0RfVFBfVEFTSykKKworI2VuZGlmIC8qIF9UUF9UUkNfSCAqLworCisKZGlmZiAtLWdpdCBhL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvdHNfaHcuaCBiL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvdHNfaHcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jM2VhM2YwCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy90c19ody5oCkBAIC0wLDAgKzEsMTkyIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMDUKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4gCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRmlsZW5hbWU6CisgKiAtLS0tLS0tLS0KKyAqICAgIHRwX2h3LmgKKyAqCisgKiBQcm9qZWN0OgorICogLS0tLS0tLS0KKyAqICAgTWF1aV9Tb2Z0d2FyZQorICoKKyAqIERlc2NyaXB0aW9uOgorICogLS0tLS0tLS0tLS0tCisgKiAgIFRoaXMgZmlsZSBpcyBpbnRlbmRzIGZvciBHUFQgZHJpdmVyLgorICoKKyAqIEF1dGhvcjoKKyAqIC0tLS0tLS0KKyAqIC0tLS0tLS0KKyAqCisgKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqICAgICAgICAgICAgIEhJU1RPUlkKKyAqIEJlbG93IHRoaXMgbGluZSwgdGhpcyBwYXJ0IGlzIGNvbnRyb2xsZWQgYnkgUFZDUyBWTS4gRE8gTk9UIE1PRElGWSEhCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIFVwcGVyIHRoaXMgbGluZSwgdGhpcyBwYXJ0IGlzIGNvbnRyb2xsZWQgYnkgUFZDUyBWTS4gRE8gTk9UIE1PRElGWSEhCisgKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmbmRlZiBUUF9IV19ICisjZGVmaW5lIFRQX0hXX0gKKyNpbmNsdWRlICJkcnZfZmVhdHVyZXMuaCIKKyNpbmNsdWRlICJkcnZfY29tbS5oIgorI2lmIGRlZmluZWQoRFJWX0FEQ19UT1VDSF9TQ1JFRU4pCisjaWYgIWRlZmluZWQoRFJWX1RTX09GRikKKworI2lmIGRlZmluZWQoRFJWX0FEQ19PRkYpCisjZXJyb3IgIkFEQyBtb2R1bGUgc2hvdWxkIGV4aXN0ISEgIgorI2VuZGlmCisjaW5jbHVkZSAicmVnX2Jhc2UuaCIKKyAjaWZkZWYgRFJWX0FEQ19UT1VDSF9TQ1JFRU5fT0ZGU0VUXzBYNTAKKyAgICNkZWZpbmUgQVVYX1RTX0RFQlQgICAgICAgICAgICAgICAgICAgKEFVWEFEQ19iYXNlKzB4MDA1MCkKKyAgICNkZWZpbmUgQVVYX1RTX0NNRCAgICAgICAgICAgICAgICAgICAgKEFVWEFEQ19iYXNlKzB4MDA1NCkKKyAgICNkZWZpbmUgQVVYX1RTX0NPTiAgICAgICAgICAgICAgICAgICAgKEFVWEFEQ19iYXNlKzB4MDA1OCkKKyAgICNkZWZpbmUgQVVYX1RTX0RBVEEwICAgICAgICAgICAgICAgICAgKEFVWEFEQ19iYXNlKzB4MDA1YykKKyAjZWxzZSAvLyAjaWZkZWYgRFJWX0FEQ19UT1VDSF9TQ1JFRU5fT0ZGU0VUXzBYNTAKKyAgICNkZWZpbmUgQVVYX1RTX0RFQlQgICAgICAgICAgICAgICAgICAgKEFVWEFEQ19iYXNlKzB4MDAzMCkKKyAgICNkZWZpbmUgQVVYX1RTX0NNRCAgICAgICAgICAgICAgICAgICAgKEFVWEFEQ19iYXNlKzB4MDAzNCkKKyAgICNkZWZpbmUgQVVYX1RTX0NPTiAgICAgICAgICAgICAgICAgICAgKEFVWEFEQ19iYXNlKzB4MDAzOCkKKyAgICNkZWZpbmUgQVVYX1RTX0RBVEEwICAgICAgICAgICAgICAgICAgKEFVWEFEQ19iYXNlKzB4MDAzYykKKyAjZW5kaWYgLy8gI2lmZGVmIERSVl9BRENfVE9VQ0hfU0NSRUVOX09GRlNFVF8wWDUwCisKKyNlbmRpZiAgIC8qI2lmICFkZWZpbmVkKERSVl9UU19PRkYpKi8KKworI2RlZmluZSBUU19ERUJUX01BU0sgICAgICAgICAgIDB4M2ZmZgorCisjZGVmaW5lIFRTX0NNRF9QRF9NQVNLICAgICAgICAgMHgwMDAzCisgICAjZGVmaW5lIFRTX0NNRF9QRF9ZRFJWX1NIICAgICAweDAwMDAKKyAgICNkZWZpbmUgVFNfQ01EX1BEX0lSUV9TSCAgICAgIDB4MDAwMQorICAgI2RlZmluZSBUU19DTURfUERfSVJRICAgICAgICAgMHgwMDAzCisjZGVmaW5lIFRTX0NNRF9TRV9ERl9NQVNLICAgICAgMHgwMDA0CisgICAjZGVmaW5lIFRTX0NNRF9ESUZGRVJFTlRJQUwgICAweDAwMDAKKyAgICNkZWZpbmUgVFNfQ01EX1NJTkdMRV9FTkQgICAgIDB4MDAwNAorI2RlZmluZSBUU19DTURfTU9ERV9NQVNLICAgICAgIDB4MDAwOAorICAgI2RlZmluZSBUU19DTURfTU9ERV8xMEJJVCAgICAgMHgwMDAwCisgICAjZGVmaW5lIFRTX0NNRF9NT0RFXzhCSVQgICAgICAweDAwMDgKKyNkZWZpbmUgVFNfQ01EX0FERFJfTUFTSyAgICAgICAweDAwNzAKKyAgICNkZWZpbmUgVFNfQ01EX0FERFJfWSAgICAgICAgIDB4MDAxMAorICAgI2RlZmluZSBUU19DTURfQUREUl9aMSAgICAgICAgMHgwMDMwCisgICAjZGVmaW5lIFRTX0NNRF9BRERSX1oyICAgICAgICAweDAwNDAKKyAgICNkZWZpbmUgVFNfQ01EX0FERFJfWCAgICAgICAgIDB4MDA1MAorCisjZGVmaW5lIFRTX0NPTl9TUExfTUFTSyAgICAgICAgMHgwMDAxCisKKyNpZiBkZWZpbmVkKERSVl9UUF9QRU5VUF9GSVhFRCkKKyAgICNkZWZpbmUgVFNfQ09OX1NQTF9UUklHR0VSICAgIDB4ODAwMQorICNlbHNlCisgICAjZGVmaW5lIFRTX0NPTl9TUExfVFJJR0dFUiAgICAweDAwMDEKKyNlbmRpZgorCisjZGVmaW5lIFRTX0NPTl9TVEFUVVNfTUFTSyAgICAgMHgwMDAyCisKKyNkZWZpbmUgVFNfREFUMF9EQVRfTUFTSyAgICAgICAweDAzZmYKKworI2lmIGRlZmluZWQoRFJWX1RQX1NQTF9OVU1fQUJCXzE3MDgpCisjZGVmaW5lIEFVWF9TUExfTlVNIChQTExfYmFzZSsweDE3MDgpCisjZGVmaW5lIEFVWF9TUExfTlVNX1NISUZUIDgKKyNkZWZpbmUgQVVYX1NQTF9OVU1fTUFTSyAweEZGMDAKKworI2VsaWYgZGVmaW5lZChEUlZfVFBfU1BMX05VTV9BQkJfODcwOCkKKyNkZWZpbmUgQVVYX1NQTF9OVU0gKEFCQlNZU19iYXNlKzB4ODcwOCkKKyNkZWZpbmUgQVVYX1NQTF9OVU1fU0hJRlQgOAorI2RlZmluZSBBVVhfU1BMX05VTV9NQVNLIDB4RkYwMAorCisjZWxzZQorI2RlZmluZSBBVVhfU1BMX05VTSAwCisjZGVmaW5lIEFVWF9TUExfTlVNX1NISUZUIDAKKyNkZWZpbmUgQVVYX1NQTF9OVU1fTUFTSyAwCisjZW5kaWYvLyNpZiBkZWZpbmVkKERSVl9UUF9TUExfTlVNX0FCQl8xNzA4KQorCisjaWYgIWRlZmluZWQoRFJWX1RTX09GRikKKworI2lmIGRlZmluZWQoX19EUlZfQ09NTV9SRUdfREJHX18pICYmIGRlZmluZWQoX19EUlZfVFBfUkVHX0RCR19fKQorI2RlZmluZSBEUlZfVFBfV3JpdGVSZWcoYWRkcixkYXRhKSAgICAgICAgICAgICAgRFJWX0RCR19Xcml0ZVJlZyhhZGRyLGRhdGEpCisjZGVmaW5lIERSVl9UUF9SZWcoYWRkcikgICAgICAgICAgICAgICAgICAgICAgICBEUlZfREJHX1JlZyhhZGRyKSAgICAgICAgICAgICAgICAgICAgICAKKyNkZWZpbmUgRFJWX1RQX1dyaXRlUmVnMzIoYWRkcixkYXRhKSAgICAgICAgICAgIERSVl9EQkdfV3JpdGVSZWczMihhZGRyLGRhdGEpICAgICAgICAgIAorI2RlZmluZSBEUlZfVFBfUmVnMzIoYWRkcikgICAgICAgICAgICAgICAgICAgICAgRFJWX0RCR19SZWczMihhZGRyKSAgICAgICAgICAgICAgICAgICAgCisjZGVmaW5lIERSVl9UUF9Xcml0ZVJlZzgoYWRkcixkYXRhKSAgICAgICAgICAgICBEUlZfREJHX1dyaXRlUmVnOChhZGRyLGRhdGEpICAgICAgICAgICAKKyNkZWZpbmUgRFJWX1RQX1JlZzgoYWRkcikgICAgICAgICAgICAgICAgICAgICAgIERSVl9EQkdfUmVnOChhZGRyKSAgICAgICAgICAgICAgICAgICAgIAorI2RlZmluZSBEUlZfVFBfQ2xlYXJCaXRzKGFkZHIsZGF0YSkgICAgICAgICAgICAgRFJWX0RCR19DbGVhckJpdHMoYWRkcixkYXRhKSAgICAgICAgICAgCisjZGVmaW5lIERSVl9UUF9TZXRCaXRzKGFkZHIsZGF0YSkgICAgICAgICAgICAgICBEUlZfREJHX1NldEJpdHMoYWRkcixkYXRhKSAgICAgICAgICAgICAKKyNkZWZpbmUgRFJWX1RQX1NldERhdGEoYWRkciwgYml0bWFzaywgdmFsdWUpICAgIERSVl9EQkdfU2V0RGF0YShhZGRyLCBiaXRtYXNrLCB2YWx1ZSkgIAorI2RlZmluZSBEUlZfVFBfQ2xlYXJCaXRzMzIoYWRkcixkYXRhKSAgICAgICAgICAgRFJWX0RCR19DbGVhckJpdHMzMihhZGRyLGRhdGEpICAgICAgICAgCisjZGVmaW5lIERSVl9UUF9TZXRCaXRzMzIoYWRkcixkYXRhKSAgICAgICAgICAgICBEUlZfREJHX1NldEJpdHMzMihhZGRyLGRhdGEpICAgICAgICAgICAKKyNkZWZpbmUgRFJWX1RQX1NldERhdGEzMihhZGRyLCBiaXRtYXNrLCB2YWx1ZSkgIERSVl9EQkdfU2V0RGF0YTMyKGFkZHIsIGJpdG1hc2ssIHZhbHVlKQorI2RlZmluZSBEUlZfVFBfQ2xlYXJCaXRzOChhZGRyLGRhdGEpICAgICAgICAgICAgRFJWX0RCR19DbGVhckJpdHM4KGFkZHIsZGF0YSkgICAgICAgICAgCisjZGVmaW5lIERSVl9UUF9TZXRCaXRzOChhZGRyLGRhdGEpICAgICAgICAgICAgICBEUlZfREJHX1NldEJpdHM4KGFkZHIsZGF0YSkgICAgICAgICAgICAKKyNkZWZpbmUgRFJWX1RQX1NldERhdGE4KGFkZHIsIGJpdG1hc2ssIHZhbHVlKSAgIERSVl9EQkdfU2V0RGF0YTgoYWRkciwgYml0bWFzaywgdmFsdWUpIAorI2Vsc2UKKyNkZWZpbmUgRFJWX1RQX1dyaXRlUmVnKGFkZHIsZGF0YSkgICAgICAgICAgICAgIERSVl9Xcml0ZVJlZyhhZGRyLGRhdGEpCisjZGVmaW5lIERSVl9UUF9SZWcoYWRkcikgICAgICAgICAgICAgICAgICAgICAgICBEUlZfUmVnKGFkZHIpICAgICAgICAgICAgICAgICAgICAgIAorI2RlZmluZSBEUlZfVFBfV3JpdGVSZWczMihhZGRyLGRhdGEpICAgICAgICAgICAgRFJWX1dyaXRlUmVnMzIoYWRkcixkYXRhKSAgICAgICAgICAKKyNkZWZpbmUgRFJWX1RQX1JlZzMyKGFkZHIpICAgICAgICAgICAgICAgICAgICAgIERSVl9SZWczMihhZGRyKSAgICAgICAgICAgICAgICAgICAgCisjZGVmaW5lIERSVl9UUF9Xcml0ZVJlZzgoYWRkcixkYXRhKSAgICAgICAgICAgICBEUlZfV3JpdGVSZWc4KGFkZHIsZGF0YSkgICAgICAgICAgIAorI2RlZmluZSBEUlZfVFBfUmVnOChhZGRyKSAgICAgICAgICAgICAgICAgICAgICAgRFJWX1JlZzgoYWRkcikgICAgICAgICAgICAgICAgICAgICAKKyNkZWZpbmUgRFJWX1RQX0NsZWFyQml0cyhhZGRyLGRhdGEpICAgICAgICAgICAgIERSVl9DbGVhckJpdHMoYWRkcixkYXRhKSAgICAgICAgICAgCisjZGVmaW5lIERSVl9UUF9TZXRCaXRzKGFkZHIsZGF0YSkgICAgICAgICAgICAgICBEUlZfU2V0Qml0cyhhZGRyLGRhdGEpICAgICAgICAgICAgIAorI2RlZmluZSBEUlZfVFBfU2V0RGF0YShhZGRyLCBiaXRtYXNrLCB2YWx1ZSkgICAgRFJWX1NldERhdGEoYWRkciwgYml0bWFzaywgdmFsdWUpICAKKyNkZWZpbmUgRFJWX1RQX0NsZWFyQml0czMyKGFkZHIsZGF0YSkgICAgICAgICAgIERSVl9DbGVhckJpdHMzMihhZGRyLGRhdGEpICAgICAgICAgCisjZGVmaW5lIERSVl9UUF9TZXRCaXRzMzIoYWRkcixkYXRhKSAgICAgICAgICAgICBEUlZfU2V0Qml0czMyKGFkZHIsZGF0YSkgICAgICAgICAgIAorI2RlZmluZSBEUlZfVFBfU2V0RGF0YTMyKGFkZHIsIGJpdG1hc2ssIHZhbHVlKSAgRFJWX1NldERhdGEzMihhZGRyLCBiaXRtYXNrLCB2YWx1ZSkKKyNkZWZpbmUgRFJWX1RQX0NsZWFyQml0czgoYWRkcixkYXRhKSAgICAgICAgICAgIERSVl9DbGVhckJpdHM4KGFkZHIsZGF0YSkgICAgICAgICAgCisjZGVmaW5lIERSVl9UUF9TZXRCaXRzOChhZGRyLGRhdGEpICAgICAgICAgICAgICBEUlZfU2V0Qml0czgoYWRkcixkYXRhKSAgICAgICAgICAgIAorI2RlZmluZSBEUlZfVFBfU2V0RGF0YTgoYWRkciwgYml0bWFzaywgdmFsdWUpICAgRFJWX1NldERhdGE4KGFkZHIsIGJpdG1hc2ssIHZhbHVlKSAKKyNlbmRpZiAvLyNpZiBkZWZpbmVkKF9fRFJWX0NPTU1fUkVHX0RCR19fKSAmJiBkZWZpbmVkKF9fRFJWX1RQX1JFR19EQkdfXykKKworI2Vsc2UgLy8hZGVmaW5lZChEUlZfVFNfT0ZGKQorCisjZGVmaW5lIERSVl9UUF9Xcml0ZVJlZyhhZGRyLGRhdGEpICAgICAgICAgICAgCisjZGVmaW5lIERSVl9UUF9SZWcoYWRkcikgICAgICAgICAgICAgICAgICAgICAgICBkcnZfZHVtbXlfcmV0dXJuKCkKKyNkZWZpbmUgRFJWX1RQX1dyaXRlUmVnMzIoYWRkcixkYXRhKSAgICAgICAgICAKKyNkZWZpbmUgRFJWX1RQX1JlZzMyKGFkZHIpICAgICAgICAgICAgICAgICAgICAgIGRydl9kdW1teV9yZXR1cm4oKQorI2RlZmluZSBEUlZfVFBfV3JpdGVSZWc4KGFkZHIsZGF0YSkgICAgICAgICAgIAorI2RlZmluZSBEUlZfVFBfUmVnOChhZGRyKSAgICAgICAgICAgICAgICAgICAgICAgZHJ2X2R1bW15X3JldHVybigpCisjZGVmaW5lIERSVl9UUF9DbGVhckJpdHMoYWRkcixkYXRhKSAgICAgICAgICAgCisjZGVmaW5lIERSVl9UUF9TZXRCaXRzKGFkZHIsZGF0YSkgICAgICAgICAgICAgCisjZGVmaW5lIERSVl9UUF9TZXREYXRhKGFkZHIsIGJpdG1hc2ssIHZhbHVlKSAgCisjZGVmaW5lIERSVl9UUF9DbGVhckJpdHMzMihhZGRyLGRhdGEpICAgICAgICAgCisjZGVmaW5lIERSVl9UUF9TZXRCaXRzMzIoYWRkcixkYXRhKSAgICAgICAgICAgCisjZGVmaW5lIERSVl9UUF9TZXREYXRhMzIoYWRkciwgYml0bWFzaywgdmFsdWUpCisjZGVmaW5lIERSVl9UUF9DbGVhckJpdHM4KGFkZHIsZGF0YSkgICAgICAgICAgCisjZGVmaW5lIERSVl9UUF9TZXRCaXRzOChhZGRyLGRhdGEpICAgICAgICAgICAgCisjZGVmaW5lIERSVl9UUF9TZXREYXRhOChhZGRyLCBiaXRtYXNrLCB2YWx1ZSkgCisKKyNlbmRpZiAvLyFkZWZpbmVkKERSVl9UU19PRkYpCisKKyNlbmRpZiAvKmRlZmluZWQoRFJWX0FEQ19UT1VDSF9TQ1JFRU4pKi8KKworI2VuZGlmICAgLypUUF9IV19IKi8KKwpkaWZmIC0tZ2l0IGEvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy91YXJ0X2h3LmggYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL3VhcnRfaHcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43OThkZGViCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy91YXJ0X2h3LmgKQEAgLTAsMCArMSw3NDYgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAwNQorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLiAKKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGaWxlbmFtZToKKyAqIC0tLS0tLS0tLQorICogICAgdWFydF9ody5oCisgKgorICogUHJvamVjdDoKKyAqIC0tLS0tLS0tCisgKiAgIE1hdWlfU29mdHdhcmUKKyAqCisgKiBEZXNjcmlwdGlvbjoKKyAqIC0tLS0tLS0tLS0tLQorICogICBUaGlzIGZpbGUgaXMgaW50ZW5kcyBmb3IgVUFSVCBkcml2ZXIuCisgKgorICogQXV0aG9yOgorICogLS0tLS0tLQorICogLS0tLS0tLQorICoKKyAqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICogICAgICAgICAgICAgSElTVE9SWQorICogQmVsb3cgdGhpcyBsaW5lLCB0aGlzIHBhcnQgaXMgY29udHJvbGxlZCBieSBQVkNTIFZNLiBETyBOT1QgTU9ESUZZISEKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogVXBwZXIgdGhpcyBsaW5lLCB0aGlzIHBhcnQgaXMgY29udHJvbGxlZCBieSBQVkNTIFZNLiBETyBOT1QgTU9ESUZZISEKKyAqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIFVBUlRfSFdfSAorI2RlZmluZSBVQVJUX0hXX0gKKy8vI2luY2x1ZGUgImRydl9mZWF0dXJlcy5oIgorLyojZGVmaW5lIFNMRUVQX0RPTlRfQ0FSRV9EQkdfSU5GTyAqLworI2luY2x1ZGUgImRtYV9ody5oIgorI2luY2x1ZGUgImRydl9jb21tLmgiCisjaWYgIWRlZmluZWQoRFJWX1VBUlRfT0ZGKQorLypVQVJUMSBNTVAgYWRkcmVzcywgVUFSVDFfYmFzZSA9IDB4ODAxMzAwMDAsIFVBUlQyX2Jhc2UgPSAweDgwMTgwMDAwLCwgVUFSVDNfYmFzZSA9IDB4ODAxYjAwMDAqLworLyp1c2VkIGluIFRhc2sgb3Igbm9ybWFsIGZ1bmN0aW9uKi8KKyNkZWZpbmUgICBVQVJUX1JCUihfYmFzZWFkZHIpICAgICAgICAgIChfYmFzZWFkZHIrMHgwKQkJLyogUmVhZCBvbmx5ICovCisjZGVmaW5lICAgVUFSVF9USFIoX2Jhc2VhZGRyKSAgICAgICAgICAoX2Jhc2VhZGRyKzB4MCkJCS8qIFdyaXRlIG9ubHkgKi8KKyNkZWZpbmUgICBVQVJUX0lFUihfYmFzZWFkZHIpICAgICAgICAgIChfYmFzZWFkZHIrMHg0KQorI2RlZmluZSAgIFVBUlRfSUlSKF9iYXNlYWRkcikgICAgICAgICAgKF9iYXNlYWRkcisweDgpCQkvKiBSZWFkIG9ubHkgKi8KKyNkZWZpbmUgICBVQVJUX0ZDUihfYmFzZWFkZHIpICAgICAgICAgIChfYmFzZWFkZHIrMHg4KQkJLyogV3JpdGUgb25seSAqLworI2RlZmluZSAgIFVBUlRfTENSKF9iYXNlYWRkcikgICAgICAgICAgKF9iYXNlYWRkcisweGMpCisjZGVmaW5lICAgVUFSVF9NQ1IoX2Jhc2VhZGRyKSAgICAgICAgICAoX2Jhc2VhZGRyKzB4MTApCisjZGVmaW5lICAgVUFSVF9MU1IoX2Jhc2VhZGRyKSAgICAgICAgICAoX2Jhc2VhZGRyKzB4MTQpCisjZGVmaW5lICAgVUFSVF9NU1IoX2Jhc2VhZGRyKSAgICAgICAgICAoX2Jhc2VhZGRyKzB4MTgpCisjZGVmaW5lICAgVUFSVF9TQ1IoX2Jhc2VhZGRyKSAgICAgICAgICAoX2Jhc2VhZGRyKzB4MWMpCisjZGVmaW5lICAgVUFSVF9ETEwoX2Jhc2VhZGRyKSAgICAgICAgICAoX2Jhc2VhZGRyKzB4MCkKKyNkZWZpbmUgICBVQVJUX0RMSChfYmFzZWFkZHIpICAgICAgICAgIChfYmFzZWFkZHIrMHg0KQorI2RlZmluZSAgIFVBUlRfRUZSKF9iYXNlYWRkcikgICAgICAgICAgKF9iYXNlYWRkcisweDgpCQkvKiBPbmx5IHdoZW4gTENSID0gMHhiZiAqLworI2RlZmluZSAgIFVBUlRfWE9OMShfYmFzZWFkZHIpICAgICAgICAgKF9iYXNlYWRkcisweDEwKQkJLyogT25seSB3aGVuIExDUiA9IDB4YmYgKi8KKyNkZWZpbmUgICBVQVJUX1hPTjIoX2Jhc2VhZGRyKSAgICAgICAgIChfYmFzZWFkZHIrMHgxNCkJCS8qIE9ubHkgd2hlbiBMQ1IgPSAweGJmICovCisjZGVmaW5lICAgVUFSVF9YT0ZGMShfYmFzZWFkZHIpICAgICAgICAoX2Jhc2VhZGRyKzB4MTgpCS8qIE9ubHkgd2hlbiBMQ1IgPSAweGJmICovCisjZGVmaW5lICAgVUFSVF9YT0ZGMihfYmFzZWFkZHIpICAgICAgICAoX2Jhc2VhZGRyKzB4MWMpCS8qIE9ubHkgd2hlbiBMQ1IgPSAweGJmICovCisjZGVmaW5lICAgVUFSVF9GUkFDRElWX0woX2Jhc2VhZGRyKSAgICAoX2Jhc2VhZGRyKzB4NTQpCisjZGVmaW5lICAgVUFSVF9GUkFDRElWX00oX2Jhc2VhZGRyKSAgICAoX2Jhc2VhZGRyKzB4NTgpCisKKyNpZiBkZWZpbmVkKERSVl9VQVJUX0ZDUl9SRCkKKyNkZWZpbmUgICBVQVJUX0ZDUl9SRChfYmFzZWFkZHIpICAgIAkJKF9iYXNlYWRkcisweDVDKQkJLyogUmVhZCBvbmx5ICovCisjZW5kaWYKKworI2lmICBkZWZpbmVkKERSVl9VQVJUX1RYX0FDVElWRSkKKyNkZWZpbmUgICBVQVJUX1RYX0FDVElWRV9FTihfYmFzZWFkZHIpICAgIChfYmFzZWFkZHIrMHg1QykJCQorI2VuZGlmCisKKyNpZmRlZiBEUlZfVUFSVF82MjA1Ql9SRUcKKyAgICNkZWZpbmUJVUFSVF9SQVRFX1NURVAoX2Jhc2VhZGRyKQkJICAgKF9iYXNlYWRkcisweDIwKQorICAgI2RlZmluZQlVQVJUX1NURVBfQ09VTlQoX2Jhc2VhZGRyKQkJICAgKF9iYXNlYWRkcisweDI0KQorICAgI2RlZmluZQlVQVJUX1NBTVBMRV9DT1VOVChfYmFzZWFkZHIpICAgICAoX2Jhc2VhZGRyKzB4MjgpCisjZW5kaWYgICAvKkRSVl9VQVJUXzYyMDVCX1JFRyovCisjaWYgMAorI2lmZGVmIE1UNjIxNy8qVFkgYWRkIHRoaXMgMTAvMDEvMjAwNCwqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworI2VuZGlmICAgLypNVDYyMTcqLworI2VuZGlmCisjaWYgZGVmaW5lZChEUlZfVUFSVF9CQVNJQ19SRUcpCisgICAjZGVmaW5lCVVBUlRfQVVUT0JBVURfRU4oX2Jhc2VhZGRyKQkJKF9iYXNlYWRkcisweDIwKQorICAgI2RlZmluZQlVQVJUX1JBVEVfU1RFUChfYmFzZWFkZHIpCQkgICAoX2Jhc2VhZGRyKzB4MjQpCisgICAjZGVmaW5lCVVBUlRfU1RFUF9DT1VOVChfYmFzZWFkZHIpCQkgICAoX2Jhc2VhZGRyKzB4MjgpCisgICAjZGVmaW5lCVVBUlRfU0FNUExFX0NPVU5UKF9iYXNlYWRkcikgICAgIChfYmFzZWFkZHIrMHgyYykKKyAgICNkZWZpbmUJVUFSVF9BVVRPQkFVRF9SRUcoX2Jhc2VhZGRyKSAgICAgKF9iYXNlYWRkcisweDMwKQorICAgI2RlZmluZQlVQVJUX1JBVEVfRklYX1JFRyhfYmFzZWFkZHIpICAgICAoX2Jhc2VhZGRyKzB4MzQpCisgICAjZGVmaW5lCVVBUlRfQVVUT19CQVVEU0FNUExFKF9iYXNlYWRkcikJCShfYmFzZWFkZHIrMHgzOCkKKyAgICNkZWZpbmUJVUFSVF9HVUFSRChfYmFzZWFkZHIpCQkgICAgICAgICAgKF9iYXNlYWRkcisweDNDKQorICAgI2RlZmluZQlVQVJUX0VTQ0FQRV9EQVQoX2Jhc2VhZGRyKQkJICAgKF9iYXNlYWRkcisweDQwKQorICAgI2RlZmluZQlVQVJUX0VTQ0FQRV9FTihfYmFzZWFkZHIpCQkgICAoX2Jhc2VhZGRyKzB4NDQpCisgICAjZGVmaW5lCVVBUlRfU0xFRVBfRU4oX2Jhc2VhZGRyKQkJICAgKF9iYXNlYWRkcisweDQ4KQorI2VuZGlmICAgLypEUlZfVUFSVF9CQVNJQ19SRUcqLworI2lmIGRlZmluZWQoRFJWX1VBUlRfVkZJRk9fRU5fUkVHKQorCSNkZWZpbmUJVUFSVF9SWERNQShfYmFzZWFkZHIpCSAgICAgICAgICAgICAgICAoX2Jhc2VhZGRyKzB4NGMpCisjZW5kaWYKKyNkZWZpbmUgVUFSVF9SWFRSSShfYmFzZWFkZHIpCSAgICAgICAgICAgICAgICAoX2Jhc2VhZGRyKzB4NTApCisKKworLy9JRVIKKyNpZiBkZWZpbmVkKERSVl9VQVJUX0ZJRk9fRkxPV19DT05UUk9MKSAKKyNkZWZpbmUgICBVQVJUX0lFUl9FUkJGSSAgICAgCSAgICAgICAweDAwMDEKKyNkZWZpbmUgICBVQVJUX0lFUl9FVEJFSSAgICAgCSAgICAgICAweDAwMDIKKyNkZWZpbmUgICBVQVJUX0lFUl9FTFNJICAgICAJICAgICAgIDB4MDAwNAorI2RlZmluZSAgIFVBUlRfSUVSX0VEU1NJICAgCSAgICAgICAgIDB4MDAwOAorI2RlZmluZSAgIFVBUlRfSUVSX1ZGRl9GQ19FTiAJICAgICAgIDB4MDAxMAorI2RlZmluZSAgIFVBUlRfSUVSX1hPRkZJICAgIAkgICAgICAgMHgwMDIwCisjZGVmaW5lICAgVUFSVF9JRVJfUlRTSSAgICAJICAgICAgICAgMHgwMDQwCisjZGVmaW5lICAgVUFSVF9JRVJfQ1RTSSAgICAJICAgICAgICAgMHgwMDgwCisKKyNpZmRlZiBEUlZfVUFSVF82MjA4X1JFRworICAgI2RlZmluZSAgIFVBUlQxX0lFUl9IV19OT1JNQUxJTlRTICAgICAgICAgICAgMHgwMDFkCisgICAjZGVmaW5lICAgVUFSVDFfSUVSX0hXX0FMTElOVFMgICAgICAgICAgICAgICAweDAwMWYKKyAgICNkZWZpbmUgICBVQVJUMV9JRVJfU1dfTk9STUFMSU5UUyAgICAJICAgICAgMHgwMDNkCisgICAjZGVmaW5lICAgVUFSVDFfSUVSX1NXX0FMTElOVFMgICAgICAgCSAgICAgIDB4MDAzZgorICAgLypEaXNhYmxlIE1TUiBpbnRlcnJ1cHQqLworICAgI2RlZmluZSAgIFVBUlQyX0lFUl9IV19OT1JNQUxJTlRTICAgICAgICAgICAgMHgwMDE1CisgICAjZGVmaW5lICAgVUFSVDJfSUVSX0hXX0FMTElOVFMgICAgICAgICAgICAgICAweDAwMTcKKyAgICNkZWZpbmUgICBVQVJUMl9JRVJfU1dfTk9STUFMSU5UUyAgICAJICAgICAgMHgwMDM1CisgICAjZGVmaW5lICAgVUFSVDJfSUVSX1NXX0FMTElOVFMgICAgICAgCSAgICAgIDB4MDAzNworI2VuZGlmICAgLypEUlZfVUFSVF82MjA4X1JFRyovCisjaWYgZGVmaW5lZChEUlZfVUFSVF82MjA1X1JFRykgfHwgZGVmaW5lZChEUlZfVUFSVF82MjA1Ql9SRUcpIHx8IGRlZmluZWQoRlBHQSl8fCBkZWZpbmVkKERSVl9VQVJUX0JBU0lDX1JFRykKKyAgICNkZWZpbmUgICBJRVJfSFdfTk9STUFMSU5UUyAgICAgICAgICAgICAgICAgIDB4MDAxZAorICAgI2RlZmluZSAgIElFUl9IV19BTExJTlRTICAgICAgICAgICAgICAgICAgICAgMHgwMDFmCisgICAjZGVmaW5lICAgSUVSX1NXX05PUk1BTElOVFMgICAgCSAgICAgICAgICAgIDB4MDAzZAorICAgI2RlZmluZSAgIElFUl9TV19BTExJTlRTICAgICAgIAkgICAgICAgICAgICAweDAwM2YKKyNlbmRpZiAgIC8qRFJWX1VBUlRfNjIwNV9SRUcsIERSVl9VQVJUXzYyMDVCX1JFRywgRlBHQSwgRFJWX1VBUlRfQkFTSUNfUkVHKi8KKyNkZWZpbmUgICBVQVJUX0lFUl9BTExPRkYJICAgICAgICAgICAgMHgwMDEwIC8vYmVjYXVzZSBvZiBVQVJUX0lFUl9WRkZfRkNfRU4gbm90IG9uZSBvZiBpbnRlcnJ1cHQgbWFza3MKKyNkZWZpbmUgICBVQVJUX0lFUl9WRklGTwkJCSAgICAgMHgwMDExCQorI2Vsc2UgLy8jaWYgZGVmaW5lZChEUlZfVUFSVF9GSUZPX0ZMT1dfQ09OVFJPTCkKKyNkZWZpbmUgICBVQVJUX0lFUl9FUkJGSSAgICAgCSAgICAgICAgIDB4MDAwMQorI2RlZmluZSAgIFVBUlRfSUVSX0VUQkVJICAgICAJICAgICAgICAgMHgwMDAyCisjZGVmaW5lICAgVUFSVF9JRVJfRUxTSSAgICAgCSAgICAgICAgIDB4MDAwNAorI2RlZmluZSAgIFVBUlRfSUVSX0VEU1NJICAgCSAgICAgICAgIDB4MDAwOAorI2RlZmluZSAgIFVBUlRfSUVSX1ZGRl9GQ19FTgkgICAgICAgICAweDAwMTAKKyNkZWZpbmUgICBVQVJUX0lFUl9YT0ZGSSAgICAJICAgICAgICAgMHgwMDIwCisjZGVmaW5lICAgVUFSVF9JRVJfUlRTSSAgICAJICAgICAgICAgMHgwMDQwCisjZGVmaW5lICAgVUFSVF9JRVJfQ1RTSSAgICAJICAgICAgICAgMHgwMDgwCisKKyNpZmRlZiBEUlZfVUFSVF82MjA4X1JFRworICAgI2RlZmluZSAgIFVBUlQxX0lFUl9IV19OT1JNQUxJTlRTICAgICAgICAgICAgMHgwMDBkCisgICAjZGVmaW5lICAgVUFSVDFfSUVSX0hXX0FMTElOVFMgICAgICAgICAgICAgICAweDAwMGYKKyAgICNkZWZpbmUgICBVQVJUMV9JRVJfU1dfTk9STUFMSU5UUyAgICAJICAgICAgMHgwMDJkCisgICAjZGVmaW5lICAgVUFSVDFfSUVSX1NXX0FMTElOVFMgICAgICAgCSAgICAgIDB4MDAyZgorICAgLypEaXNhYmxlIE1TUiBpbnRlcnJ1cHQqLworICAgI2RlZmluZSAgIFVBUlQyX0lFUl9IV19OT1JNQUxJTlRTICAgICAgICAgICAgMHgwMDA1CisgICAjZGVmaW5lICAgVUFSVDJfSUVSX0hXX0FMTElOVFMgICAgICAgICAgICAgICAweDAwMDcKKyAgICNkZWZpbmUgICBVQVJUMl9JRVJfU1dfTk9STUFMSU5UUyAgICAJICAgICAgMHgwMDI1CisgICAjZGVmaW5lICAgVUFSVDJfSUVSX1NXX0FMTElOVFMgICAgICAgCSAgICAgIDB4MDAyNworI2VuZGlmICAgLypEUlZfVUFSVF82MjA4X1JFRyovCisjaWYgZGVmaW5lZChEUlZfVUFSVF82MjA1X1JFRykgfHwgZGVmaW5lZChEUlZfVUFSVF82MjA1Ql9SRUcpIHx8IGRlZmluZWQoRlBHQSl8fCBkZWZpbmVkKERSVl9VQVJUX0JBU0lDX1JFRykKKyAgICNkZWZpbmUgICBJRVJfSFdfTk9STUFMSU5UUyAgICAgICAgICAgICAgICAgIDB4MDAwZAorICAgI2RlZmluZSAgIElFUl9IV19BTExJTlRTICAgICAgICAgICAgICAgICAgICAgMHgwMDBmCisgICAjZGVmaW5lICAgSUVSX1NXX05PUk1BTElOVFMgICAgCSAgICAgICAgICAgIDB4MDAyZAorICAgI2RlZmluZSAgIElFUl9TV19BTExJTlRTICAgICAgIAkgICAgICAgICAgICAweDAwMmYKKyNlbmRpZiAgIC8qRFJWX1VBUlRfNjIwNV9SRUcsIERSVl9VQVJUXzYyMDVCX1JFRywgRlBHQSwgRFJWX1VBUlRfQkFTSUNfUkVHKi8KKworI2RlZmluZSAgIFVBUlRfSUVSX0FMTE9GRgkgICAgICAgICAgICAweDAwMDAKKyNkZWZpbmUgICBVQVJUX0lFUl9WRklGTwkJCSAgICAgMHgwMDAxCQorI2VuZGlmIC8vI2lmIGRlZmluZWQoRFJWX1VBUlRfRklGT19GTE9XX0NPTlRST0wpCisKKworCisKKworCisjaWYgZGVmaW5lZChEUlZfVUFSVF82MjA1Ql9SRUcpIHx8IGRlZmluZWQoRFJWX1VBUlRfQkFTSUNfUkVHKQorICAgI2RlZmluZQlVQVJUX1JBVEVfU1RFUF8xNgkJICAgMHgwMDAwICAgLyogYmF1ZCA9IGNsb2NrL1VBUlRfUkFURV9TVEVQL2Rpdmlzb3IgKi8KKyAgICNkZWZpbmUJVUFSVF9SQVRFX1NURVBfOAkJICAgMHgwMDAxCisgICAjZGVmaW5lCVVBUlRfUkFURV9TVEVQXzQgICAgICAgIDB4MDAwMgorICAgI2RlZmluZQlVQVJUX1JBVEVfU1RFUF9DT1VOVCAgICAweDAwMDMgICAvKiBiYXVkID0gY2xvY2svVUFSVF9SQVRFX1NURVBfQ09VTlQgKi8KKyAgICNkZWZpbmUgIFVBUlRfU1RFUF9DT1VOVF9NQVNLICAgIDB4MDBmZgorICAgI2RlZmluZSAgVUFSVF9TQU1QTEVfQ09VTlRfTUFTSyAgMHgwMGZmCisjZW5kaWYgICAvKkRSVl9VQVJUXzYyMDVCX1JFRywgRFJWX1VBUlRfQkFTSUNfUkVHKi8KKworLy9GQ1IKKyNkZWZpbmUgICBVQVJUX0ZDUl9GSUZPRU4gICAgICAgICAgICAgIDB4MDAwMQorI2RlZmluZSAgIFVBUlRfRkNSX0NMUlIgICAgCSAgICAgICAgIDB4MDAwMgorI2RlZmluZSAgIFVBUlRfRkNSX0NMUlQgICAgCSAgICAgICAgIDB4MDAwNAorI2RlZmluZSAgIFVBUlRfRkNSX0ZJRk9JTkkJICAgICAgICAgICAgMHgwMDA3CisjZGVmaW5lICAgVUFSVF9GQ1JfUlgxQnl0ZV9MZXZlbCAgICAJMHgwMDAwCisjZGVmaW5lICAgVUFSVF9GQ1JfUlgxNkJ5dGVfTGV2ZWwgICAgCTB4MDA0MAorI2RlZmluZSAgIFVBUlRfRkNSX1JYMzJCeXRlX0xldmVsICAgIAkweDAwODAKKyNkZWZpbmUgICBVQVJUX0ZDUl9SWDYyQnl0ZV9MZXZlbCAgICAJMHgwMGMwCisKKyNkZWZpbmUgICBVQVJUX0ZDUl9UWDFCeXRlX0xldmVsICAgIAkweDAwMDAKKyNkZWZpbmUgICBVQVJUX0ZDUl9UWDE2Qnl0ZV9MZXZlbCAgICAJMHgwMDEwCisjZGVmaW5lICAgVUFSVF9GQ1JfVFgzMkJ5dGVfTGV2ZWwgICAgCTB4MDAyMAorI2RlZmluZSAgIFVBUlRfRkNSX1RYNjJCeXRlX0xldmVsICAgIAkweDAwMzAKKyNpZiAoIChkZWZpbmVkKFNMRUVQX0RPTlRfQ0FSRV9EQkdfSU5GTykpIHx8ICghZGVmaW5lZChfX01US19JTlRFUk5BTF9fKSkgKQorICAgI2lmIGRlZmluZWQoRFJWX1VBUlRfNjIwNV9SRUcpIHx8IGRlZmluZWQoRlBHQSkKKwkgICAjZGVmaW5lICAgVUFSVF9GQ1JfTm9ybWFsCQkoVUFSVF9GQ1JfVFgxQnl0ZV9MZXZlbCB8IFVBUlRfRkNSX1JYMUJ5dGVfTGV2ZWwgfCBVQVJUX0ZDUl9GSUZPSU5JKQorCSAgICNkZWZpbmUgICBVQVJUX0ZDUl9SWF9Ob3JtYWwJCShVQVJUX0ZDUl9SWDFCeXRlX0xldmVsIHwgVUFSVF9GQ1JfRklGT0lOSSkgLy9WRklGTyBzaW5nbGUgY2hhbm5lbAorCSAgICNkZWZpbmUgICBVQVJUX0ZDUl9UWF9Ob3JtYWwJCShVQVJUX0ZDUl9UWDFCeXRlX0xldmVsIHwgVUFSVF9GQ1JfRklGT0lOSSkgLy9WRklGTyBzaW5nbGUgY2hhbm5lbAorCSAgICNkZWZpbmUgICBVQVJUMV9UeEZJRk9fREVQVEgJCSAgICAgICAgIDE2CisgICAgICAjZGVmaW5lICAgVUFSVDFfUnhGSUZPX0RFUFRICQkgICAgICAgICAxNgorICAgICAgI2RlZmluZSAgIFVBUlQyX1R4RklGT19ERVBUSAkJICAgICAgICAgNAorICAgICAgI2RlZmluZSAgIFVBUlQyX1J4RklGT19ERVBUSAkJICAgICAgICAgMTYKKyAgICNlbmRpZiAgIC8qRFJWX1VBUlRfNjIwNUJfUkVHLEZQR0EqLworICAgCisgICAjaWYgZGVmaW5lZChEUlZfVUFSVF9CQVNJQ19SRUcpCisgICAgICAjZGVmaW5lICAgVUFSVF9GQ1JfTm9ybWFsCQkoVUFSVF9GQ1JfVFgxQnl0ZV9MZXZlbCB8IFVBUlRfRkNSX1JYMTZCeXRlX0xldmVsIHwgVUFSVF9GQ1JfRklGT0lOSSkKKyAgICAgICNkZWZpbmUgICBVQVJUX0ZDUl9SWF9Ob3JtYWwJCShVQVJUX0ZDUl9SWDE2Qnl0ZV9MZXZlbCB8IFVBUlRfRkNSX0ZJRk9JTkkpIC8vVkZJRk8gc2luZ2xlIGNoYW5uZWwKKyAgICAgICNkZWZpbmUgICBVQVJUX0ZDUl9UWF9Ob3JtYWwJCShVQVJUX0ZDUl9UWDFCeXRlX0xldmVsICAgfCBVQVJUX0ZDUl9GSUZPSU5JKSAvL1ZGSUZPIHNpbmdsZSBjaGFubmVsCisJICAgI2RlZmluZSAgIFVBUlQxX1R4RklGT19ERVBUSAkJICAgICAgICAgMTYKKyAgICAgICNkZWZpbmUgICBVQVJUMV9SeEZJRk9fREVQVEgJCSAgICAgICAgIDI0CisgICAgICAjZGVmaW5lICAgVUFSVDJfVHhGSUZPX0RFUFRICQkgICAgICAgICA0CisgICAgICAjZGVmaW5lICAgVUFSVDJfUnhGSUZPX0RFUFRICQkgICAgICAgICAyNAorICAgI2lmIGRlZmluZWQoRFJWX1VBUlRfRklGT19GTE9XX0NPTlRST0wpIC8vVXNlIGxhcmdlciBzaXplIG9mIFJYIEZJRk8sIGJlY2F1c2UgaXQgY2FuIHRyaWdnZXIgZmxvdyBjb250cm9sCisgICAgICAjZGVmaW5lCSBVQVJUX1ZGSUZPX0RFUFRICQkJCQkJKFVBUlRfRkNSX0ZJRk9JTkkgfCBVQVJUX0ZDUl9SWDE2Qnl0ZV9MZXZlbCkKKyAgICNlbHNlCisgICAgICAjZGVmaW5lCSBVQVJUX1ZGSUZPX0RFUFRICQkJCQkJNworICAgI2VuZGlmICAgICAgCisgICAjZW5kaWYgICAvKkRSVl9VQVJUX0JBU0lDX1JFRyovCisgICAKKyAgICNpZmRlZiBEUlZfVUFSVF82MjA1Ql9SRUcKKyAgICAgICNkZWZpbmUgICBVQVJUX0ZDUl9Ob3JtYWwJCShVQVJUX0ZDUl9UWDFCeXRlX0xldmVsIHwgVUFSVF9GQ1JfUlgxNkJ5dGVfTGV2ZWwgfCBVQVJUX0ZDUl9GSUZPSU5JKQorICAgICAgI2RlZmluZSAgIFVBUlRfRkNSX1JYX05vcm1hbAkJKFVBUlRfRkNSX1JYMTZCeXRlX0xldmVsIHwgVUFSVF9GQ1JfRklGT0lOSSkgLy9WRklGTyBzaW5nbGUgY2hhbm5lbAorICAgICAgI2RlZmluZSAgIFVBUlRfRkNSX1RYX05vcm1hbAkJKFVBUlRfRkNSX1RYMUJ5dGVfTGV2ZWwgICB8IFVBUlRfRkNSX0ZJRk9JTkkpIC8vVkZJRk8gc2luZ2xlIGNoYW5uZWwKKwkgICAjZGVmaW5lICAgVUFSVDFfVHhGSUZPX0RFUFRICQkgICAgICAgICAxNgorICAgICAgI2RlZmluZSAgIFVBUlQxX1J4RklGT19ERVBUSAkJICAgICAgICAgMjQKKyAgICAgICNkZWZpbmUgICBVQVJUMl9UeEZJRk9fREVQVEgJCSAgICAgICAgIDQKKyAgICAgICNkZWZpbmUgICBVQVJUMl9SeEZJRk9fREVQVEgJCSAgICAgICAgIDI0CisgICAjZW5kaWYgICAvKkRSVl9VQVJUXzYyMDVCX1JFRyovCisgICAKKyAgICNpZmRlZiBEUlZfVUFSVF82MjA4X1JFRworCSAgICNkZWZpbmUgICBVQVJUX0ZDUl9Ob3JtYWwJCShVQVJUX0ZDUl9UWDFCeXRlX0xldmVsIHwgVUFSVF9GQ1JfUlgzMkJ5dGVfTGV2ZWwgfCBVQVJUX0ZDUl9GSUZPSU5JKQorICAgICAgI2RlZmluZSAgIFVBUlRfRkNSX1JYX05vcm1hbAkJKFVBUlRfRkNSX1JYMzJCeXRlX0xldmVsIHwgVUFSVF9GQ1JfRklGT0lOSSkgLy9WRklGTyBzaW5nbGUgY2hhbm5lbAorICAgICAgI2RlZmluZSAgIFVBUlRfRkNSX1RYX05vcm1hbAkJKFVBUlRfRkNSX1RYMUJ5dGVfTGV2ZWwgICB8IFVBUlRfRkNSX0ZJRk9JTkkpIC8vVkZJRk8gc2luZ2xlIGNoYW5uZWwKKwkgICAjZGVmaW5lICAgVUFSVF9UeEZJRk9fREVQVEgJCSAgICAgICAgIDY0CisgICAgICAjZGVmaW5lICAgVUFSVF9SeEZJRk9fREVQVEgJCSAgICAgICAgIDMyCisgICAjZW5kaWYgLypEUlZfVUFSVF82MjA4X1JFRyovCisjZWxzZQkvKiFTTEVFUF9ET05UX0NBUkVfREJHX0lORk8qLworICAgI2lmIGRlZmluZWQoRFJWX1VBUlRfNjIwNV9SRUcpIHx8IGRlZmluZWQoRlBHQSkKKwkgICAjZGVmaW5lICAgVUFSVF9GQ1JfTm9ybWFsCQkoVUFSVF9GQ1JfVFgxQnl0ZV9MZXZlbCB8IFVBUlRfRkNSX1JYMUJ5dGVfTGV2ZWwgfCBVQVJUX0ZDUl9GSUZPSU5JKQorICAgICAgI2RlZmluZSAgIFVBUlRfRkNSX1JYX05vcm1hbAkJKFVBUlRfRkNSX1JYMUJ5dGVfTGV2ZWwgfCBVQVJUX0ZDUl9GSUZPSU5JKSAvL1ZGSUZPIHNpbmdsZSBjaGFubmVsCisgICAgICAjZGVmaW5lICAgVUFSVF9GQ1JfVFhfTm9ybWFsCQkoVUFSVF9GQ1JfVFgxQnl0ZV9MZXZlbCAgIHwgVUFSVF9GQ1JfRklGT0lOSSkgLy9WRklGTyBzaW5nbGUgY2hhbm5lbAorCSAgICNkZWZpbmUgICBVQVJUMV9UeEZJRk9fREVQVEgJCSAgICAgICAgIDE2CisgICAgICAjZGVmaW5lICAgVUFSVDFfUnhGSUZPX0RFUFRICQkgICAgICAgICAxNgorICAgICAgI2RlZmluZSAgIFVBUlQyX1R4RklGT19ERVBUSAkJICAgICAgICAgNAorICAgICAgI2RlZmluZSAgIFVBUlQyX1J4RklGT19ERVBUSAkJICAgICAgICAgMTYKKyAgICNlbmRpZiAgIC8qRFJWX1VBUlRfNjIwNV9SRUcsRlBHQSovCisgICAKKyAgICNpZiBkZWZpbmVkKERSVl9VQVJUX0JBU0lDX1JFRykKKyAgICAgICNkZWZpbmUgICBVQVJUX0ZDUl9Ob3JtYWwJCShVQVJUX0ZDUl9UWDFCeXRlX0xldmVsIHwgVUFSVF9GQ1JfUlgxNkJ5dGVfTGV2ZWwgfCBVQVJUX0ZDUl9GSUZPSU5JKQorICAgICAgI2RlZmluZSAgIFVBUlRfRkNSX1JYX05vcm1hbAkJKFVBUlRfRkNSX1JYMTZCeXRlX0xldmVsIHwgVUFSVF9GQ1JfRklGT0lOSSkgLy9WRklGTyBzaW5nbGUgY2hhbm5lbAorICAgICAgI2RlZmluZSAgIFVBUlRfRkNSX1RYX05vcm1hbAkJKFVBUlRfRkNSX1RYMUJ5dGVfTGV2ZWwgICB8IFVBUlRfRkNSX0ZJRk9JTkkpIC8vVkZJRk8gc2luZ2xlIGNoYW5uZWwKKwkgICAjZGVmaW5lICAgVUFSVDFfVHhGSUZPX0RFUFRICQkgICAgICAgICAxNgorICAgICAgI2RlZmluZSAgIFVBUlQxX1J4RklGT19ERVBUSAkJICAgICAgICAgMjQKKyAgICAgICNkZWZpbmUgICBVQVJUMl9UeEZJRk9fREVQVEgJCSAgICAgICAgIDQKKyAgICAgICNkZWZpbmUgICBVQVJUMl9SeEZJRk9fREVQVEgJCSAgICAgICAgIDI0CisgICAjaWYgZGVmaW5lZChEUlZfVUFSVF9GSUZPX0ZMT1dfQ09OVFJPTCkgLy9Vc2UgbGFyZ2VyIHNpemUgb2YgUlggRklGTywgYmVjYXVzZSBpdCBjYW4gdHJpZ2dlciBmbG93IGNvbnRyb2wKKyAgICAgICNkZWZpbmUJIFVBUlRfVkZJRk9fREVQVEgJCQkJCQkoVUFSVF9GQ1JfRklGT0lOSSB8IFVBUlRfRkNSX1JYMTZCeXRlX0xldmVsKQorICAgI2Vsc2UKKyAgICAgICNkZWZpbmUJIFVBUlRfVkZJRk9fREVQVEgJCQkJCQk3CisgICAjZW5kaWYKKyAgICNlbmRpZiAgIC8qRFJWX1VBUlRfQkFTSUNfUkVHKi8KKyAgIAorICAgI2lmZGVmIERSVl9VQVJUXzYyMDVCX1JFRworCSAgICNkZWZpbmUgICBVQVJUX0ZDUl9Ob3JtYWwJCShVQVJUX0ZDUl9UWDFCeXRlX0xldmVsIHwgVUFSVF9GQ1JfUlgxNkJ5dGVfTGV2ZWwgfCBVQVJUX0ZDUl9GSUZPSU5JKQorICAgICAgI2RlZmluZSAgIFVBUlRfRkNSX1JYX05vcm1hbAkJKFVBUlRfRkNSX1JYMTZCeXRlX0xldmVsIHwgVUFSVF9GQ1JfRklGT0lOSSkgLy9WRklGTyBzaW5nbGUgY2hhbm5lbAorICAgICAgI2RlZmluZSAgIFVBUlRfRkNSX1RYX05vcm1hbAkJKFVBUlRfRkNSX1RYMUJ5dGVfTGV2ZWwgICB8IFVBUlRfRkNSX0ZJRk9JTkkpIC8vVkZJRk8gc2luZ2xlIGNoYW5uZWwKKwkgICAjZGVmaW5lICAgVUFSVDFfVHhGSUZPX0RFUFRICQkgICAgICAgICAxNgorICAgICAgI2RlZmluZSAgIFVBUlQxX1J4RklGT19ERVBUSAkJICAgICAgICAgMjQKKyAgICAgICNkZWZpbmUgICBVQVJUMl9UeEZJRk9fREVQVEgJCSAgICAgICAgIDQKKyAgICAgICNkZWZpbmUgICBVQVJUMl9SeEZJRk9fREVQVEgJCSAgICAgICAgIDI0CisgICAjZW5kaWYgICAvKkRSVl9VQVJUXzYyMDVCX1JFRyovCisgICAKKyAgICNpZmRlZiBEUlZfVUFSVF82MjA4X1JFRworCSAgICNkZWZpbmUgICBVQVJUX0ZDUl9Ob3JtYWwJCShVQVJUX0ZDUl9UWDFCeXRlX0xldmVsIHwgVUFSVF9GQ1JfUlgzMkJ5dGVfTGV2ZWwgfCBVQVJUX0ZDUl9GSUZPSU5JKQorICAgICAgI2RlZmluZSAgIFVBUlRfRkNSX1JYX05vcm1hbAkJKFVBUlRfRkNSX1JYMzJCeXRlX0xldmVsIHwgVUFSVF9GQ1JfRklGT0lOSSkgLy9WRklGTyBzaW5nbGUgY2hhbm5lbAorICAgICAgI2RlZmluZSAgIFVBUlRfRkNSX1RYX05vcm1hbAkJKFVBUlRfRkNSX1RYMUJ5dGVfTGV2ZWwgICB8IFVBUlRfRkNSX0ZJRk9JTkkpIC8vVkZJRk8gc2luZ2xlIGNoYW5uZWwKKwkgICAjZGVmaW5lICAgVUFSVF9UeEZJRk9fREVQVEgJCSAgICAgICAgIDY0CisgICAgICAjZGVmaW5lICAgVUFSVF9SeEZJRk9fREVQVEgJCSAgICAgICAgIDMyCisgICAjZW5kaWYgLypEUlZfVUFSVF82MjA4X1JFRyovCisjZW5kaWYJLypTTEVFUF9ET05UX0NBUkVfREJHX0lORk8qLworCisvL0lJUixSTworI2RlZmluZSAgIFVBUlRfSUlSX0lOVF9JTlZBTElEICAgICAgCSAgIDB4MDAwMQorI2RlZmluZSAgIFVBUlRfSUlSX1JMUyAgICAgICAgICAJICAgICAgICAgMHgwMDA2ICAvLyBSZWNlaXZlciBMaW5lIFN0YXR1cworI2RlZmluZSAgIFVBUlRfSUlSX1JEQSAgICAgICAgICAJICAgICAgICAgMHgwMDA0ICAvLyBSZWNlaXZlIERhdGEgQXZhaWxhYmxlCisjZGVmaW5lICAgVUFSVF9JSVJfQ1RJICAgICAgICAgIAkgICAgICAgICAweDAwMEMgIC8vIENoYXJhY3RlciBUaW1lb3V0IEluZGljYXRvcgorI2RlZmluZSAgIFVBUlRfSUlSX1RIUkUgICAgICAgICAJICAgICAgICAgMHgwMDAyICAvLyBUcmFuc21pdCBIb2xkaW5nIFJlZ2lzdGVyIEVtcHR5CisjZGVmaW5lICAgVUFSVF9JSVJfTVMgICAgICAgICAgIAkgICAgICAgICAweDAwMDAgIC8vIENoZWNrIE1vZGVtIFN0YXR1cyBSZWdpc3RlcgorI2RlZmluZSAgIFVBUlRfSUlSX1NXRmxvd0N0cmwgICAgICAgICAgICAgMHgwMDEwICAvLyBSZWNlaXZlIFhPRkYgY2hhcmFjdGVycworI2RlZmluZSAgIFVBUlRfSUlSX0hXRmxvd0N0cmwgICAgICAgICAgCTB4MDAyMCAgLy8gQ1RTIG9yIFJUUyBSaXNpbmcgRWRnZQorI2RlZmluZSAgIFVBUlRfSUlSX0ZJRk9TX0VOQUJMRUQgICAgCSAgIDB4MDBjMAorI2RlZmluZSAgIFVBUlRfSUlSX05PX0lOVEVSUlVQVF9QRU5ESU5HICAgMHgwMDAxCisjZGVmaW5lICAgVUFSVF9JSVJfSU5UX01BU0sgICAgICAgICAJICAgMHgwMDFmCisKKy8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PUxDUj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisvL1dMUworI2RlZmluZSAgIFVBUlRfV0xTXzggICAgICAgICAgICAgICAgICAgICAgMHgwMDAzCisjZGVmaW5lICAgVUFSVF9XTFNfNyAgICAgICAgICAgICAgICAgICAgICAweDAwMDIKKyNkZWZpbmUgICBVQVJUX1dMU182ICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMQorI2RlZmluZSAgIFVBUlRfV0xTXzUgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwCisjZGVmaW5lICAgVUFSVF9EQVRBX01BU0sgICAgICAgICAgICAgICAgICAweDAwMDMKKworLy9QYXJpdHkKKyNkZWZpbmUgICBVQVJUX05PTkVfUEFSSVRZICAgICAgICAgICAgICAgIDB4MDAwMAorI2RlZmluZSAgIFVBUlRfT0REX1BBUklUWSAgICAgICAgICAgICAgICAgMHgwMDA4CisjZGVmaW5lICAgVUFSVF9FVkVOX1BBUklUWSAgICAgICAgICAgICAgICAweDAwMTgKKyNkZWZpbmUgICBVQVJUX01BUktfUEFSSVRZICAgICAgICAgICAgICAgIDB4MDAyOAorI2RlZmluZSAgIFVBUlRfU1BBQ0VfUEFSSVRZICAgICAgICAgICAgICAgMHgwMDM4CisjZGVmaW5lICAgVUFSVF9QQVJJVFlfTUFTSyAgICAgICAgICAgICAgICAweDAwMzgKKworLy9TdG9wIGJpdHMKKyNkZWZpbmUgICBVQVJUXzFfU1RPUCAgICAgICAgICAgICAgICAgICAgIDB4MDAwMAorI2RlZmluZSAgIFVBUlRfMV81X1NUT1AgICAgICAgICAgICAgICAgICAgMHgwMDA0ICAvLyBPbmx5IHZhbGlkIGZvciA1IGRhdGEgYml0cworI2RlZmluZSAgIFVBUlRfMl9TVE9QICAgICAgICAgICAgICAgICAgICAgMHgwMDA0CisjZGVmaW5lICAgVUFSVF9TVE9QX01BU0sgICAgICAgICAgICAgICAgICAweDAwMDQKKworI2RlZmluZSAgIFVBUlRfTENSX0RMQUIgICAgICAgICAgICAgICAgICAgMHgwMDgwCisjZGVmaW5lICAgVUFSVF9MQ1JfQlJFQUsgICAgICAgICAgICAgICAgICAweDAwNDAKKy8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PUxDUj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKKy8vTUNSCisjZGVmaW5lICAgVUFSVF9NQ1JfRFRSICAgIAkgICAgICAgICAgICAgICAweDAwMDEKKyNkZWZpbmUgICBVQVJUX01DUl9SVFMgICAgCSAgICAgICAgICAgICAgIDB4MDAwMgorI2RlZmluZSAgIFVBUlRfTUNSX0xPT1BCICAgIAkgICAgICAgICAgICAweDAwMTAKKyNkZWZpbmUgICBVQVJUX01DUl9JUkUJCSAgICAgICAgICAgICAgIDB4MDA0MAkvL0VuYWJsZSBJckRBIG1vZHVsYXRpb24vZGVtb2R1bGF0aW9uCisjZGVmaW5lICAgVUFSVF9NQ1JfWE9GRiAgICAgICAgICAgICAgICAgICAweDAwODAKKyNkZWZpbmUgICBVQVJUX01DUl9Ob3JtYWwJICAgICAgICAgICAgICAgKFVBUlRfTUNSX0RUUiB8IFVBUlRfTUNSX1JUUykKKyNkZWZpbmUgICBVQVJUX01DUl9EQ01fRU4gICAgICAgICAgICAgICAgMHgwMDIwCisKKworLy9MU1IKKyNkZWZpbmUgICBVQVJUX0xTUl9EUiAgICAgICAgIAkgICAgICAgICAweDAwMDEKKyNkZWZpbmUgICBVQVJUX0xTUl9PRSAgICAgICAgIAkgICAgICAgICAweDAwMDIKKyNkZWZpbmUgICBVQVJUX0xTUl9QRSAgICAgICAgIAkgICAgICAgICAweDAwMDQKKyNkZWZpbmUgICBVQVJUX0xTUl9GRSAgICAgICAgIAkgICAgICAgICAweDAwMDgKKyNkZWZpbmUgICBVQVJUX0xTUl9CSSAgICAgICAgIAkgICAgICAgICAweDAwMTAKKyNkZWZpbmUgICBVQVJUX0xTUl9USFJFICAgICAJICAgICAgICAgICAgMHgwMDIwCisjZGVmaW5lICAgVUFSVF9MU1JfVEVNVCAgICAgICAJICAgICAgICAgMHgwMDQwCisjZGVmaW5lICAgVUFSVF9MU1JfRklGT0VSUiAgICAJICAgICAgICAgMHgwMDgwCisKKy8vTVNSCisjZGVmaW5lICAgVUFSVF9NU1JfRENUUyAgICAgICAgICAgICAgICAgICAweDAwMDEKKyNkZWZpbmUgICBVQVJUX01TUl9ERFNSICAgICAgICAgICAgICAgICAgIDB4MDAwMgorI2RlZmluZSAgIFVBUlRfTVNSX1RFUkkgICAgICAgICAgICAgICAgICAgMHgwMDA0CisjZGVmaW5lICAgVUFSVF9NU1JfRERDRCAgICAgICAgICAgICAgICAgICAweDAwMDgKKyNkZWZpbmUgICBVQVJUX01TUl9DVFMgICAgICAgICAgICAgICAgICAgIDB4MDAxMAorI2RlZmluZSAgIFVBUlRfTVNSX0RTUiAgICAgICAgICAgICAgICAgICAgMHgwMDIwCisjZGVmaW5lICAgVUFSVF9NU1JfUkkgICAgICAgICAgICAgICAgICAgICAweDAwNDAKKyNkZWZpbmUgICBVQVJUX01TUl9EQ0QgICAgICAgICAgICAgICAgICAgIDB4MDA4MAorCisvL0RMTAorLy9ETE0KKy8vRUZSCisjZGVmaW5lICAgVUFSVF9FRlJfQXV0b0NUUyAgICAgICAJICAgICAgMHgwMDgwCisjZGVmaW5lICAgVUFSVF9FRlJfQXV0b1JUUyAgICAgICAJICAgICAgMHgwMDQwCisjZGVmaW5lICAgVUFSVF9FRlJfRW5jaGFuY2UgICAgICAJICAgICAgMHgwMDEwCisjZGVmaW5lICAgVUFSVF9FRlJfU1dDdHJsTWFzayAgICAJICAgICAgMHgwMDBmCisjZGVmaW5lICAgVUFSVF9FRlJfTm9TV0Zsb3dDdHJsICAgCSAgICAgIDB4MDAwMAorI2RlZmluZSAgIFVBUlRfRUZSX0FMTE9GRgkJICAgICAgICAgICAgMHgwMDAwCisjZGVmaW5lICAgVUFSVF9FRlJfQXV0b1JUU0NUUyAgICAgICAJICAgMHgwMGMwCisKKyNpZiBkZWZpbmVkKERSVl9VQVJUX0ZJRk9fRkxPV19DT05UUk9MKSAvL2FkZCAweDEwIFJYIEZJRk8gZmxvdyBjb250cm9sIGluIGFsbCB2YWx1ZXMuCisvL1R4L1J4IFhPTjEvWG9mZjEgYXMgZmxvdyBjb250cm9sIHdvcmQKKyNkZWZpbmUgICBVQVJUX0VGUl9TV0Zsb3dDdHJsWDEgICAJICAgICAgMHgwMDFhCQorLy9UeC9SeCBYT04yL1hvZmYyIGFzIGZsb3cgY29udHJvbCB3b3JkCisjZGVmaW5lICAgVUFSVF9FRlJfU1dGbG93Q3RybFgyICAgCSAgICAgIDB4MDAxNQorLy9UeC9SeCBYT04xJlhPTjIvWG9mZjEmWG9mZjIgYXMgZmxvdyBjb250cm9sIHdvcmQKKyNkZWZpbmUgICBVQVJUX0VGUl9TV0Zsb3dDdHJsWEFsbCAgIAkgICAweDAwMWYKKyNlbHNlIC8vI2lmIGRlZmluZWQoRFJWX1VBUlRfRklGT19GTE9XX0NPTlRST0wpCisjZGVmaW5lICAgVUFSVF9FRlJfU1dGbG93Q3RybFgxICAgCSAgICAgIDB4MDAwYQorI2RlZmluZSAgIFVBUlRfRUZSX1NXRmxvd0N0cmxYMiAgIAkgICAgICAweDAwMDUKKyNkZWZpbmUgICBVQVJUX0VGUl9TV0Zsb3dDdHJsWEFsbCAgIAkgICAweDAwMGYKKyNlbmRpZi8vI2lmIGRlZmluZWQoRFJWX1VBUlRfRklGT19GTE9XX0NPTlRST0wpCisKKy8qQXV0b0JhdWQqLworI2lmIGRlZmluZWQoRFJWX1VBUlRfQkFTSUNfUkVHKQorI2RlZmluZSAgIEFVVE9CQVVEX0VOICAgICAgICAgIDB4MQorI2RlZmluZSAgIEFVVE9CQVVEU0FNUExFXzEzTSAgIDB4NgorI2RlZmluZSAgIEFVVE9CQVVEU0FNUExFXzI2TSAgIDB4ZCAKKyNkZWZpbmUgICBBVVRPQkFVRFNBTVBMRV81Mk0gICAweDFiIAorI2RlZmluZSAgIEFVVE9CQVVEU0FNUExFXzE1XzM2TSAgIDB4NworI2RlZmluZSAgIEFVVE9CQVVEU0FNUExFXzMwXzcyTSAgIDB4ZgorI2RlZmluZSAgIEFVVE9CQVVEU0FNUExFXzYxXzQ0TSAgIDB4MWYKKyNlbmRpZiAgIC8qTURSVl9VQVJUX0JBU0lDX1JFRyovCisKKyNpZiBkZWZpbmVkKERSVl9VQVJUX1ZGSUZPX0VOX1JFRykKKwkjaWYgZGVmaW5lZChEUlZfVUFSVF9ETUFfRVhURU5EKQorI2RlZmluZSBVQVJUX1JYX0RNQV9FTgkJCQkJCQkJMHgwMDAxCisjZGVmaW5lIFVBUlRfVFhfRE1BX0VOCQkJCQkJCQkweDAwMDIKKyNkZWZpbmUgVUFSVF9UT19DTlRfQVVUT1JTVAkJCQkJCTB4MDAwNAorI2lmIGRlZmluZWQoRFJWX1VBUlRfRE1BX0lOVEVSTkFMX0JVRkZFUl9XT1JLQVJPVU5EKSB8fCBkZWZpbmVkKCBEUlZfVUFSVF9ORVdfVUFSVF9BTkRfT0xHX0RNQSApCisjZGVmaW5lCVVBUlRfVFhSWERNQV9PTgkJCQkJCQkweDAwMDMJCisjZWxzZQorI2RlZmluZQlVQVJUX1RYUlhETUFfT04JCQkJCQkJMHgwMDA3CQorI2VuZGlmCisJI2Vsc2UKKyNkZWZpbmUJVUFSVF9UWFJYRE1BX09OCQkJCQkJCTB4MDAwMQorCSNlbmRpZgorI2RlZmluZSAgVUFSVF9UWFJYRE1BX09GRgkJCQkJCQkweDAwMDAKKyNlbmRpZiAvKkRSVl9VQVJUX1ZGSUZPX0VOX1JFRyovCisKKworI2lmIGRlZmluZWQoRFJWX1VBUlRfQVVUT0JBVURfNjFNKQorCSNpZiBkZWZpbmVkKE1DVV82NTBNKSB8fCBkZWZpbmVkKE1DVV82MTFNKSB8fCBkZWZpbmVkKE1DVV81MjBNKXx8ZGVmaW5lZChNQ1VfNDE2TSkvL2FkZCA0MTZNIGZvciA3Nk0KKyNkZWZpbmUgVUFSVF9SQVRFX0ZJWCAgMHgxZgorI2RlZmluZSBVQVJUX1JBVEVfVU5GSVggMHgxMAorCSNlbHNlCisjZGVmaW5lIFVBUlRfUkFURV9GSVggIDB4ZgorI2RlZmluZSBVQVJUX1JBVEVfVU5GSVggMHgwCisJI2VuZGlmIAorI2Vsc2UKKyNkZWZpbmUgVUFSVF9SQVRFX0ZJWCAgMHhmCisjZGVmaW5lIFVBUlRfUkFURV9VTkZJWCAweDAKKyNlbmRpZgorCisKKworI2RlZmluZSBVQVJUX1JYVFJJX1ZBTFVFCSAgICAweDEyCisjaWYgZGVmaW5lZChEUlZfVUFSVF9WRklGT19WMikKKworI2lmZGVmIERNQV9QT1AKKyN1bmRlZiBETUFfUE9QCisjZW5kaWYKKworI2lmZGVmIERNQV9QVVNICisjdW5kZWYgRE1BX1BVU0gKKyNlbmRpZgorCisjZGVmaW5lIERNQV9QT1AoX24pICAgICAgICAgICAgICAgICBEUlZfUmVnOChEUlZfUmVnKERNQV9WRkZfUlBUKF9uKSkrRFJWX1JlZzMyKERNQV9TUkMoX24pKSk7XAorCWlmKERSVl9SZWcoRE1BX1ZGRl9SUFQoX24pKSA9PSAoRFJWX1JlZyhETUFfVkZGX1NJWkUoX24pKS0xKSlcCisJCURSVl9Xcml0ZVJlZzMyKERNQV9WRkZfUlBUKF9uKSwgKH5EUlZfUmVnMzIoRE1BX1ZGRl9SUFQoX24pKSkmMHgxMDAwMCk7XAorCWVsc2UgXAorCQlEUlZfV3JpdGVSZWczMihETUFfVkZGX1JQVChfbiksIERSVl9SZWczMihETUFfVkZGX1JQVChfbikpKzEpOworCisjZGVmaW5lIERNQV9QVVNIKF9uLF9kYXRhKSAgICAgICAgICB3aGlsZShEUlZfUmVnKERNQV9XX0lOVF9CVUZfU0laRShfbikpPj02NCk7Kih2b2xhdGlsZSBrYWxfdWludDgqKURNQV9WUE9SVChfbikgPSAoa2FsX3VpbnQ4KV9kYXRhOworI2RlZmluZSBETUFfUFVTSDMyKF9uLF9kYXRhKSAgICAgIHdoaWxlKERSVl9SZWcoRE1BX1dfSU5UX0JVRl9TSVpFKF9uKSk+NjApOyoodm9sYXRpbGUga2FsX3VpbnQzMiopRE1BX1ZQT1JUKF9uKSA9IChrYWxfdWludDMyKV9kYXRhOworCisjZW5kaWYgLy8jaWYgZGVmaW5lZChEUlZfVUFSVF9WRklGT19WMikKKworI2lmIGRlZmluZWQoRFJWX1VBUlRfVkZJRk9fVjMpCisKKyNpZmRlZiBETUFfUE9QCisjdW5kZWYgRE1BX1BPUAorI2VuZGlmCisKKyNpZmRlZiBETUFfUFVTSAorI3VuZGVmIERNQV9QVVNICisjZW5kaWYKKworI2RlZmluZSBETUFfUE9QKF9uKSAgICAgICAgICAgICAgICAgRFJWX1JlZzgoRFJWX1JlZyhETUFfVkZGX1JQVChfbikpK0RSVl9SZWczMihETUFfU1JDKF9uKSkpO1wKKwlpZihEUlZfUmVnKERNQV9WRkZfUlBUKF9uKSkgPT0gKERSVl9SZWcoRE1BX1ZGRl9TSVpFKF9uKSktMSkpXAorCQlEUlZfV3JpdGVSZWczMihETUFfVkZGX1JQVChfbiksICh+RFJWX1JlZzMyKERNQV9WRkZfUlBUKF9uKSkpJjB4MTAwMDApO1wKKwllbHNlIFwKKwkJRFJWX1dyaXRlUmVnMzIoRE1BX1ZGRl9SUFQoX24pLCBEUlZfUmVnMzIoRE1BX1ZGRl9SUFQoX24pKSsxKTsKKworI2RlZmluZSBETUFfUFVTSChfbixfZGF0YSkgXAorCQlEUlZfV3JpdGVSZWc4KERSVl9SZWcoRE1BX1ZGRl9XUFQoX24pKStEUlZfUmVnMzIoRE1BX1NSQyhfbikpLF9kYXRhKTtcCisJCWlmKERSVl9SZWcoRE1BX1ZGRl9XUFQoX24pKSA9PSAoRFJWX1JlZyhETUFfVkZGX1NJWkUoX24pKS0xKSlcCisJCURSVl9Xcml0ZVJlZzMyKERNQV9WRkZfV1BUKF9uKSwgKH5EUlZfUmVnMzIoRE1BX1ZGRl9XUFQoX24pKSkmMHgxMDAwMCk7XAorCQllbHNlIFwKKwkJRFJWX1dyaXRlUmVnMzIoRE1BX1ZGRl9XUFQoX24pLCBEUlZfUmVnMzIoRE1BX1ZGRl9XUFQoX24pKSsxKTsKKworI2VuZGlmIC8vI2lmIGRlZmluZWQoRFJWX1VBUlRfVkZJRk9fVjMpCisKKworCisjZW5kaWYgLyojaWYgIWRlZmluZWQoRFJWX1VBUlRfT0ZGKSovCisjZW5kaWYgLypVQVJUX0hXX0gqLworCisKZGlmZiAtLWdpdCBhL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvdWFydF9pbnRlcm5hbC5oIGIvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy91YXJ0X2ludGVybmFsLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTEyOGM2OAotLS0gL2Rldi9udWxsCisrKyBiL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvdWFydF9pbnRlcm5hbC5oCkBAIC0wLDAgKzEsNTY5IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMDEKKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGaWxlbmFtZToKKyAqIC0tLS0tLS0tLQorICogICBkY2xfdWFydC5oCisgKgorICogUHJvamVjdDoKKyAqIC0tLS0tLS0tCisgKiAgIE1hdWkKKyAqCisgKiBEZXNjcmlwdGlvbjoKKyAqIC0tLS0tLS0tLS0tLQorICogICBIZWFkZXIgZmlsZSBvZiBEQ0wgKERyaXZlciBDb21tb24gTGF5ZXIpIGZvciBVQVJULgorICoKKyAqIEF1dGhvcjoKKyAqIC0tLS0tLS0KKyAqIC0tLS0tLS0KKyAqCisgKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqICAgICAgICAgICAgIEhJU1RPUlkKKyAqIEJlbG93IHRoaXMgbGluZSwgdGhpcyBwYXJ0IGlzIGNvbnRyb2xsZWQgYnkgUFZDUyBWTS4gRE8gTk9UIE1PRElGWSEhCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIFVwcGVyIHRoaXMgbGluZSwgdGhpcyBwYXJ0IGlzIGNvbnRyb2xsZWQgYnkgUFZDUyBWTS4gRE8gTk9UIE1PRElGWSEhCisgKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmbmRlZiBfX1VBUlRfSU5URVJOQUxfSF9fCisjZGVmaW5lIF9fVUFSVF9JTlRFUk5BTF9IX18KKworI2luY2x1ZGUgInVhcnRfc3cuaCIKKyNpbmNsdWRlICJkY2wuaCIKKworI2luY2x1ZGUgImthbF9nZW5lcmFsX3R5cGVzLmgiCisjaW5jbHVkZSAiZHJ2X2NvbW0uaCIKKy8vI2luY2x1ZGUgImJ0aWZfc3cuaCIKKwordHlwZWRlZiBlbnVtIHsKKyAgICAgIFVBUlRfT05fVkZJRk8sCisgICAgICBVQVJUX09OX0RNQSwKKyAgICAgIFVBUlRfT05fTUNVLAorICAgICAgVUFSVF9PTl9VTktOT1dOCit9IFVBUlRfV09SS0lOR19NT0RFOworCisjZGVmaW5lICBVQVJUX1NUQVRfRXNjRGV0ICAgICAgICAweDAxCisjZGVmaW5lICBVQVJUX1NUQVRfQnJlYWsgICAgICAgICAweDAyCisKKyNkZWZpbmUgIFVBUlRfUmVjTm9ybWFsICAgICAgICAgIDAKKyNkZWZpbmUgIFVBUlRfR2V0M0VzY0NoYXIgICAgICAgIDEKKyNkZWZpbmUgIFVBUlRfU3RhcnRDaGVja0VTQyAgICAgIDIKKworLy9TaXplID0gOGJpdCwgc2luYyBlbiwgZGluYyBkaXNhYmxlLCBodyBtYW5hZ2VtZW50LCAKKy8vMSB0cmFucy9kbWEgY3ljbGUsIFVBUlQxIG1hc3RlcixJbnRlcnJ1cHQgZW5hYmxlCisjZGVmaW5lIERNQV9DT05fVUFSVDFUeE5vcm1hbCAweDgwMzQKKy8vU2l6ZSA9IDhiaXQsIHNpbmMgZGlzYWJsZSwgZGluYyBlbmFibGUsIGh3IG1hbmFnZW1lbnQsIAorLy8xIHRyYW5zL2RtYSBjeWNsZSwgVUFSVDEgbWFzdGVyLEludGVycnVwdCBlbmFibGUKKyNkZWZpbmUgRE1BX0NPTl9VQVJUMVJ4Tm9ybWFsIDB4ODAzOAorLy9TaXplID0gOGJpdCwgc2luYyBlbiwgZGluYyBkaXNhYmxlLCBodyBtYW5hZ2VtZW50LCAKKy8vMSB0cmFucy9kbWEgY3ljbGUsIFVBUlQyIG1hc3RlcixJbnRlcnJ1cHQgZW5hYmxlCisjZGVmaW5lIERNQV9DT05fVUFSVDJUeE5vcm1hbCAweDgwNTQKKy8vU2l6ZSA9IDhiaXQsIHNpbmMgZGlzYWJsZSwgZGluYyBlbmFibGUsIGh3IG1hbmFnZW1lbnQsIAorLy8xIHRyYW5zL2RtYSBjeWNsZSwgVUFSVDIgbWFzdGVyLEludGVycnVwdCBlbmFibGUKKyNkZWZpbmUgRE1BX0NPTl9VQVJUMlJ4Tm9ybWFsIDB4ODA1OAorCisKKworLypUWSBhZGRzIHRoZXNlIHRvIGV4cGFuZCBmbGV4aWJpbGl0eSAyMDA0LzEwLzE1Ki8KK3R5cGVkZWYgdm9pZCAoKlVBUlRfVFhfRlVOQykoVUFSVF9QT1JUIHBvcnQpOyAKK3R5cGVkZWYgdm9pZCAoKlVBUlRfUlhfRlVOQykoVUFSVF9QT1JUIHBvcnQpIDsgCisKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICAgIFVBUlRfUE9SVCAgICAgICAgICAgICAgICAgICAgICBwb3J0X25vOworICAgICAga2FsX2Jvb2wgICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWxpemVkOworICAgICAga2FsX2Jvb2wgICAgICAgICAgICAgICAgICAgICAgIHBvd2VyX29uOworICAgICAgbW9kdWxlX3R5cGUgICAgICAgICAgICAgICAgICAgIG93bmVyaWQ7CisgICAgICBtb2R1bGVfdHlwZSAgICAgICAgICAgICAgICAgICAgVUFSVF9pZDsKKyAgICAgIGthbF9ib29sICAgICAgICAgICAgICAgICAgICAgICBicmVha0RldDsKKyAgICAgIGthbF9ib29sICAgICAgICAgICAgICAgICAgICAgICBFc2NGb3VuZDsKKyAgICAgIFVBUlREQ0JTdHJ1Y3QgICAgICAgICAgICAgICAgICBEQ0I7CisgICAgICBVQVJUX1JpbmdCdWZmZXJTdHJ1Y3QgICAgICAgICAgUmluZ0J1ZmZlcnM7CisgICAgICBVQVJUX0VTQ0RldGVjdFN0cnVjdCAgICAgICAgICAgRVNDRGV0OworICAgICAgQlVGRkVSX0lORk8gICAgICAgICAgICAgICAgICAgIFR4X0J1ZmZlcl9JU1I7IC8qIHJlY2VpdmUgYnVmZmVyICovCisgICAgICBCVUZGRVJfSU5GTyAgICAgICAgICAgICAgICAgICAgUnhfQnVmZmVyOyAgLyogcmVjZWl2ZSBidWZmZXIgKi8KKyAgICAgIEJVRkZFUl9JTkZPICAgICAgICAgICAgICAgICAgICBUeF9CdWZmZXI7ICAvKiB0cmFuc21pdCBidWZmZXIgKi8KKyAgICAgIGthbF9oaXNyaWQgICAgICAgICAgICAgICAgICAgICBoaXNyOworICAgICAgSU9fbGV2ZWwgICAgICAgICAgICAgICAgICAgICAgIERTUjsKKyAgICAgIC8qZGV0ZWN0IEVzY2FwZSovCisgICAgICBEQ0xfSEFORExFICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZTsgICAgLypHUFQgaGFuZGxlKi8KKyNpZiBkZWZpbmVkKERSVl9VQVJUX0NPTVBFTlNBVEVfQVQpCisgICAgICBVQVJUX0NvbXBlbnNhdGVfZW51bSAgICAgICAgICAgQ29tcGVuc2F0ZUFUOworI2VuZGlmCisgICAgICBrYWxfdWludDggICAgICAgICAgICAgICAgICAgICAgRXNjQ291bnQ7CisgICAgICBrYWxfdWludDggICAgICAgICAgICAgICAgICAgICAgUmVjX3N0YXRlOyAvKiovCisgICAgICBVQVJUX1NMRUVQX09OX1RYICAgICAgICAgICAgICAgc2xlZXBfb25fdHg7CisgICAgICBrYWxfYm9vbCAgICAgICAgICAgICAgIAkJRW5hYmxlVFg7CisgICAgICAvKlRZIGFkZHMgdGhlc2UgdG8gZXhwYW5kIGZsZXhpYmlsaXR5IDIwMDQvMTAvMTUqLworICAgICAgVUFSVF9UWF9GVU5DICAgICAgICAgICAgICAgICAgdHhfY2I7CisgICAgICBVQVJUX1JYX0ZVTkMgICAgICAgICAgICAgICAgICByeF9jYjsKKyAgICAgIC8vI2lmZGVmIF9fRE1BX1VBUlRfVklSVFVBTF9GSUZPX18KKwkJa2FsX3VpbnQ4IAkJCQkJCQlSeF9ETUFfQ2g7CisJCWthbF91aW50OCAJCQkJCQkJVHhfRE1BX0NoOworICAgICAgLy8jZW5kaWYKKyAgICAgIAorI2lmIGRlZmluZWQoRFJWX1VBUlRfVkZJRk9fVjIpCisjaWYgZGVmaW5lZChEUlZfVUFSVF9WRklGT19WMl9VU0VfR1BUKQorCURDTF9IQU5ETEUgdWFydF9mbHVzaF90aW1lcl9oYW5kbGU7ICAgIC8qR1BUIGhhbmRsZSovCisJRENMX0hBTkRMRSB1YXJ0X2lzcl9mbHVzaF90aW1lcl9oYW5kbGU7ICAgIC8qR1BUIGhhbmRsZSovCisjZWxzZQorCWthbF90aW1lcmlkICAgdWFydF9mbHVzaF90aW1lcl9pZDsKKyNlbmRpZiAvL0RSVl9VQVJUX1ZGSUZPX1YyX1VTRV9HUFQKKyNlbmRpZiAvKiBkZWZpbmVkKERSVl9VQVJUX1ZGSUZPX1YxKSAqLworCSAgCit9IFVBUlRTdHJ1Y3Q7CisKKy8vIGZvciB1YXJ0IGRpc3BhdGNoIHRhYmxlIAordHlwZWRlZiBlbnVtCit7CisJVUFSVF9UWVBFID0gMCwKKwlJUkRBX1RZUEUsCisJVVNCX1RZUEUsCisJQkxVRVRPT1RIX1RZUEUsCisJQ01VWF9UWVBFCit9VWFydFR5cGVfZW51bTsKKwordHlwZWRlZiBzdHJ1Y3QgX3VhcnRkcml2ZXIKK3sKKwkKKwlrYWxfYm9vbCAoKk9wZW4pKFVBUlRfUE9SVCBwb3J0LCBtb2R1bGVfdHlwZSBvd25lcmlkKTsKKwl2b2lkICgqQ2xvc2UpKFVBUlRfUE9SVCBwb3J0LCBtb2R1bGVfdHlwZSBvd25lcmlkKTsKKwlrYWxfdWludDE2ICgqR2V0Qnl0ZXMpKFVBUlRfUE9SVCBwb3J0LCBrYWxfdWludDggKkJ1ZmZhZGRyLCBrYWxfdWludDE2IExlbmd0aCwga2FsX3VpbnQ4ICpzdGF0dXMsIG1vZHVsZV90eXBlIG93bmVyaWQpOworCWthbF91aW50MTYgKCpQdXRCeXRlcykoVUFSVF9QT1JUIHBvcnQsIGthbF91aW50OCAqQnVmZmFkZHIsIGthbF91aW50MTYgTGVuZ3RoLCBtb2R1bGVfdHlwZSBvd25lcmlkKTsKKwlrYWxfdWludDE2ICgqR2V0UnhBdmFpbCkoVUFSVF9QT1JUIHBvcnQpOworCWthbF91aW50MTYgKCpHZXRUeEF2YWlsKShVQVJUX1BPUlQgcG9ydCk7CisJa2FsX3VpbnQxNiAoKlB1dElTUkJ5dGVzKShVQVJUX1BPUlQgcG9ydCwga2FsX3VpbnQ4ICpCdWZmYWRkciwga2FsX3VpbnQxNiBMZW5ndGgsIG1vZHVsZV90eXBlIG93bmVyaWQpOworCWthbF91aW50MTYgKCpHZXRJU1JUeEF2YWlsKShVQVJUX1BPUlQgcG9ydCk7CisJdm9pZCAoKlB1cmdlKShVQVJUX1BPUlQgcG9ydCwgVUFSVF9idWZmZXIgZGlyLCBtb2R1bGVfdHlwZSBvd25lcmlkKTsJCisJLy92b2lkICgqU2V0T3duZXIpKFVBUlRfUE9SVCBwb3J0LCBrYWxfdWludDggb3duZXJpZCk7CisJdm9pZCAoKlNldE93bmVyKShVQVJUX1BPUlQgcG9ydCwgbW9kdWxlX3R5cGUgb3duZXJpZCk7CisJdm9pZCAoKlNldEZsb3dDdHJsKShVQVJUX1BPUlQgcG9ydCwga2FsX2Jvb2wgWE9OLCBtb2R1bGVfdHlwZSBvd25lcmlkKTsKKwl2b2lkICgqQ29uZmlnRXNjYXBlKShVQVJUX1BPUlQgcG9ydCwga2FsX3VpbnQ4IEVzY0NoYXIsIGthbF91aW50MTYgRVNDR3VhcmR0aW1lLCBtb2R1bGVfdHlwZSBvd25lcmlkKTsKKwl2b2lkICgqU2V0RENCQ29uZmlnKShVQVJUX1BPUlQgcG9ydCwgVUFSVERDQlN0cnVjdCAqVUFSVF9Db25maWcsIG1vZHVsZV90eXBlIG93bmVyaWQpOworCXZvaWQgKCpDdHJsRENEKShVQVJUX1BPUlQgcG9ydCwgSU9fbGV2ZWwgU0RDRCwgbW9kdWxlX3R5cGUgb3duZXJpZCk7CisJdm9pZCAoKkN0cmxCcmVhaykoVUFSVF9QT1JUIHBvcnQsIElPX2xldmVsIFNCUkVBSywgbW9kdWxlX3R5cGUgb3duZXJpZCk7CisJdm9pZCAoKkNsclJ4QnVmZmVyKShVQVJUX1BPUlQgcG9ydCwgbW9kdWxlX3R5cGUgb3duZXJpZCk7CisJdm9pZCAoKkNsclR4QnVmZmVyKShVQVJUX1BPUlQgcG9ydCwgbW9kdWxlX3R5cGUgb3duZXJpZCk7CQorCXZvaWQgKCpTZXRCYXVkUmF0ZSkoVUFSVF9QT1JUIHBvcnQsIFVBUlRfYmF1ZHJhdGUgYmF1ZHJhdGUsIG1vZHVsZV90eXBlIG93bmVyaWQpOwkKKwlrYWxfdWludDE2ICgqU2VuZElTUkRhdGEpKFVBUlRfUE9SVCBwb3J0LCBrYWxfdWludDggKkJ1ZmZhZGRyLCBrYWxfdWludDE2IExlbmd0aCxrYWxfdWludDggbW9kZSwga2FsX3VpbnQ4IGVzY2FwZV9jaGFyLCBtb2R1bGVfdHlwZSBvd25lcmlkKTsKKwlrYWxfdWludDE2ICgqU2VuZERhdGEpKFVBUlRfUE9SVCBwb3J0LCBrYWxfdWludDggKkJ1ZmZhZGRyLCBrYWxfdWludDE2IExlbmd0aCxrYWxfdWludDggbW9kZSxrYWxfdWludDggZXNjYXBlX2NoYXIsIG1vZHVsZV90eXBlIG93bmVyaWQpOworCW1vZHVsZV90eXBlICgqR2V0T3duZXJJRCkoVUFSVF9QT1JUIHBvcnQpOwkKKwl2b2lkICgqU2V0QXV0b0JhdWRfRGl2KShVQVJUX1BPUlQgcG9ydCwgbW9kdWxlX3R5cGUgb3duZXJpZCk7CQkJCisJLypUWSBhZGRzIHRoZXNlIHRvIGV4cGFuZCBmbGV4aWJpbGl0eSAyMDA0LzEwLzE1Ki8KKwl2b2lkICgqVUFSVF9SZWdpc3Rlcl9UWF9jYikoVUFSVF9QT1JUIHBvcnQsIG1vZHVsZV90eXBlIG93bmVyaWQsIFVBUlRfVFhfRlVOQyBmdW5jKTsKKwl2b2lkICgqVUFSVF9SZWdpc3Rlcl9SWF9jYikoVUFSVF9QT1JUIHBvcnQsIG1vZHVsZV90eXBlIG93bmVyaWQsIFVBUlRfUlhfRlVOQyBmdW5jKTsJCisJLypUWSBhZGRzIHRoZXNlIHRvIGxldCB2aXJ0dWFsIENPTSBwb3J0IGNhbiByZXRyaXZlIGV4Y2VwdGlvbiBsb2cgMjAwNS8zLzgqLworCWthbF91aW50OCAoKkdldFVBUlRCeXRlKShVQVJUX1BPUlQgcG9ydCk7CQorCXZvaWQgKCpQdXRVQVJUQnl0ZSkoVUFSVF9QT1JUIHBvcnQsIGthbF91aW50OCBkYXRhKTsJCisJdm9pZCAoKlB1dFVBUlRCeXRlcykoVUFSVF9QT1JUIHBvcnQsIGthbF91aW50OCAqZGF0YSwga2FsX3VpbnQxNiBsZW4pOwkJCisJLypmb3IgdmlydHVhbCBjb20gcG9ydCB0byByZXR1cm4gRENCIGNvbmZpZ3VyYXRpb24qLworCXZvaWQgKCpSZWFkRENCQ29uZmlnKShVQVJUX1BPUlQgcG9ydCwgVUFSVERDQlN0cnVjdCAqVUFSVF9Db25maWcpOwkKKwl2b2lkICgqQ3RybFJJKShVQVJUX1BPUlQgcG9ydCwgSU9fbGV2ZWwgU1JJLCBtb2R1bGVfdHlwZSBvd25lcmlkKTsJCisJdm9pZCAoKkN0cmxEVFIpKFVBUlRfUE9SVCBwb3J0LCBJT19sZXZlbCBTRFRSLCBtb2R1bGVfdHlwZSBvd25lcmlkKTsJCisJdm9pZCAoKlJlYWRIV1N0YXR1cykoVUFSVF9QT1JUIHBvcnQsIElPX2xldmVsICpTRFNSLCBJT19sZXZlbCAqU0NUUyk7CQorCWthbF91aW50OCAoKkdldFVBUlRCeXRlX1dpdGhUaW1lT3V0KShVQVJUX1BPUlQgcG9ydCwga2FsX3VpbnQ4KiBjaCwga2FsX3VpbnQzMiB0aW1lb3V0X3ZhbHVlKTsJCit9VWFydERyaXZlcl9zdHJjdXQ7CisKKy8qRnVuY3Rpb24gRGVjbGFyYXRpb24qLworZXh0ZXJuIFVhcnREcml2ZXJfc3RyY3V0IFVhcnREcml2ZXI7CQorCisjaWYgZGVmaW5lZChfX0RNQV9VQVJUX1ZGSUZPX1NJTkdMRV9UVU5ORUxfXykKK2V4dGVybiBrYWxfYm9vbCBVQVJUX1NJTkdMRV9WRklGT19zdXBwb3J0W01BWF9VQVJUX1RVTk5FTF9OVU1dIDsgLy90b3kgYWRkIGZvciBzaW5nbGUgdHVubmVsIHZmaWZvCitleHRlcm4ga2FsX2Jvb2wgVUFSVF9Jc1ZmaWZvU2V0dGluZyhVQVJUX1BPUlQgcG9ydCwgVUFSVF9UeFJ4X1ZGSUZPX3N1cHBvcnQgdnMpOworI2lmZGVmIF9fRE1BX1VBUlRfVklSVFVBTF9GSUZPX18JCitleHRlcm4gVWFydERyaXZlcl9zdHJjdXQgVWFydERyaXZlcl9WRklGTzsKK2V4dGVybiBVYXJ0RHJpdmVyX3N0cmN1dCBVYXJ0RHJpdmVyX1ZGSUZPX1JYOworZXh0ZXJuIFVhcnREcml2ZXJfc3RyY3V0IFVhcnREcml2ZXJfVkZJRk9fVFg7CisjZW5kaWYKKyNlbHNlCitleHRlcm4ga2FsX2Jvb2wgVUFSVF9WRklGT19zdXBwb3J0W01BWF9VQVJUX1BPUlRfTlVNXTsKKyNpZmRlZiBfX0RNQV9VQVJUX1ZJUlRVQUxfRklGT19fCQorZXh0ZXJuIFVhcnREcml2ZXJfc3RyY3V0IFVhcnREcml2ZXJfVkZJRk87CisjZW5kaWYKKyNlbmRpZgorCitleHRlcm4gVWFydERyaXZlcl9zdHJjdXQqIHBVYXJ0X0NNRF9GVU5DW107CisKKworI2lmIGRlZmluZWQoRFJWX1VBUlRfQ09NUEVOU0FURV9BVCkKK2V4dGVybiB2b2lkIFVBUlRfQ29tcGVuc2F0ZUFUKFVBUlRfUE9SVCAgcG9ydCk7CitleHRlcm4gdm9pZCBVQVJUX0NoZWNrQVRfQ2FsbGJhY2sodm9pZCAqcGFyYW1ldGVyKTsKKyNlbmRpZiAvLyNpZiBkZWZpbmVkKERSVl9VQVJUX0NPTVBFTlNBVEVfQVQpCisKK2V4dGVybiB2b2lkIFVBUlQxX1BETl9FTkFCTEUodm9pZCk7CitleHRlcm4gdm9pZCBVQVJUMV9QRE5fRElTQUJMRSh2b2lkKTsKK2V4dGVybiB2b2lkIFVBUlQyX1BETl9FTkFCTEUodm9pZCk7CitleHRlcm4gdm9pZCBVQVJUMl9QRE5fRElTQUJMRSh2b2lkKTsKKyNpZmRlZiBfX1VBUlQzX1NVUFBPUlRfXworZXh0ZXJuIHZvaWQgVUFSVDNfUEROX0VOQUJMRSh2b2lkKTsKK2V4dGVybiB2b2lkIFVBUlQzX1BETl9ESVNBQkxFKHZvaWQpOworI2VuZGlmIC8vI2lmZGVmIF9fVUFSVDNfU1VQUE9SVF9fCisKKy8qSVNSIGhhbmRsZXIgZm9yIFZGSUZPKi8KK2V4dGVybiB2b2lkIFVBUlRfUmVjVGltZU91dEhhbmRsZXIoVUFSVF9QT1JUIHBvcnQpOworZXh0ZXJuIHZvaWQgVUFSVF9UcnhIYW5kbGVyX1ZGSUZPKFVBUlRfUE9SVCBwb3J0KTsKK2V4dGVybiB2b2lkIFVBUlRfUmVjSGFuZGxlcl9WRklGTyhVQVJUX1BPUlQgcG9ydCk7CitleHRlcm4gdm9pZCBVQVJUX1RIUkVfaGRyX1ZGSUZPKFVBUlRfUE9SVCBwb3J0KTsKKy8qQVBJIGZvciBWRklGTyovCitleHRlcm4gdm9pZCBVX2NvbmZpZ3VyZV9ETUFfVkZJRk8odm9pZCk7CitleHRlcm4ga2FsX3VpbnQxNiBVX0dldFR4SVNSUm9vbUxlZnRfVkZJRk8oVUFSVF9QT1JUIHBvcnQpOworZXh0ZXJuIGthbF91aW50MTYgVV9HZXRUeFJvb21MZWZ0X1ZGSUZPKFVBUlRfUE9SVCBwb3J0KTsKK2V4dGVybiBrYWxfdWludDE2IFVfR2V0Qnl0ZXNBdmFpbF9WRklGTyhVQVJUX1BPUlQgcG9ydCk7CitleHRlcm4ga2FsX3VpbnQ4IFVfR2V0VUFSVEJ5dGVfVkZJRk8oVUFSVF9QT1JUIHBvcnQpOworZXh0ZXJuIHZvaWQgVV9QdXRVQVJUQnl0ZV9WRklGTyhVQVJUX1BPUlQgcG9ydCwga2FsX3VpbnQ4IGRhdGEpOworZXh0ZXJuIHZvaWQgUHV0VUFSVERhdGFfVkZJRk8oVUFSVF9QT1JUIHBvcnQsIGthbF91aW50OCBlc2NhcGVfY2hhciwga2FsX3VpbnQ4IGRhdGEpOworZXh0ZXJuIGthbF91aW50MTYgVV9HZXRCeXRlc19WRklGTyhVQVJUX1BPUlQgcG9ydCwga2FsX3VpbnQ4ICpCdWZmYWRkciwga2FsX3VpbnQxNiBMZW5ndGgsIGthbF91aW50OCAqc3RhdHVzLCBtb2R1bGVfdHlwZSBvd25lcmlkKTsKK2V4dGVybiBrYWxfdWludDE2IFVfUHV0Qnl0ZXNfVkZJRk8oVUFSVF9QT1JUIHBvcnQsIGthbF91aW50OCAqQnVmZmFkZHIsIGthbF91aW50MTYgTGVuZ3RoLCBtb2R1bGVfdHlwZSBvd25lcmlkKTsKK2V4dGVybiBrYWxfdWludDE2IFVfUHV0SVNSQnl0ZXNfVkZJRk8oVUFSVF9QT1JUIHBvcnQsIGthbF91aW50OCAqQnVmZmFkZHIsIGthbF91aW50MTYgTGVuZ3RoLCBtb2R1bGVfdHlwZSBvd25lcmlkKTsKK2V4dGVybiBrYWxfdWludDE2IFVfU2VuZERhdGFfVkZJRk8oVUFSVF9QT1JUIHBvcnQsIGthbF91aW50OCAqQnVmZmFkZHIsIGthbF91aW50MTYgTGVuZ3RoLGthbF91aW50OCBtb2RlLGthbF91aW50OCBlc2NhcGVfY2hhciwgbW9kdWxlX3R5cGUgb3duZXJpZCk7CitleHRlcm4ga2FsX3VpbnQxNiBVX1NlbmRJU1JEYXRhX1ZGSUZPKFVBUlRfUE9SVCBwb3J0LCBrYWxfdWludDggKkJ1ZmZhZGRyLCBrYWxfdWludDE2IExlbmd0aCxrYWxfdWludDggbW9kZSxrYWxfdWludDggZXNjYXBlX2NoYXIsIG1vZHVsZV90eXBlIG93bmVyaWQpOworZXh0ZXJuIGthbF9ib29sIFVBUlRfVXNlVkZJRk8oVUFSVF9QT1JUIHBvcnQsIGthbF9ib29sIHVzZV92Zmlmbyk7CisKK2V4dGVybiB2b2lkIFVBUlRfRHJpdmVySW5pdChVQVJUX1BPUlQgcG9ydCxrYWxfdWludDMyIGZsYWcpOworZXh0ZXJuIHZvaWQgVUFSVF9Cb290X1RyYWNlX1JlbGVhc2Uoa2FsX2Jvb2wgZmxhZyk7Ly9mb3IgYm9vdHVwIHRyYWNlCisKK2V4dGVybiB2b2lkIFVBUlRfc2V0X0ZJRk9fdHJpZ2dlcihVQVJUX1BPUlQgcG9ydCwga2FsX3VpbnQxNiB0eF9sZXZlbCwga2FsX3VpbnQxNiByeF9sZXZlbCk7CisKKyNpZmRlZiBfX1VBUlQzX1NVUFBPUlRfXworICAgZXh0ZXJuIHZvaWQgVUFSVDNfSElTUih2b2lkKTsKKyAgIGV4dGVybiB2b2lkIFVBUlQzX0xJU1Iodm9pZCk7CisjZW5kaWYgICAvKk1UNjIxOCovCisvLyBmb3IgVWFydCBEaXNwYXRjaAorLy9leHRlcm4gdm9pZCBVQVJUX1JlZ2lzdGVyKFVBUlRfUE9SVCBwb3J0LCBVYXJ0VHlwZV9lbnVtIHR5cGUsIFVhcnREcml2ZXJfc3RyY3V0KiBkcnYpOworCisvKiBOb3RlOiBmb3IgUk9NIGNvZGUgc3RhcnQgKi8KKyNpZmRlZiBfX1JPTVNBX1NVUFBPUlRfXworLypmb3IgbWN1IHJvbSovCitleHRlcm4ga2FsX3VpbnQxNiBVX0dldFR4SVNSUm9vbUxlZnQoVUFSVF9QT1JUIHBvcnQpOworZXh0ZXJuIGthbF91aW50MTYgVV9QdXRJU1JCeXRlcyhVQVJUX1BPUlQgcG9ydCwga2FsX3VpbnQ4ICpCdWZmYWRkciwga2FsX3VpbnQxNiBMZW5ndGgsIG1vZHVsZV90eXBlIG93bmVyaWQpOworZXh0ZXJuIGthbF91aW50MTYgVV9ST01fR2V0VHhJU1JSb29tTGVmdChVQVJUX1BPUlQgcG9ydCk7CitleHRlcm4gVUFSVFN0cnVjdCAqVV9ST01fR2V0VUFSVFBvcnQoVUFSVF9QT1JUIHBvcnQpOworZXh0ZXJuIGthbF91aW50OCAqVV9ST01fR2V0VUFSVF9UWGlsbShVQVJUX1BPUlQgcG9ydCk7CitleHRlcm4gdm9pZCBVX1JPTV9JbmZvcm1VQVJUT3duZXIoVUFSVF9QT1JUIHBvcnQpOworZXh0ZXJuIHZvaWQgVV9ST01fUHVzaERhdGFUb0J1ZihVQVJUX1BPUlQgcG9ydCwga2FsX3VpbnQ4ICpkYXRhLCBrYWxfdWludDMyIHJlYWxfY291bnQpOworZXh0ZXJuIHZvaWQgVV9ST01fRW5hYmxlVHhJbnRyKFVBUlRfUE9SVCBwb3J0KTsKKy8vZXh0ZXJuIHZvaWQgRFJWUEROX0Rpc2FibGUoa2FsX3VpbnQzMiBhZGRyLGthbF91aW50MTYgY29kZSxrYWxfdWludDggaGFuZGxlKTsKKyNlbmRpZgorLyogTm90ZTogZm9yIFJPTSBjb2RlIGVuZCAqLworCisvLyBVc2VkIHVuZGVyIEFTU0VSVCBjb25kaXRpb24KKy8vIFRoaXMgaGFzIGVmZmVjdCBvbmx5IHdoZW4gdGhlIHBvcnQgZG9lcyBOT1Qgc3VwcG9ydCBWRklGTyBhbmQgdXNlZCBhcyBDYXRjaGVyIHBvcnQKK2V4dGVybiB2b2lkIFVBUlRfQXNzZXJ0V2FpdFByZXZEYXRhU2VudE91dChVQVJUX1BPUlQgcG9ydCk7CisKKworZXh0ZXJuIGthbF9ib29sIFVBUlQxRE1BX0luaShrYWxfYm9vbCBUeCk7CitleHRlcm4ga2FsX2Jvb2wgVUFSVDJETUFfSW5pKGthbF9ib29sIFR4KTsKK2V4dGVybiBrYWxfdWludDggR2V0VUFSVEJ5dGUoVUFSVF9QT1JUIHBvcnQpOworZXh0ZXJuIHZvaWQgUHV0VUFSVEJ5dGUoVUFSVF9QT1JUIHBvcnQsIGthbF91aW50OCBkYXRhKTsKK2V4dGVybiB2b2lkIFVBUlRfU2V0QmF1ZFJhdGUoVUFSVF9QT1JUIHBvcnQsIFVBUlRfYmF1ZHJhdGUgYmF1ZF9yYXRlLCBtb2R1bGVfdHlwZSBvd25lcmlkKTsKK2V4dGVybiB2b2lkIFVBUlRfU2V0RENCQ29uZmlnKFVBUlRfUE9SVCBwb3J0LCBVQVJURENCU3RydWN0ICpVQVJUX0NvbmZpZywgbW9kdWxlX3R5cGUgb3duZXJpZCk7CitleHRlcm4gdm9pZCBVQVJUX1JlYWREQ0JDb25maWcgKFVBUlRfUE9SVCBwb3J0LCBVQVJURENCU3RydWN0ICpEQ0IpOworZXh0ZXJuIHZvaWQgVUFSVF9sb29wYmFjayhVQVJUX1BPUlQgcG9ydCk7CitleHRlcm4gdm9pZCBVQVJUX0hXSW5pdChVQVJUX1BPUlQgcG9ydCk7CitleHRlcm4ga2FsX2Jvb2wgVUFSVF9PcGVuKFVBUlRfUE9SVCBwb3J0LCBtb2R1bGVfdHlwZSBvd25lcmlkKTsKK2V4dGVybiB2b2lkIFVBUlRfQ2xvc2UoVUFSVF9QT1JUIHBvcnQsIG1vZHVsZV90eXBlIG93bmVyaWQpOworLy9leHRlcm4gdm9pZCBVQVJUX1NldE93bmVyIChVQVJUX1BPUlQgcG9ydCwga2FsX3VpbnQ4IG93bmVyaWQpOworZXh0ZXJuIHZvaWQgVUFSVF9TZXRPd25lciAoVUFSVF9QT1JUIHBvcnQsIG1vZHVsZV90eXBlIG93bmVyaWQpOworZXh0ZXJuIHZvaWQgVUFSVF9Db25maWdFc2NhcGUgKFVBUlRfUE9SVCBwb3J0LCBrYWxfdWludDggRXNjQ2hhciwga2FsX3VpbnQxNiBFU0NHdWFyZHRpbWUsIG1vZHVsZV90eXBlIG93bmVyaWQpOworZXh0ZXJuIHZvaWQgVUFSVF9DdHJsRFRSIChVQVJUX1BPUlQgcG9ydCwgSU9fbGV2ZWwgU0RUUiwgbW9kdWxlX3R5cGUgb3duZXJpZCk7CitleHRlcm4gdm9pZCBVQVJUX1JlYWRIV1N0YXR1cyhVQVJUX1BPUlQgcG9ydCwgSU9fbGV2ZWwgKlNEU1IsIElPX2xldmVsICpTQ1RTKTsKK2V4dGVybiB2b2lkIFVBUlRfQ3RybEJyZWFrKFVBUlRfUE9SVCBwb3J0LCBJT19sZXZlbCBTQlJFQUssIG1vZHVsZV90eXBlIG93bmVyaWQpOworZXh0ZXJuIHZvaWQgVUFSVF9QdXJnZShVQVJUX1BPUlQgcG9ydCwgVUFSVF9idWZmZXIgZGlyLCBtb2R1bGVfdHlwZSBvd25lcmlkKTsKK2V4dGVybiB2b2lkIFVBUlRfUmVnaXN0ZXJfUlhfY2IoVUFSVF9QT1JUIHBvcnQsIG1vZHVsZV90eXBlIG93bmVyaWQsIFVBUlRfUlhfRlVOQyBmdW5jKTsKK2V4dGVybiB2b2lkIFVBUlRfUmVnaXN0ZXJfVFhfY2IoVUFSVF9QT1JUIHBvcnQsIG1vZHVsZV90eXBlIG93bmVyaWQsIFVBUlRfVFhfRlVOQyBmdW5jKTsKK2V4dGVybiB2b2lkIFVBUlRfUEROX0Rpc2FibGUoVUFSVF9QT1JUIHBvcnQpOworZXh0ZXJuIHZvaWQgVUFSVF9QRE5fRW5hYmxlKFVBUlRfUE9SVCBwb3J0KTsKKworCisvL0FQSSBmb3Igc2luZ2xlIHR1bm5lbCBWRklGTworZXh0ZXJuIGthbF91aW50MTYgVV9HZXRCeXRlc0F2YWlsKFVBUlRfUE9SVCBwb3J0KTsKK2V4dGVybiBrYWxfdWludDE2IFVfR2V0Qnl0ZXMoVUFSVF9QT1JUIHBvcnQsIGthbF91aW50OCAqQnVmZmFkZHIsIGthbF91aW50MTYgTGVuZ3RoLCBrYWxfdWludDggKnN0YXR1cywgbW9kdWxlX3R5cGUgb3duZXJpZCk7CitleHRlcm4ga2FsX3VpbnQ4ICBVX0dldFVBUlRCeXRlKFVBUlRfUE9SVCBwb3J0KTsKK2V4dGVybiBrYWxfdWludDE2IFVfUHV0Qnl0ZXMoVUFSVF9QT1JUIHBvcnQsIGthbF91aW50OCAqQnVmZmFkZHIsIGthbF91aW50MTYgTGVuZ3RoLCBtb2R1bGVfdHlwZSBvd25lcmlkICk7CitleHRlcm4ga2FsX3VpbnQxNiBVX0dldFR4Um9vbUxlZnQoVUFSVF9QT1JUIHBvcnQpOworZXh0ZXJuIGthbF91aW50MTYgVV9TZW5kSVNSRGF0YShVQVJUX1BPUlQgcG9ydCwga2FsX3VpbnQ4ICpCdWZmYWRkciwga2FsX3VpbnQxNiBMZW5ndGgsa2FsX3VpbnQ4IG1vZGUsIGthbF91aW50OCBlc2NhcGVfY2hhciwgbW9kdWxlX3R5cGUgb3duZXJpZCk7CitleHRlcm4ga2FsX3VpbnQxNiBVX1NlbmREYXRhKFVBUlRfUE9SVCBwb3J0LCBrYWxfdWludDggKkJ1ZmZhZGRyLCBrYWxfdWludDE2IExlbmd0aCxrYWxfdWludDggbW9kZSxrYWxfdWludDggZXNjYXBlX2NoYXIsIG1vZHVsZV90eXBlIG93bmVyaWQpOworZXh0ZXJuIHZvaWQgICAgICAgVV9QdXRVQVJUQnl0ZShVQVJUX1BPUlQgcG9ydCwga2FsX3VpbnQ4IGRhdGEpOworCitleHRlcm4gdm9pZCBVQVJUX0Jvb3RfUHV0VUFSVEJ5dGVzKFVBUlRfUE9SVCBwb3J0LCBrYWxfdWludDggKmRhdGEsa2FsX3VpbnQxNiBsZW4pOworZXh0ZXJuIHZvaWQgVUFSVF9Cb290dXBfSW5pdCh2b2lkKTsKK2V4dGVybiBrYWxfdWludDE2IFVBUlRfR2V0Qnl0ZXMoVUFSVF9QT1JUIHBvcnQsIGthbF91aW50OCAqQnVmZmFkZHIsIGthbF91aW50MTYgTGVuZ3RoLCBrYWxfdWludDggKnN0YXR1cywgbW9kdWxlX3R5cGUgb3duZXJpZCk7CitleHRlcm4ga2FsX3VpbnQxNiBVQVJUX1B1dEJ5dGVzKFVBUlRfUE9SVCBwb3J0LCBrYWxfdWludDggKkJ1ZmZhZGRyLCBrYWxfdWludDE2IExlbmd0aCwgbW9kdWxlX3R5cGUgb3duZXJpZCk7CitleHRlcm4ga2FsX3VpbnQxNiBVQVJUX1B1dElTUkJ5dGVzKFVBUlRfUE9SVCBwb3J0LCBrYWxfdWludDggKkJ1ZmZhZGRyLCBrYWxfdWludDE2IExlbmd0aCwgbW9kdWxlX3R5cGUgb3duZXJpZCk7CitleHRlcm4ga2FsX3VpbnQxNiBVQVJUX1NlbmRJU1JEYXRhKFVBUlRfUE9SVCBwb3J0LCBrYWxfdWludDggKkJ1ZmZhZGRyLCBrYWxfdWludDE2IExlbmd0aCxrYWxfdWludDggbW9kZSwga2FsX3VpbnQ4IGVzY2FwZV9jaGFyLCBtb2R1bGVfdHlwZSBvd25lcmlkKTsKK2V4dGVybiBrYWxfdWludDE2IFVBUlRfU2VuZERhdGEoVUFSVF9QT1JUIHBvcnQsIGthbF91aW50OCAqQnVmZmFkZHIsIGthbF91aW50MTYgTGVuZ3RoLGthbF91aW50OCBtb2RlLGthbF91aW50OCBlc2NhcGVfY2hhciwgbW9kdWxlX3R5cGUgb3duZXJpZCApOworZXh0ZXJuIHZvaWQgVUFSVF9TZXRGbG93Q3RybChVQVJUX1BPUlQgcG9ydCwga2FsX2Jvb2wgWE9OLCBtb2R1bGVfdHlwZSBvd25lcmlkKTsKK2V4dGVybiB2b2lkIFVBUlRfQ3RybERDRChVQVJUX1BPUlQgcG9ydCwgSU9fbGV2ZWwgU0RDRCwgbW9kdWxlX3R5cGUgb3duZXJpZCk7CitleHRlcm4gdm9pZCBVQVJUX0N0cmxSSSAoVUFSVF9QT1JUIHBvcnQsIElPX2xldmVsIFNSSSwgbW9kdWxlX3R5cGUgb3duZXJpZCk7CitleHRlcm4ga2FsX3VpbnQxNiBVQVJUX0dldEJ5dGVzQXZhaWwoVUFSVF9QT1JUIHBvcnQpOworZXh0ZXJuIHZvaWQgVUFSVF9TbGVlcE9uVHhfRW5hYmxlKFVBUlRfUE9SVCBwb3J0LCBVQVJUX1NMRUVQX09OX1RYIGVuYWJsZV9mbGFnKTsKK2V4dGVybiB2b2lkIFVBUlRfU2V0U2xlZXBFbmFibGUoa2FsX2Jvb2wgZW5hYmxlKTsKK2V4dGVybiB2b2lkIFVBUlRfU3dpdGNoUG9ydChVQVJUX1BPUlQgKkFQUF9wb3J0LCBVQVJUX1BPUlQgbmV3X3VhcnRfcG9ydCk7CitleHRlcm4gdm9pZCBVQVJUX2RhZmF1bHRfdHhfY2IoVUFSVF9QT1JUIHBvcnQpOworZXh0ZXJuIHZvaWQgVUFSVF9kYWZhdWx0X3J4X2NiKFVBUlRfUE9SVCBwb3J0KTsKK2V4dGVybiB2b2lkIFVBUlRfVHVybk9uUG93ZXIoVUFSVF9QT1JUIHBvcnQsIGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4ga2FsX2Jvb2wgVUFSVF9DaGVja1R4QnVmZmVyRW1wdHkoVUFSVF9QT1JUIHBvcnQpOworZXh0ZXJuIGthbF9ib29sIFVBUlRfQ2hlY2tUeEFsbFNlbnRPdXQoVUFSVF9QT1JUIHBvcnQpOworZXh0ZXJuIHZvaWQgVUFSVF9HZXRUeEJ1ZmZlclNpemUoVUFSVF9QT1JUIHBvcnQsIGthbF91aW50MzIgKnRvdGFsX3NpemUsIGthbF91aW50MzIgKnJlc3Rfc2l6ZSk7CitleHRlcm4gdm9pZCBVQVJUMV9ISVNSKHZvaWQpOworZXh0ZXJuIHZvaWQgVUFSVDJfSElTUih2b2lkKTsKK2V4dGVybiB2b2lkIFVBUlQxX0xJU1Iodm9pZCk7CitleHRlcm4gdm9pZCBVQVJUMl9MSVNSKHZvaWQpOworZXh0ZXJuIGthbF9ib29sIHVhcnRfc3VwcG9ydF9hdXRvZXNjYXBlKHZvaWQpOworZXh0ZXJuIHZvaWQgVUFSVF9WRklGT19UWF9ETUFfRW5hYmxlKFVBUlRfUE9SVCBwb3J0LGthbF9ib29sIGVuYWJsZSk7CitleHRlcm4gdm9pZCBVQVJUX2RzcF9kYWZhdWx0X3J4X2NiKFVBUlRfUE9SVCBwb3J0KTsKK2V4dGVybiB2b2lkIFVBUlRfZHNwX2RhZmF1bHRfdHhfY2IoVUFSVF9QT1JUIHBvcnQpOworZXh0ZXJuIGthbF91aW50MzIgVUFSVF9HZXRfTWF4YmF1ZHJhdGUoVUFSVF9QT1JUIHBvcnQpOworCisKKworLyplbmQgb2YgbG9jYWwgcGFyYW1ldGVyIHN0cnVjdCAqLworI2RlZmluZSBFbmFibGVSeEludHIoX2Jhc2VhZGRyKSAgIFwKK3tcCisgICAgICBrYWxfdWludDMyIF9zYXZlZE1hc2s7XAorICAgICAga2FsX3VpbnQxNiBfSUVSO1wKKyAgICAgIF9zYXZlZE1hc2sgPSBTYXZlQW5kU2V0SVJRTWFzaygpO1wKKyAgICAgIF9JRVIgPSBEUlZfUmVnKFVBUlRfSUVSKF9iYXNlYWRkcikpO1wKKyAgICAgIF9JRVIgfD0gKFVBUlRfSUVSX0VSQkZJIHwgVUFSVF9JRVJfRUxTSSk7XAorICAgICAgRFJWX1dyaXRlUmVnKFVBUlRfSUVSKF9iYXNlYWRkciksX0lFUik7XAorICAgICAgUmVzdG9yZUlSUU1hc2soX3NhdmVkTWFzayk7XAorfQorCisjZGVmaW5lIERpc2FibGVSeEludHIoX2Jhc2VhZGRyKSAgIFwKK3tcCisgICBrYWxfdWludDE2IF9JRVI7XAorICAga2FsX3VpbnQzMiBfc2F2ZWRNYXNrO1wKKyAgIF9zYXZlZE1hc2sgPSBTYXZlQW5kU2V0SVJRTWFzaygpO1wKKyAgIF9JRVIgPSBEUlZfUmVnKFVBUlRfSUVSKF9iYXNlYWRkcikpO1wKKyAgIF9JRVIgJj0gfihVQVJUX0lFUl9FUkJGSXxVQVJUX0lFUl9FTFNJKTtcCisgICBEUlZfV3JpdGVSZWcoVUFSVF9JRVIoX2Jhc2VhZGRyKSxfSUVSKTtcCisgICBSZXN0b3JlSVJRTWFzayhfc2F2ZWRNYXNrKTtcCit9CisKKworI2RlZmluZSBFbmFibGVUeEludHIoX2Jhc2VhZGRyKSAgIFwKK3tcCisgICBrYWxfdWludDE2IF9JRVI7XAorICAga2FsX3VpbnQzMiBfc2F2ZWRNYXNrO1wKKyAgIF9zYXZlZE1hc2sgPSBTYXZlQW5kU2V0SVJRTWFzaygpO1wKKyAgIF9JRVIgPSBEUlZfUmVnKFVBUlRfSUVSKF9iYXNlYWRkcikpO1wKKyAgIF9JRVIgfD0gVUFSVF9JRVJfRVRCRUk7XAorICAgRFJWX1dyaXRlUmVnKFVBUlRfSUVSKF9iYXNlYWRkciksX0lFUik7XAorICAgUmVzdG9yZUlSUU1hc2soX3NhdmVkTWFzayk7XAorfQorCisjZGVmaW5lIERpc2FibGVUeEludHIoX2Jhc2VhZGRyKSAgIFwKK3tcCisgICBrYWxfdWludDE2IF9JRVI7XAorICAga2FsX3VpbnQzMiBfc2F2ZWRNYXNrO1wKKyAgIF9zYXZlZE1hc2sgPSBTYXZlQW5kU2V0SVJRTWFzaygpO1wKKyAgIF9JRVIgPSBEUlZfUmVnKFVBUlRfSUVSKF9iYXNlYWRkcikpO1wKKyAgIF9JRVIgJj0gflVBUlRfSUVSX0VUQkVJO1wKKyAgIERSVl9Xcml0ZVJlZyhVQVJUX0lFUihfYmFzZWFkZHIpLF9JRVIpO1wKKyAgIFJlc3RvcmVJUlFNYXNrKF9zYXZlZE1hc2spO1wKK30KKworI2RlZmluZSBVQVJUX1NldERNQUludHIoX2Jhc2VhZGRyKSBcCit7XAorICAga2FsX3VpbnQxNiBfSUVSO1wKKyAgIGthbF91aW50MzIgX3NhdmVkTWFzaztcCisgICBfc2F2ZWRNYXNrID0gU2F2ZUFuZFNldElSUU1hc2soKTtcCisgICBfSUVSID0gRFJWX1JlZyhVQVJUX0lFUihfYmFzZWFkZHIpKTtcCisgICBfSUVSICY9IH4oVUFSVF9JRVJfRVRCRUkpO1wKKyAgIERSVl9Xcml0ZVJlZyhVQVJUX0lFUihfYmFzZWFkZHIpLF9JRVIpO1wKKyAgIFJlc3RvcmVJUlFNYXNrKF9zYXZlZE1hc2spO1wKK30KKworI2RlZmluZSBEaXNhYmxlUkxTSW50cihfYmFzZWFkZHIpICAgXAore1wKKyAgIGthbF91aW50MTYgX0lFUjtcCisgICBrYWxfdWludDMyIF9zYXZlZE1hc2s7XAorICAgX3NhdmVkTWFzayA9IFNhdmVBbmRTZXRJUlFNYXNrKCk7XAorICAgX0lFUiA9IERSVl9SZWcoVUFSVF9JRVIoX2Jhc2VhZGRyKSk7XAorICAgX0lFUiAmPSB+KFVBUlRfSUVSX0VMU0kpO1wKKyAgIERSVl9Xcml0ZVJlZyhVQVJUX0lFUihfYmFzZWFkZHIpLF9JRVIpO1wKKyAgIFJlc3RvcmVJUlFNYXNrKF9zYXZlZE1hc2spO1wKK30KKworCitleHRlcm4gVUFSVF9XT1JLSU5HX01PREUgVUFSVF9HZXRUeFdvcmtpbmdNb2RlKFVBUlRfUE9SVCBwb3J0KTsKKworI2lmIGRlZmluZWQoX19NVEtfSU5URVJOQUxfXykgJiYgIWRlZmluZWQoX19NQVVJX0JBU0lDX18pICYmIGRlZmluZWQoX19EUlZfREJHX01FTU9SWV9UUkFDRV9TVVBQT1JUX18pCisjZGVmaW5lIERSVl9VQVJUX01FTU9SWV9UUkFDRQordHlwZWRlZiBzdHJ1Y3R7CisgICBrYWxfdWludDE2ICAgICAgdGFnOworICAga2FsX3VpbnQzMiAgICAgIHRpbWU7CisgICBrYWxfdWludDMyICAgICAgZGF0YTE7CisgICBrYWxfdWludDMyICAgICAgZGF0YTI7Cit9VUFSVF9EUlZfREJHX0RBVEE7CisjZGVmaW5lIE1BWF9VQVJUX0RSVl9EQkdfSU5GT19TSVpFIDUxMgordHlwZWRlZiBzdHJ1Y3R7CisgICBVQVJUX0RSVl9EQkdfREFUQSAgIGRiZ19kYXRhW01BWF9VQVJUX0RSVl9EQkdfSU5GT19TSVpFXTsKKyAgIGthbF91aW50MTYgICAgICAgICAgZGJnX2RhdGFfaWR4OworfVVBUlRfRFJWX0RCR19TVFJVQ1Q7CitleHRlcm4gdm9pZCB1YXJ0X2Rydl9kYmdfdHJhY2Uoa2FsX3VpbnQxNiBpbmRleCwga2FsX3VpbnQzMiB0aW1lLCBrYWxfdWludDMyIGRhdGExLCBrYWxfdWludDMyIGRhdGEyKTsKKyNkZWZpbmUgVUFSVF9EQkcoYSxiLGMsZCkgdWFydF9kcnZfZGJnX3RyYWNlKGEsYixjLGQpOworI2luY2x1ZGUgInVzX3RpbWVyLmgiCitleHRlcm4ga2FsX3VpbnQzMiBMMUlfR2V0VGltZVN0YW1wKHZvaWQpOworI2RlZmluZSBVQVJUX0dldFRpbWVTdGFtcCBMMUlfR2V0VGltZVN0YW1wCisjZWxzZSAvLyNpZiBkZWZpbmVkKF9fTVRLX0lOVEVSTkFMX18pICYmICFkZWZpbmVkKExPV19DT1NUX1NVUFBPUlQpCisjZGVmaW5lIFVBUlRfREJHKGEsYixjLGQpIDsKKyNlbmRpZiAvLyNpZiBkZWZpbmVkKF9fTVRLX0lOVEVSTkFMX18pICYmICFkZWZpbmVkKExPV19DT1NUX1NVUFBPUlQpCisKKworI2lmIGRlZmluZWQoX19TU0RWVF9URVNUX18pICAgICAvKiAgYWRkIGZvciBTU0RWVCAsIG1ha2Ugc3VyZSB0aGF0IFVBUlQgaW5pdCBWYWx1ZSBpcyBzYXRpc2ZpZWQgZm9yIERWVCdzIG5lZWQgICovCisjZGVmaW5lIERSVl9VQVJUX1dyaXRlUmVnKGFkZHIsZGF0YSkKKyNkZWZpbmUgRFJWX1VBUlRfUmVnKGFkZHIpICAgICAgICAgICAgICAgICAgICAgICAgRFJWX1JlZyhhZGRyKSAgICAgICAgICAgICAgICAgICAgICAKKyNkZWZpbmUgRFJWX1VBUlRfV3JpdGVSZWczMihhZGRyLGRhdGEpCisjZGVmaW5lIERSVl9VQVJUX1JlZzMyKGFkZHIpICAgICAgICAgICAgICAgICAgICAgIERSVl9SZWczMihhZGRyKSAgICAgICAgICAgICAgICAgICAgCisjZGVmaW5lIERSVl9VQVJUX1dyaXRlUmVnOChhZGRyLGRhdGEpCisjZGVmaW5lIERSVl9VQVJUX1JlZzgoYWRkcikgICAgICAgICAgICAgICAgICAgICAgIERSVl9SZWc4KGFkZHIpICAgICAgICAgICAgICAgICAgICAgCisjZGVmaW5lIERSVl9VQVJUX0NsZWFyQml0cyhhZGRyLGRhdGEpCisjZGVmaW5lIERSVl9VQVJUX1NldEJpdHMoYWRkcixkYXRhKQorI2RlZmluZSBEUlZfVUFSVF9TZXREYXRhKGFkZHIsIGJpdG1hc2ssIHZhbHVlKQorI2RlZmluZSBEUlZfVUFSVF9DbGVhckJpdHMzMihhZGRyLGRhdGEpCisjZGVmaW5lIERSVl9VQVJUX1NldEJpdHMzMihhZGRyLGRhdGEpCisjZGVmaW5lIERSVl9VQVJUX1NldERhdGEzMihhZGRyLCBiaXRtYXNrLCB2YWx1ZSkKKyNkZWZpbmUgRFJWX1VBUlRfQ2xlYXJCaXRzOChhZGRyLGRhdGEpCisjZGVmaW5lIERSVl9VQVJUX1NldEJpdHM4KGFkZHIsZGF0YSkKKyNkZWZpbmUgRFJWX1VBUlRfU2V0RGF0YTgoYWRkciwgYml0bWFzaywgdmFsdWUpCisjZWxpZiBkZWZpbmVkKF9fRFJWX0NPTU1fUkVHX0RCR19fKSAmJiBkZWZpbmVkKF9fRFJWX1VBUlRfUkVHX0RCR19fKSAgLypub3JtYWwgY2FzZSAqLworI2RlZmluZSBEUlZfVUFSVF9Xcml0ZVJlZyhhZGRyLGRhdGEpICAgICAgICAgICAgICBEUlZfREJHX1dyaXRlUmVnKGFkZHIsZGF0YSkKKyNkZWZpbmUgRFJWX1VBUlRfUmVnKGFkZHIpICAgICAgICAgICAgICAgICAgICAgICAgRFJWX0RCR19SZWcoYWRkcikgICAgICAgICAgICAgICAgICAgICAgCisjZGVmaW5lIERSVl9VQVJUX1dyaXRlUmVnMzIoYWRkcixkYXRhKSAgICAgICAgICAgIERSVl9EQkdfV3JpdGVSZWczMihhZGRyLGRhdGEpICAgICAgICAgIAorI2RlZmluZSBEUlZfVUFSVF9SZWczMihhZGRyKSAgICAgICAgICAgICAgICAgICAgICBEUlZfREJHX1JlZzMyKGFkZHIpICAgICAgICAgICAgICAgICAgICAKKyNkZWZpbmUgRFJWX1VBUlRfV3JpdGVSZWc4KGFkZHIsZGF0YSkgICAgICAgICAgICAgRFJWX0RCR19Xcml0ZVJlZzgoYWRkcixkYXRhKSAgICAgICAgICAgCisjZGVmaW5lIERSVl9VQVJUX1JlZzgoYWRkcikgICAgICAgICAgICAgICAgICAgICAgIERSVl9EQkdfUmVnOChhZGRyKSAgICAgICAgICAgICAgICAgICAgIAorI2RlZmluZSBEUlZfVUFSVF9DbGVhckJpdHMoYWRkcixkYXRhKSAgICAgICAgICAgICBEUlZfREJHX0NsZWFyQml0cyhhZGRyLGRhdGEpICAgICAgICAgICAKKyNkZWZpbmUgRFJWX1VBUlRfU2V0Qml0cyhhZGRyLGRhdGEpICAgICAgICAgICAgICAgRFJWX0RCR19TZXRCaXRzKGFkZHIsZGF0YSkgICAgICAgICAgICAgCisjZGVmaW5lIERSVl9VQVJUX1NldERhdGEoYWRkciwgYml0bWFzaywgdmFsdWUpICAgIERSVl9EQkdfU2V0RGF0YShhZGRyLCBiaXRtYXNrLCB2YWx1ZSkgIAorI2RlZmluZSBEUlZfVUFSVF9DbGVhckJpdHMzMihhZGRyLGRhdGEpICAgICAgICAgICBEUlZfREJHX0NsZWFyQml0czMyKGFkZHIsZGF0YSkgICAgICAgICAKKyNkZWZpbmUgRFJWX1VBUlRfU2V0Qml0czMyKGFkZHIsZGF0YSkgICAgICAgICAgICAgRFJWX0RCR19TZXRCaXRzMzIoYWRkcixkYXRhKSAgICAgICAgICAgCisjZGVmaW5lIERSVl9VQVJUX1NldERhdGEzMihhZGRyLCBiaXRtYXNrLCB2YWx1ZSkgIERSVl9EQkdfU2V0RGF0YTMyKGFkZHIsIGJpdG1hc2ssIHZhbHVlKQorI2RlZmluZSBEUlZfVUFSVF9DbGVhckJpdHM4KGFkZHIsZGF0YSkgICAgICAgICAgICBEUlZfREJHX0NsZWFyQml0czgoYWRkcixkYXRhKSAgICAgICAgICAKKyNkZWZpbmUgRFJWX1VBUlRfU2V0Qml0czgoYWRkcixkYXRhKSAgICAgICAgICAgICAgRFJWX0RCR19TZXRCaXRzOChhZGRyLGRhdGEpICAgICAgICAgICAgCisjZGVmaW5lIERSVl9VQVJUX1NldERhdGE4KGFkZHIsIGJpdG1hc2ssIHZhbHVlKSAgIERSVl9EQkdfU2V0RGF0YTgoYWRkciwgYml0bWFzaywgdmFsdWUpIAorI2Vsc2UKKyNkZWZpbmUgRFJWX1VBUlRfV3JpdGVSZWcoYWRkcixkYXRhKSAgICAgICAgICAgICAgRFJWX1dyaXRlUmVnKGFkZHIsZGF0YSkKKyNkZWZpbmUgRFJWX1VBUlRfUmVnKGFkZHIpICAgICAgICAgICAgICAgICAgICAgICAgRFJWX1JlZyhhZGRyKSAgICAgICAgICAgICAgICAgICAgICAKKyNkZWZpbmUgRFJWX1VBUlRfV3JpdGVSZWczMihhZGRyLGRhdGEpICAgICAgICAgICAgRFJWX1dyaXRlUmVnMzIoYWRkcixkYXRhKSAgICAgICAgICAKKyNkZWZpbmUgRFJWX1VBUlRfUmVnMzIoYWRkcikgICAgICAgICAgICAgICAgICAgICAgRFJWX1JlZzMyKGFkZHIpICAgICAgICAgICAgICAgICAgICAKKyNkZWZpbmUgRFJWX1VBUlRfV3JpdGVSZWc4KGFkZHIsZGF0YSkgICAgICAgICAgICAgRFJWX1dyaXRlUmVnOChhZGRyLGRhdGEpICAgICAgICAgICAKKyNkZWZpbmUgRFJWX1VBUlRfUmVnOChhZGRyKSAgICAgICAgICAgICAgICAgICAgICAgRFJWX1JlZzgoYWRkcikgICAgICAgICAgICAgICAgICAgICAKKyNkZWZpbmUgRFJWX1VBUlRfQ2xlYXJCaXRzKGFkZHIsZGF0YSkgICAgICAgICAgICAgRFJWX0NsZWFyQml0cyhhZGRyLGRhdGEpICAgICAgICAgICAKKyNkZWZpbmUgRFJWX1VBUlRfU2V0Qml0cyhhZGRyLGRhdGEpICAgICAgICAgICAgICAgRFJWX1NldEJpdHMoYWRkcixkYXRhKSAgICAgICAgICAgICAKKyNkZWZpbmUgRFJWX1VBUlRfU2V0RGF0YShhZGRyLCBiaXRtYXNrLCB2YWx1ZSkgICAgRFJWX1NldERhdGEoYWRkciwgYml0bWFzaywgdmFsdWUpICAKKyNkZWZpbmUgRFJWX1VBUlRfQ2xlYXJCaXRzMzIoYWRkcixkYXRhKSAgICAgICAgICAgRFJWX0NsZWFyQml0czMyKGFkZHIsZGF0YSkgICAgICAgICAKKyNkZWZpbmUgRFJWX1VBUlRfU2V0Qml0czMyKGFkZHIsZGF0YSkgICAgICAgICAgICAgRFJWX1NldEJpdHMzMihhZGRyLGRhdGEpICAgICAgICAgICAKKyNkZWZpbmUgRFJWX1VBUlRfU2V0RGF0YTMyKGFkZHIsIGJpdG1hc2ssIHZhbHVlKSAgRFJWX1NldERhdGEzMihhZGRyLCBiaXRtYXNrLCB2YWx1ZSkKKyNkZWZpbmUgRFJWX1VBUlRfQ2xlYXJCaXRzOChhZGRyLGRhdGEpICAgICAgICAgICAgRFJWX0NsZWFyQml0czgoYWRkcixkYXRhKSAgICAgICAgICAKKyNkZWZpbmUgRFJWX1VBUlRfU2V0Qml0czgoYWRkcixkYXRhKSAgICAgICAgICAgICAgRFJWX1NldEJpdHM4KGFkZHIsZGF0YSkgICAgICAgICAgICAKKyNkZWZpbmUgRFJWX1VBUlRfU2V0RGF0YTgoYWRkciwgYml0bWFzaywgdmFsdWUpICAgRFJWX1NldERhdGE4KGFkZHIsIGJpdG1hc2ssIHZhbHVlKSAKKyNlbmRpZiAvLyNpZiBkZWZpbmVkKF9fRFJWX0NPTU1fUkVHX0RCR19fKSAmJiBkZWZpbmVkKF9fRFJWX1VBUlRfUkVHX0RCR19fKQorCisKKyNlbmRpZgorCmRpZmYgLS1naXQgYS9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL3VhcnRfc3dfaW50LmggYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL3VhcnRfc3dfaW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTBmZDNmNAotLS0gL2Rldi9udWxsCisrKyBiL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvdWFydF9zd19pbnQuaApAQCAtMCwwICsxLDUzIEBACisjaWZuZGVmIF9fVUFSVF9TV19JTlRfSF9fCisjZGVmaW5lIF9fVUFSVF9TV19JTlRfSF9fCisKKyAgICAgICAgLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgKiBOb3RlWFhYOiBCZWxvdyBpcyB0aGUgc2FtcGxlIGNvZGUgdG8gc2V0IFVBUlQKKyAgICAgICAgKiAgICAgICAgICBVQVJUIGNsb2NrIGlzIE1QTEwgY2xvY2sgLyA4LiAgICAgICAgIAorICAgICAgICAqICAgICAgICAgIGJhdWQgcmF0ZSBpcyAxMTUyMDAuICAgICAgICAgICAgICAgICAgCisgICAgICAgICogICAgICAgICAgVGh1cyBVQVJUMV9ETEwgPSAweEUuICAgICAgICAgICAgICAgICAKKyAgICAgICAgKiAgICAgICAgICBZb3Ugc2hvdWxkIHNwZWNpZnkgVUFSVDFfRExMIGJhc2VkIG9uIAorICAgICAgICAqICAgICAgICAgICAgICBkaXZpc29yKERMSCtETEwpID0gKFVBUlRfQ0xPQ0tfUkFURSkKKyAgICAgICAgKi8KKyAgICAgICAgCisgICAgICAgIAorI2RlZmluZSBVQVJUX1NFVFVQKF9uLCBfZGl2TCwgX2RpdkgpICAgICAgICAgICAgXAorICAgIGRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIHZvbGF0aWxlIGthbF91aW50MTYgdG1wOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAvKiBTZXR1cCA4LU4tMSwoVUFSVF9XTFNfOCB8IFVBUlRfTk9ORV9QQVJJVFkgfCBVQVJUXyAqLyAgICAgICAgICBcCisgICAgICAgIFVBUlRfV3JpdGVSZWcoVUFSVCMjX24jI19MQ1IsMHgwMDAzKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgLyogZGl2aXNvcjogOCAqLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBVQVJUX1dyaXRlUmVnKFVBUlQjI19uIyNfSElHSFNQRUVELDB4MDAwMSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIC8qIFNldCBCYXVkUmF0ZSAqLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgdG1wID0gVUFSVF9SZWFkUmVnKFVBUlQjI19uIyNfTENSKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgdG1wIHw9IFVBUlRfTENSX0RMQUI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBVQVJUX1dyaXRlUmVnKFVBUlQjI19uIyNfTENSLCB0bXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIC8qIE1DVV9DTEsgIDQ5MTUyMDAwMCg0OTEuNTJNSHopICovICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgLyogVUFSVF9DTEsgKE1DVV9DTEsgLyA4KSAqLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIC8qIGRpdmlzb3JMID0gKChVQVJUX0NMSyAvIDgpIC8gMTE1MjAwKSAmIDB4RkY7ICovICAgICAgICAgICAgICAgIFwKKyAgICAgICAgLyogZGl2aXNvckggPSAoKFVBUlRfQ0xLIC8gOCkgLyAxMTUyMDApID4+IDg7ICovICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIC8qIFVBUlRfV3JpdGVSZWcoX0RMTCwgZGl2aXNvckwpOyAqLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgVUFSVF9Xcml0ZVJlZyhVQVJUIyNfbiMjX0RMTCwgKF9kaXZMKSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgLyogVUFSVF9Xcml0ZVJlZyhfRExNLCBkaXZpc29ySCk7ICovICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBVQVJUX1dyaXRlUmVnKFVBUlQjI19uIyNfRExNLCAoX2RpdkgpKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIFVBUlRfV3JpdGVSZWcoVUFSVCMjX24jI19MQ1IsIDB4MDAwMyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIC8qIEVuYWJsZSBGaWZvLCBhbmQgUnggVHJpZ2dlciBsZXZlbCA9IDE2Ynl0ZXMsIGZsdXNoICovICAgICAgICAgIFwKKyAgICAgICAgLyogKFVBUlRfRkNSX0ZJRk9FTiB8IFVBUlRfRkNSXzRCeXRlX0xldmVsIHwgVUFSVF9GQ1IgKi8gICAgICAgICAgXAorICAgICAgICBVQVJUX1dyaXRlUmVnKFVBUlQjI19uIyNfRkNSLCAweDAwNDcpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIC8qIERUUiAsIFJUUyBpcyBvbiwgZGF0YSB3aWxsIGJlIGNvbWluZyxPdXRwdXQyIGlzIGhpICovICAgICAgICAgIFwKKyAgICAgICAgVUFSVF9Xcml0ZVJlZyhVQVJUIyNfbiMjX01DUiwoa2FsX3VpbnQxNikweDAwMDMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAvKiBfSUVSLCBlbmFibGUgUkRBLCBSTFMsIE1TICwgZGlzYWJsZSBUSFIgaW50ZXIgKi8gICAgICAgICAgICAgICBcCisgICAgICAgIC8qIFVBUlRfV3JpdGVSZWcoVUFSVCMjX24jI19JRVIsIFVBUlRfSUVSX1JEQSk7ICovICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIFVBUlRfV3JpdGVSZWcoVUFSVCMjX24jI19JRVIsIElFUl9IV19OT1JNQUxJTlRTKTsgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgfSB3aGlsZSgwKQorCisjZW5kaWYgLyogX19VQVJUX1NXX0lOVF9IX18gKi8KZGlmZiAtLWdpdCBhL21jdS9kcml2ZXIvcGVyaXBoZXJhbC9pbmMvd2R0X2h3LmggYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL3dkdF9ody5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgzMmZmMGYKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL3dkdF9ody5oCkBAIC0wLDAgKzEsMzY1IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMDUKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4gCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRmlsZW5hbWU6CisgKiAtLS0tLS0tLS0KKyAqICAgIHdkdF9ody5oCisgKgorICogUHJvamVjdDoKKyAqIC0tLS0tLS0tCisgKiAgIE1hdWlfU29mdHdhcmUKKyAqCisgKiBEZXNjcmlwdGlvbjoKKyAqIC0tLS0tLS0tLS0tLQorICogICBUaGlzIGZpbGUgaXMgaW50ZW5kcyBmb3IgV0RUIGRyaXZlci4KKyAqCisgKiBBdXRob3I6CisgKiAtLS0tLS0tCisgKiAtLS0tLS0tCisgKgorICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKiAgICAgICAgICAgICBISVNUT1JZCisgKiBCZWxvdyB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiBVcHBlciB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZm5kZWYgX1dEVF9IV19ICisjZGVmaW5lIF9XRFRfSFdfSAorI2luY2x1ZGUgImRydl9mZWF0dXJlc193ZHQuaCIKKyNpbmNsdWRlICJyZWdfYmFzZS5oIgorI2lmICFkZWZpbmVkKERSVl9XRFRfT0ZGKQorCisjZGVmaW5lIFdEVF9iYXNlICAgICAgICAgICAgICAgIFJHVV9iYXNlICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIFdhdGNoZG9nIFRpbWVyICAgICAgICAgICAgICAgICAgICAgICAgICovCisKKy8qKioqKioqKioqKioqKioqKgorICogV0RUIFJlZ2lzdGVycyAqCisgKioqKioqKioqKioqKioqKiovCisjaWYgZGVmaW5lZChEUlZfV0RUX0xJTUlUX1JFRykgfHwgZGVmaW5lZChGUEdBKQorICAgI2RlZmluZSAJV0RUX01PREUgICAJICAgICAgICAgICAgICAgICAgICAgKFdEVF9iYXNlKzB4MDAwMCkKKyAgICNkZWZpbmUgCVdEVF9MRU5HVEggCSAgICAgICAgICAgICAgICAgICAgIChXRFRfYmFzZSsweDAwMDQpCisgICAjZGVmaW5lIAlXRFRfUkVTVEFSVCAJICAgICAgICAgICAgICAgICAgKFdEVF9iYXNlKzB4MDAwOCkKKyAgICNkZWZpbmUgCVdEVF9TVEFUVVMgIAkgICAgICAgICAgICAgICAgICAoV0RUX2Jhc2UrMHgwMDBDKQorICAgI2RlZmluZSAJUkdVX1BFUklQSF9SRVNFVCAgICAgICAgICAgICAgICAgKFdEVF9iYXNlKzB4MDAxMCkKKyAgICNkZWZpbmUgCVJHVV9EU1BfUkVTRVQgICAgICAgICAgICAgICAgICAgIChXRFRfYmFzZSsweDAwMTQpCisgICAjZGVmaW5lIAlXRFRfUlNUSU5URVJWQUwgIAkgICAgICAgICAgICAgICAoV0RUX2Jhc2UrMHgwMDE4KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAjZGVmaW5lIAlXRFRfTU9ERV9LRVlNQVNLCSAgICAgICAgICAgICAgIDB4ZmYwMAorICAgI2RlZmluZSAJV0RUX01PREVfRVhURU4JCSAgICAgICAgICAgICAgIDB4MDAwNAorICAgI2RlZmluZSAJV0RUX01PREVfRVhUUE9MCQkgICAgICAgICAgICAweDAwMDIKKyAgICNkZWZpbmUgCVdEVF9NT0RFX0VOQUJMRQkJICAgICAgICAgICAgMHgwMDAxCisgICAjZGVmaW5lIAlXRFRfTEVOR1RIX1RPVVQJCSAgICAgICAgICAgIDB4ZmYwMAorICAgI2RlZmluZSAJV0RUX0xFTkdUSF9LRVlNQVNLCSAgICAgICAgICAgIDB4MDBmZgorICAgI2RlZmluZSAJV0RUX1JFU1RBUlRfS0VZCQkgICAgICAgICAgICAweDE5NzEKKyAgICNkZWZpbmUgCVdEVF9TVEFUVVNfQklUTUFTSwkgICAgICAgICAgICAweDgwMDAKKyAgICNkZWZpbmUgCVdEVF9MRU5HVEhfS0VZCQkgICAgICAgICAgICAgICAweDAwMDgKKyAgICNkZWZpbmUgCVdEVF9NT0RFX0tFWQkJICAgICAgICAgICAgICAgMHgyMjAwCisgICAjZGVmaW5lICBXRFRfUlNUSU5URVJWQUxfTUFTSyAgICAgICAgICAgICAweDBmZmYKKyAgIAorICAgI2RlZmluZSAgUkdVX1BFUklQSF9SRVNFVF9BUEJfUEVSSVBIICAgICAgMHg4MDAwCisgICAjZGVmaW5lICBSR1VfUEVSSVBIX1JFU0VUX0RNQSAgICAgICAgICAgICAweDQwMDAKKyAgIAorICAgI2RlZmluZSAgUkdVX0RTUF9SRVNFVF9CSVQgICAgICAgICAgICAgICAgMHg4MDAwCisjZW5kaWYgICAvKkRSVl9XRFRfTElNSVRfUkVHLEZQR0EqLworCisjaWYgZGVmaW5lZChEUlZfV0RUX0JBU0lDX1JFRykKKyAgICNkZWZpbmUgCVdEVF9NT0RFICAgCSAgICAgICAgICAgICAgICAgICAgIChXRFRfYmFzZSsweDAwMDApCisgICAjZGVmaW5lIAlXRFRfTEVOR1RIIAkgICAgICAgICAgICAgICAgICAgICAoV0RUX2Jhc2UrMHgwMDA0KQorICAgI2RlZmluZSAJV0RUX1JFU1RBUlQgCSAgICAgICAgICAgICAgICAgIChXRFRfYmFzZSsweDAwMDgpCisgICAjZGVmaW5lIAlXRFRfU1RBVFVTICAJICAgICAgICAgICAgICAgICAgKFdEVF9iYXNlKzB4MDAwQykKKyAgICNkZWZpbmUgCVJHVV9QRVJJUEhfUkVTRVQgICAgICAgICAgICAgICAgIChXRFRfYmFzZSsweDAwMTApCisgICAjZGVmaW5lIAlSR1VfRFNQX1JFU0VUICAgICAgICAgICAgICAgICAgICAoV0RUX2Jhc2UrMHgwMDE0KQorICAgI2RlZmluZSAJV0RUX1JTVElOVEVSVkFMICAJICAgICAgICAgICAgICAgKFdEVF9iYXNlKzB4MDAxOCkKKyAgICNkZWZpbmUgCVdEVF9TV1JTVCAgICAgICAgCSAgICAgICAgICAgICAgIChXRFRfYmFzZSsweDAwMWMpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgIC8qV0RUX01PREUqLworICAgI2RlZmluZSAJV0RUX01PREVfS0VZTUFTSwkgICAgICAgICAgICAgICAweGZmMDAKKyAgICNkZWZpbmUgCVdEVF9NT0RFX0FVVE9SU1QgICAgICAgICAgICAgICAgIDB4MDAxMAorICAgI2RlZmluZSAJV0RUX01PREVfSVJRRU4JCSAgICAgICAgICAgICAgIDB4MDAwOAorICAgI2RlZmluZSAJV0RUX01PREVfRVhURU4JCSAgICAgICAgICAgICAgIDB4MDAwNAorICAgI2RlZmluZSAJV0RUX01PREVfRVhUUE9MCQkgICAgICAgICAgICAweDAwMDIKKyAgICNkZWZpbmUgCVdEVF9NT0RFX0VOQUJMRQkJICAgICAgICAgICAgMHgwMDAxCisgICAjZGVmaW5lIAlXRFRfTU9ERV9LRVkJCSAgICAgICAgICAgICAgIDB4MjIwMAorICAgCisgICAvKldEVF9MRU5HVEgqLworICAgI2RlZmluZSAJV0RUX0xFTkdUSF9UT1VUCQkgICAgICAgICAgICAweGZmZTAKKyAgICNkZWZpbmUgCVdEVF9MRU5HVEhfS0VZTUFTSwkgICAgICAgICAgICAweDAwMWYKKyAgICNkZWZpbmUgCVdEVF9MRU5HVEhfS0VZCQkgICAgICAgICAgICAgICAweDAwMDgKKyAgIAorICAgLypXRFRfUkVTVEFSVCovCisgICAjZGVmaW5lIAlXRFRfUkVTVEFSVF9LRVkJCSAgICAgICAgICAgIDB4MTk3MQorICAgCisgICAvKldEVF9TVEFUVVMqLworICAgI2RlZmluZSAJV0RUX1NUQVRVU19CSVRNQVNLCSAgICAgICAgICAgIDB4YzAwMAorICAgI2RlZmluZSAJV0RUX1NUQVRVU19TV1dEVCAgCSAgICAgICAgICAgIDB4NDAwMAorICAgCisgICAvKldEVF9SU1RJTlRFUlZBTCovCisgICAjZGVmaW5lICBXRFRfUlNUSU5URVJWQUxfTUFTSyAgICAgICAgICAgICAweDBmZmYKKyAgICNkZWZpbmUgIFdEVF9SU1RJTlRFUlZBTF9WQUwgICAgICAgICAgICAgIDB4MGZmYSAgIC8vS0MKKyAgIAorICAgLypSR1VfUEVSSVBIX1JFU0VUKi8KKyAgICNkZWZpbmUgIFJHVV9QRVJJUEhfUkVTRVRfQVBCX1BFUklQSCAgICAgIDB4ODAwMAorICAgI2RlZmluZSAgUkdVX1BFUklQSF9SRVNFVF9ETUEgICAgICAgICAgICAgMHg0MDAwCisgICAjZGVmaW5lICBSR1VfUEVSSVBIX1JFU0VUX1VTQiAgICAgICAgICAgICAweDIwMDAKKyAgICNkZWZpbmUgIFJHVV9QRVJJUEhfUkVTRVRfRElTUCAgICAgICAgICAgIDB4MDgwMAorICAgCisgICAvKlJHVV9EU1BfUkVTRVQqLworICAgI2RlZmluZSAgUkdVX0RTUF9SRVNFVF9CSVQgICAgICAgICAgICAgICAgMHg4MDAwCisgICAKKyAgIC8qV0RUX1NXUlNUKi8KKyAgICNkZWZpbmUgIFdEVF9TV1JTVF9LRVkgICAgICAgICAgICAgICAgICAgIDB4MTIwOQorI2VuZGlmICAgLypEUlZfV0RUX0JBU0lDX1JFRyovCisKKyNpZiBkZWZpbmVkKERSVl9XRFRfUkVUTl9SRUcpCisvL2ZvciBVU0JETHYyLHdoZW4gV0RUIHJlc2V0LGxldCBCUk9NIG9yIGJvb3Rsb2FkZXIga25vdyB0aGUgdHdvIHRoaW5nczoKKy8vIDE6ICB3aGV0aGVyIGRvIFVTQkRMICBvciBub3QgaXMgIGRlcGVuZHMgb24gVGhlIHJlZ2lzdGVyOlJFVE5fRkxBRworLy8gMjogUkVUTl9EQVQwOiAgSG93IGxvbmcgdGhlIFVTQkRMIHRpbWVvdXQgCisgICAjZGVmaW5lIAlXRFRfUkVUTl9GTEFHICAgCSAgICAgICAgICAgICAoV0RUX2Jhc2UrMHg4MDApCisgICAjZGVmaW5lIAlXRFRfUkVUTl9GTEFHX1NFVCAJICAgICAgICAgICAgIChXRFRfYmFzZSsweDgwNCkKKyAgICNkZWZpbmUgCVdEVF9SRVROX0ZMQUdfQ0xSIAkgICAgICAgICAgICAgKFdEVF9iYXNlKzB4ODA4KQorICAgI2RlZmluZSAJV0RUX1JFVE5fREFUMCAJICAgICAgICAgICAgICAgICAoV0RUX2Jhc2UrMHg4MTQpCisKKyAgICNkZWZpbmUgV0RUX1JFVE5fRkxBR19LRVkgICAgICAgICAgICAgICAgIDB4NGUwMDAwMDAKKyNlbmRpZgorCisKKyNpZiBkZWZpbmVkKERSVl9XRFRfNjU3M19SRUcpCisKKworI2RlZmluZSBXRFRfYmFzZSAgICAgICAgICAgICAgICBSR1VfU0RfYmFzZQorCisgICAjZGVmaW5lIAlXRFRfTU9ERSAgIAkgICAgICAgICAgICAgICAgICAgICAoV0RUX2Jhc2UrMHgwMDAwKQorICAgI2RlZmluZSAJV0RUX0xFTkdUSCAJICAgICAgICAgICAgICAgICAgICAgKFdEVF9iYXNlKzB4MDAwNCkKKyAgICNkZWZpbmUgCVdEVF9SRVNUQVJUIAkgICAgICAgICAgICAgICAgICAoV0RUX2Jhc2UrMHgwMDA4KQorICAgI2RlZmluZSAJV0RUX1NUQVRVUyAgCSAgICAgICAgICAgICAgICAgIChXRFRfYmFzZSsweDAwMEMpCisgICAjZGVmaW5lIAlXRFRfUlNUSU5URVJWQUwgICAgICAgICAgICAgICAgIChXRFRfYmFzZSsweDAwMTApCisgICAjZGVmaW5lIAlXRFRfU1dSU1QgICAgICAgICAgICAgICAgICAgICAgICAoV0RUX2Jhc2UrMHgwMDE0KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAvKldEVF9NT0RFKi8KKyAgICNkZWZpbmUgCVdEVF9NT0RFX0tFWU1BU0sJICAgICAgICAgICAgICAgMHhmZjAwCisgICAjZGVmaW5lIAlXRFRfTU9ERV9JUlFFTgkJICAgICAgICAgICAgICAgMHgwMDA4CisgICAjZGVmaW5lIAlXRFRfTU9ERV9FWFRFTgkJICAgICAgICAgICAgICAgMHgwMDAwCisgICAjZGVmaW5lIAlXRFRfTU9ERV9FWFRQT0wJCSAgICAgICAgICAgIDB4MDAwMAorICAgI2RlZmluZSAJV0RUX01PREVfRU5BQkxFCQkgICAgICAgICAgICAweDAwMDEKKyAgICNkZWZpbmUgCVdEVF9NT0RFX0tFWQkgICAgICAgICAgICAgICAweDIyMDAKKyAgIAorICAgLypXRFRfTEVOR1RIKi8KKyAgICNkZWZpbmUgCVdEVF9MRU5HVEhfVE9VVAkJICAgICAgICAgICAgMHhmZmUwCisgICAjZGVmaW5lIAlXRFRfTEVOR1RIX0tFWU1BU0sJICAgICAgICAgICAgMHgwMDFmCisgICAjZGVmaW5lIAlXRFRfTEVOR1RIX0tFWQkJICAgICAgICAgICAgICAgMHgwMDA4CisgICAKKyAgIC8qV0RUX1JFU1RBUlQqLworICAgI2RlZmluZSAJV0RUX1JFU1RBUlRfS0VZCQkgICAgICAgICAgICAweDE5NzEKKyAgIAorICAgLypXRFRfU1RBVFVTKi8KKyAgICNkZWZpbmUgCVdEVF9TVEFUVVNfQklUTUFTSwkgICAgICAgICAgICAweGMwMDAKKyAgICNkZWZpbmUgCVdEVF9TVEFUVVNfU1dXRFQgIAkgICAgICAgICAgICAweDQwMDAKKyAgIAorICAgLypXRFRfUlNUSU5URVJWQUwqLworICAgI2RlZmluZSAgV0RUX1JTVElOVEVSVkFMX01BU0sgICAgICAgICAgICAgMHgwZmZmCisgICAjZGVmaW5lICBXRFRfUlNUSU5URVJWQUxfVkFMICAgICAgICAgICAgICAweDBmZmEgICAvL0tDCisgICAKKyAgIC8qV0RUX1NXUlNUKi8KKyAgICNkZWZpbmUgIFdEVF9TV1JTVF9LRVkgICAgICAgICAgICAgICAgICAgIDB4MTIwOQorI2VuZGlmICAgLypEUlZfV0RUXzY1NzNfUkVHKi8KKworI2lmIGRlZmluZWQoRFJWX1dEVF82NTc1X1JFRykKKyAgICNkZWZpbmUgCVdEVF9NT0RFICAgCSAgICAgICAgICAgICAgICAgICAgIChXRFRfYmFzZSsweDAwMDApCisgICAjZGVmaW5lIAlXRFRfTEVOR1RIIAkgICAgICAgICAgICAgICAgICAgICAoV0RUX2Jhc2UrMHgwMDA0KQorICAgI2RlZmluZSAJV0RUX1JFU1RBUlQgCSAgICAgICAgICAgICAgICAgIChXRFRfYmFzZSsweDAwMDgpCisgICAjZGVmaW5lIAlXRFRfU1RBVFVTICAJICAgICAgICAgICAgICAgICAgKFdEVF9iYXNlKzB4MDAwQykKKyAgICNkZWZpbmUgCVdEVF9TV1JTVCAgICAgICAgICAgICAgICAgICAgICAgIChXRFRfYmFzZSsweDAwMTApCisgICAjZGVmaW5lIAlNQ1VfUkVTRVQgICAgICAgICAgICAgICAgICAgIChXRFRfYmFzZSsweDAwNDApCisgICAjZGVmaW5lIAlSR1VfRFNQX1JFU0VUICAgICAgICAgICAgICAgICAgICAoV0RUX2Jhc2UrMHgwMDQ0KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAvKldEVF9NT0RFKi8KKyAgICNkZWZpbmUgCVdEVF9NT0RFX0tFWU1BU0sJICAgICAgICAgICAgICAgMHhmZjAwCisgICAjZGVmaW5lIAlXRFRfTU9ERV9JUlFFTgkJICAgICAgICAgICAgICAgMHgwMDAyCisgLy8gICNkZWZpbmUgCVdEVF9NT0RFX0VYVEVOCQkgICAgICAgICAgICAgICAweDAwMDAgIAorIC8vICAjZGVmaW5lIAlXRFRfTU9ERV9FWFRQT0wJCSAgICAgICAgICAgIDB4MDAwMAorICAgI2RlZmluZSAJV0RUX01PREVfRU5BQkxFCQkgICAgICAgICAgICAweDAwMDEKKyAgICNkZWZpbmUgCVdEVF9NT0RFX0tFWQkgICAgICAgICAgICAgICAweDIyMDAKKyAgIAorICAgLypXRFRfTEVOR1RIKi8KKyAgICNkZWZpbmUgCVdEVF9MRU5HVEhfVE9VVAkJICAgICAgICAgICAgMHhmZmUwCisgICAjZGVmaW5lIAlXRFRfTEVOR1RIX0tFWU1BU0sJICAgICAgICAgICAgMHgwMDFmCisgICAjZGVmaW5lIAlXRFRfTEVOR1RIX0tFWQkJICAgICAgICAgICAgICAgMHgwMDA4CisgICAKKyAgIC8qV0RUX1JFU1RBUlQqLworICAgI2RlZmluZSAJV0RUX1JFU1RBUlRfS0VZCQkgICAgICAgICAgICAweDE5NzEKKyAgIAorICAgLypXRFRfU1RBVFVTKi8KKyAgICNkZWZpbmUgCVdEVF9TVEFUVVNfQklUTUFTSwkgICAgICAgICAgICAweGMwMDAKKyAgICNkZWZpbmUgCVdEVF9TVEFUVVNfU1dXRFQgIAkgICAgICAgICAgICAweDQwMDAKKyAgIAorICAgLypXRFRfUlNUSU5URVJWQUwqLworICAgI2RlZmluZSAgV0RUX1JTVElOVEVSVkFMX01BU0sgICAgICAgICAgICAgMHgwZmZmCisgICAKKyAgIC8qV0RUX1NXUlNUKi8KKyAgICNkZWZpbmUgIFdEVF9TV1JTVF9LRVkgICAgICAgICAgICAgICAgICAgIDB4MTIwOQorCisgICAvKk1DVV9TV1JTVCovCisgICAjZGVmaW5lICBNQ1VfUkVTRVRfS0VZICAgICAgICAgICAgICAgICAgICAweDM3CisKKyAgIC8qRFNQX1NXUlNUKi8KKyAgICNkZWZpbmUgIE1DVV9SRVNFVF9LRVkgICAgICAgICAgICAgICAgICAgIDB4NDgKKworICAgLypXRFRfTEVOR1RIX1ZBTFVFX0lOSVQqLworICAgI2RlZmluZSAgV0RUX0xFTkdUSF9WQUxVRV9JTklUICAgICAgICAgICAgMHgxZmUwCisjZW5kaWYgICAvKkRSVl9XRFRfNjU3NV9SRUcqLworCisjZW5kaWYgICAvKiNpZiAhZGVmaW5lZChEUlZfV0RUX09GRikqLworI2VuZGlmICAgLypfV0RUX0hXX0gqLworCmRpZmYgLS1naXQgYS9tY3UvZHJpdmVyL3BlcmlwaGVyYWwvaW5jL3dkdF9zdy5oIGIvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy93ZHRfc3cuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NzFiMTc4Ci0tLSAvZGV2L251bGwKKysrIGIvbWN1L2RyaXZlci9wZXJpcGhlcmFsL2luYy93ZHRfc3cuaApAQCAtMCwwICsxLDIyNSBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDA1CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuIAorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZpbGVuYW1lOgorICogLS0tLS0tLS0tCisgKiAgICB3ZHRfc3cuaAorICoKKyAqIFByb2plY3Q6CisgKiAtLS0tLS0tLQorICogICBNYXVpX1NvZnR3YXJlCisgKgorICogRGVzY3JpcHRpb246CisgKiAtLS0tLS0tLS0tLS0KKyAqICAgVGhpcyBmaWxlIGlzIGludGVuZHMgZm9yIFdEVCBkcml2ZXIuCisgKgorICogQXV0aG9yOgorICogLS0tLS0tLQorICogLS0tLS0tLQorICoKKyAqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICogICAgICAgICAgICAgSElTVE9SWQorICogQmVsb3cgdGhpcyBsaW5lLCB0aGlzIHBhcnQgaXMgY29udHJvbGxlZCBieSBQVkNTIFZNLiBETyBOT1QgTU9ESUZZISEKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIFVwcGVyIHRoaXMgbGluZSwgdGhpcyBwYXJ0IGlzIGNvbnRyb2xsZWQgYnkgUFZDUyBWTS4gRE8gTk9UIE1PRElGWSEhCisgKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmbmRlZiBXRFRfU1dfSAorI2RlZmluZSBXRFRfU1dfSAorCisjaW5jbHVkZSAiZHJ2X2ZlYXR1cmVzX3dkdC5oIgorI2luY2x1ZGUgImRydl9jb21tLmgiCisjaW5jbHVkZSAid2R0X2h3LmgiCisvLyNpbmNsdWRlICJ3ZHRfaHcuaCIKKy8vI2luY2x1ZGUgImthbF9ub25fc3BlY2lmaWNfZ2VuZXJhbF90eXBlcy5oIgorCisvKk11c3QgaW5jbHVkZSAiZHJ2X2NvbW0uaCovCisjZGVmaW5lIFdEVF9SU1RJTlRFUlZBTF9WQUxVRSAgICAweGZmYQorI2RlZmluZSBXRFRfUmVzdGFydCgpICBEUlZfV3JpdGVSZWcoV0RUX1JFU1RBUlQsV0RUX1JFU1RBUlRfS0VZKQordm9pZCBXRFRfU2V0VmFsdWUoa2FsX3VpbnQxNiB2YWx1ZSk7Cit2b2lkIFdEVF9FbmFibGUoa2FsX2Jvb2wgZW4pOwordm9pZCBXRFRfRW5hYmxlSW50ZXJydXB0KGthbF9ib29sIGVuYWJsZSk7Cit2b2lkIFdEVF9TZXRFeHRwb2woSU9fbGV2ZWwgZXh0cG9sKTsKK3ZvaWQgV0RUX1NldEV4dGVuKGthbF9ib29sIGVuKTsKK3ZvaWQgV0RUX0NvbmZpZyhJT19sZXZlbCBleHRwb2wsIGthbF9ib29sIGV4dGVuKTsKK3ZvaWQgV0RUX0VuYWJsZV9EZWJ1Z19Nb2RlKGthbF9ib29sIGVuKTsKK3ZvaWQgV0RUX2luaXQodm9pZCk7Cit2b2lkIERSVl9SRVNFVCh2b2lkKTsKK3ZvaWQgRFJWX0FCTl9SRVNFVCh2b2lkKTsKK3ZvaWQgV0RUX1Jlc3RhcnQyKHZvaWQpOworCisjaWYgZGVmaW5lZChEUlZfV0RUX1JFVE5fUkVHKQordm9pZCBXRFRfV3JpdGVfUkVUTl9GTEFHKGthbF91aW50OCBmbGFnKTsKK3ZvaWQgV0RUX1NFVF9SRVROX0ZMQUcoa2FsX3VpbnQ4IGZsYWcpOwordm9pZCBXRFRfQ0xSX1JFVE5fRkxBRyhrYWxfdWludDggZmxhZyk7CitrYWxfdWludDggV0RUX1JlYWRfUkVUTl9GTEFHKHZvaWQpOwordm9pZCBXRFRfV3JpdGVfUkVUTl9EQVQwKGthbF91aW50MzIgdmFsdWUpOwora2FsX3VpbnQzMiBXRFRfUmVhZF9SRVROX0RBVDAodm9pZCk7CisjZW5kaWYKKworCisKKyNpZiAhZGVmaW5lZChEUlZfV0RUX09GRikKKyNpZiBkZWZpbmVkKF9fRFJWX0NPTU1fUkVHX0RCR19fKSAmJiBkZWZpbmVkKF9fRFJWX1dEVF9SRUdfREJHX18pCisjZGVmaW5lIERSVl9XRFRfV3JpdGVSZWcoYWRkcixkYXRhKSAgICAgICAgICAgICAgRFJWX0RCR19Xcml0ZVJlZyhhZGRyLGRhdGEpCisjZGVmaW5lIERSVl9XRFRfUmVnKGFkZHIpICAgICAgICAgICAgICAgICAgICAgICAgRFJWX0RCR19SZWcoYWRkcikgICAgICAgICAgICAgICAgICAgICAgCisjZGVmaW5lIERSVl9XRFRfV3JpdGVSZWczMihhZGRyLGRhdGEpICAgICAgICAgICAgRFJWX0RCR19Xcml0ZVJlZzMyKGFkZHIsZGF0YSkgICAgICAgICAgCisjZGVmaW5lIERSVl9XRFRfUmVnMzIoYWRkcikgICAgICAgICAgICAgICAgICAgICAgRFJWX0RCR19SZWczMihhZGRyKSAgICAgICAgICAgICAgICAgICAgCisjZGVmaW5lIERSVl9XRFRfV3JpdGVSZWc4KGFkZHIsZGF0YSkgICAgICAgICAgICAgRFJWX0RCR19Xcml0ZVJlZzgoYWRkcixkYXRhKSAgICAgICAgICAgCisjZGVmaW5lIERSVl9XRFRfUmVnOChhZGRyKSAgICAgICAgICAgICAgICAgICAgICAgRFJWX0RCR19SZWc4KGFkZHIpICAgICAgICAgICAgICAgICAgICAgCisjZGVmaW5lIERSVl9XRFRfQ2xlYXJCaXRzKGFkZHIsZGF0YSkgICAgICAgICAgICAgRFJWX0RCR19DbGVhckJpdHMoYWRkcixkYXRhKSAgICAgICAgICAgCisjZGVmaW5lIERSVl9XRFRfU2V0Qml0cyhhZGRyLGRhdGEpICAgICAgICAgICAgICAgRFJWX0RCR19TZXRCaXRzKGFkZHIsZGF0YSkgICAgICAgICAgICAgCisjZGVmaW5lIERSVl9XRFRfU2V0RGF0YShhZGRyLCBiaXRtYXNrLCB2YWx1ZSkgICAgRFJWX0RCR19TZXREYXRhKGFkZHIsIGJpdG1hc2ssIHZhbHVlKSAgCisjZGVmaW5lIERSVl9XRFRfQ2xlYXJCaXRzMzIoYWRkcixkYXRhKSAgICAgICAgICAgRFJWX0RCR19DbGVhckJpdHMzMihhZGRyLGRhdGEpICAgICAgICAgCisjZGVmaW5lIERSVl9XRFRfU2V0Qml0czMyKGFkZHIsZGF0YSkgICAgICAgICAgICAgRFJWX0RCR19TZXRCaXRzMzIoYWRkcixkYXRhKSAgICAgICAgICAgCisjZGVmaW5lIERSVl9XRFRfU2V0RGF0YTMyKGFkZHIsIGJpdG1hc2ssIHZhbHVlKSAgRFJWX0RCR19TZXREYXRhMzIoYWRkciwgYml0bWFzaywgdmFsdWUpCisjZGVmaW5lIERSVl9XRFRfQ2xlYXJCaXRzOChhZGRyLGRhdGEpICAgICAgICAgICAgRFJWX0RCR19DbGVhckJpdHM4KGFkZHIsZGF0YSkgICAgICAgICAgCisjZGVmaW5lIERSVl9XRFRfU2V0Qml0czgoYWRkcixkYXRhKSAgICAgICAgICAgICAgRFJWX0RCR19TZXRCaXRzOChhZGRyLGRhdGEpICAgICAgICAgICAgCisjZGVmaW5lIERSVl9XRFRfU2V0RGF0YTgoYWRkciwgYml0bWFzaywgdmFsdWUpICAgRFJWX0RCR19TZXREYXRhOChhZGRyLCBiaXRtYXNrLCB2YWx1ZSkgCisjZWxzZQorI2RlZmluZSBEUlZfV0RUX1dyaXRlUmVnKGFkZHIsZGF0YSkgICAgICAgICAgICAgIERSVl9Xcml0ZVJlZyhhZGRyLGRhdGEpCisjZGVmaW5lIERSVl9XRFRfUmVnKGFkZHIpICAgICAgICAgICAgICAgICAgICAgICAgRFJWX1JlZyhhZGRyKSAgICAgICAgICAgICAgICAgICAgICAKKyNkZWZpbmUgRFJWX1dEVF9Xcml0ZVJlZzMyKGFkZHIsZGF0YSkgICAgICAgICAgICBEUlZfV3JpdGVSZWczMihhZGRyLGRhdGEpICAgICAgICAgIAorI2RlZmluZSBEUlZfV0RUX1JlZzMyKGFkZHIpICAgICAgICAgICAgICAgICAgICAgIERSVl9SZWczMihhZGRyKSAgICAgICAgICAgICAgICAgICAgCisjZGVmaW5lIERSVl9XRFRfV3JpdGVSZWc4KGFkZHIsZGF0YSkgICAgICAgICAgICAgRFJWX1dyaXRlUmVnOChhZGRyLGRhdGEpICAgICAgICAgICAKKyNkZWZpbmUgRFJWX1dEVF9SZWc4KGFkZHIpICAgICAgICAgICAgICAgICAgICAgICBEUlZfUmVnOChhZGRyKSAgICAgICAgICAgICAgICAgICAgIAorI2RlZmluZSBEUlZfV0RUX0NsZWFyQml0cyhhZGRyLGRhdGEpICAgICAgICAgICAgIERSVl9DbGVhckJpdHMoYWRkcixkYXRhKSAgICAgICAgICAgCisjZGVmaW5lIERSVl9XRFRfU2V0Qml0cyhhZGRyLGRhdGEpICAgICAgICAgICAgICAgRFJWX1NldEJpdHMoYWRkcixkYXRhKSAgICAgICAgICAgICAKKyNkZWZpbmUgRFJWX1dEVF9TZXREYXRhKGFkZHIsIGJpdG1hc2ssIHZhbHVlKSAgICBEUlZfU2V0RGF0YShhZGRyLCBiaXRtYXNrLCB2YWx1ZSkgIAorI2RlZmluZSBEUlZfV0RUX0NsZWFyQml0czMyKGFkZHIsZGF0YSkgICAgICAgICAgIERSVl9DbGVhckJpdHMzMihhZGRyLGRhdGEpICAgICAgICAgCisjZGVmaW5lIERSVl9XRFRfU2V0Qml0czMyKGFkZHIsZGF0YSkgICAgICAgICAgICAgRFJWX1NldEJpdHMzMihhZGRyLGRhdGEpICAgICAgICAgICAKKyNkZWZpbmUgRFJWX1dEVF9TZXREYXRhMzIoYWRkciwgYml0bWFzaywgdmFsdWUpICBEUlZfU2V0RGF0YTMyKGFkZHIsIGJpdG1hc2ssIHZhbHVlKQorI2RlZmluZSBEUlZfV0RUX0NsZWFyQml0czgoYWRkcixkYXRhKSAgICAgICAgICAgIERSVl9DbGVhckJpdHM4KGFkZHIsZGF0YSkgICAgICAgICAgCisjZGVmaW5lIERSVl9XRFRfU2V0Qml0czgoYWRkcixkYXRhKSAgICAgICAgICAgICAgRFJWX1NldEJpdHM4KGFkZHIsZGF0YSkgICAgICAgICAgICAKKyNkZWZpbmUgRFJWX1dEVF9TZXREYXRhOChhZGRyLCBiaXRtYXNrLCB2YWx1ZSkgICBEUlZfU2V0RGF0YTgoYWRkciwgYml0bWFzaywgdmFsdWUpIAorI2VuZGlmIC8vI2lmIGRlZmluZWQoX19EUlZfQ09NTV9SRUdfREJHX18pICYmIGRlZmluZWQoX19EUlZfV0RUX1JFR19EQkdfXykKKworI2Vsc2UgLy8gIWRlZmluZWQoRFJWX1dEVF9PRkYpCisKKyNkZWZpbmUgRFJWX1dEVF9Xcml0ZVJlZyhhZGRyLGRhdGEpCisjZGVmaW5lIERSVl9XRFRfUmVnKGFkZHIpICAgICAgICAgICAgICAgICAgICAgICAgZHJ2X2R1bW15X3JldHVybigpCisjZGVmaW5lIERSVl9XRFRfV3JpdGVSZWczMihhZGRyLGRhdGEpCisjZGVmaW5lIERSVl9XRFRfUmVnMzIoYWRkcikgICAgICAgICAgICAgICAgICAgICAgZHJ2X2R1bW15X3JldHVybigpCisjZGVmaW5lIERSVl9XRFRfV3JpdGVSZWc4KGFkZHIsZGF0YSkKKyNkZWZpbmUgRFJWX1dEVF9SZWc4KGFkZHIpICAgICAgICAgICAgICAgICAgICAgICBkcnZfZHVtbXlfcmV0dXJuKCkKKyNkZWZpbmUgRFJWX1dEVF9DbGVhckJpdHMoYWRkcixkYXRhKQorI2RlZmluZSBEUlZfV0RUX1NldEJpdHMoYWRkcixkYXRhKQorI2RlZmluZSBEUlZfV0RUX1NldERhdGEoYWRkciwgYml0bWFzaywgdmFsdWUpCisjZGVmaW5lIERSVl9XRFRfQ2xlYXJCaXRzMzIoYWRkcixkYXRhKQorI2RlZmluZSBEUlZfV0RUX1NldEJpdHMzMihhZGRyLGRhdGEpCisjZGVmaW5lIERSVl9XRFRfU2V0RGF0YTMyKGFkZHIsIGJpdG1hc2ssIHZhbHVlKQorI2RlZmluZSBEUlZfV0RUX0NsZWFyQml0czgoYWRkcixkYXRhKQorI2RlZmluZSBEUlZfV0RUX1NldEJpdHM4KGFkZHIsZGF0YSkKKyNkZWZpbmUgRFJWX1dEVF9TZXREYXRhOChhZGRyLCBiaXRtYXNrLCB2YWx1ZSkKKworI2VuZGlmIC8vIWRlZmluZWQoRFJWX1dEVF9PRkYpCisjZW5kaWYKKwo=